private void CheExportRDCManConnectionsMenuItem_Click()

in 2LCS/Forms/MainForm.cs [294:359]


        private void CheExportRDCManConnectionsMenuItem_Click(object sender, EventArgs e)
        {
            if (_cheInstancesList == null) return;
            Cursor = Cursors.WaitCursor;
            var sb = new StringBuilder();
            sb.Append(
                @"<?xml version=""1.0"" encoding=""utf-8""?>
<RDCMan schemaVersion=""1"">
    <version>2.2</version>
    <file>
        <properties>
            <name>CHE instances exported with LCS!</name>
            <expanded>True</expanded>
            <comment />
            <logonCredentials inherit=""FromParent"" />
            <connectionSettings inherit=""FromParent"" />
            <gatewaySettings inherit=""FromParent"" />
            <remoteDesktop inherit=""FromParent"" />
            <localResources inherit=""FromParent"" />
            <securitySettings inherit=""FromParent"" />
            <displaySettings inherit=""FromParent"" />
        </properties>");

            foreach (var instance in _cheInstancesList)
            {
                var rdpList = _httpClientHelper.GetRdpConnectionDetails(instance);
                foreach (var rdpEntry in rdpList)
                {
                    sb.Append(
                        $@"
        <server>
            <name>{rdpEntry.Address}:{rdpEntry.Port}</name>
            <displayName>{instance.InstanceId}-{rdpEntry.Machine}</displayName>
            <comment />
            <logonCredentials inherit=""None"">
                <userName>{rdpEntry.Username}</userName>
                <domain>{rdpEntry.Domain}</domain>
                <password storeAsClearText=""True"">{rdpEntry.Password}</password>
            </logonCredentials>
            <connectionSettings inherit=""FromParent"" />
            <gatewaySettings inherit=""FromParent"" />
            <remoteDesktop inherit=""FromParent"" />
            <localResources inherit=""FromParent"" />
            <securitySettings inherit=""FromParent"" />
            <displaySettings inherit=""FromParent"" />
        </server>");
                }
            }
            sb.Append(
                @"
    </file>
</RDCMan>");
            var savefile = new SaveFileDialog
            {
                FileName = "CHE-Exported.rdg",
                Filter = "RDCMan file (*.rdg)|*.rdg|All files (*.*)|*.*",
                DefaultExt = "rdg",
                AddExtension = true
            };
            if (savefile.ShowDialog() == DialogResult.OK)
            {
                using StreamWriter sw = new StreamWriter(savefile.FileName);
                sw.Write(sb);
            }
            Cursor = Cursors.Default;
        }