Bespoke.DynamicDnsUpdater.WindowsServiceInstallerCustomActions.CustomActions.SetPassword C# (CSharp) Метод

SetPassword() приватный статический Метод

private static SetPassword ( Microsoft.Deployment.WindowsInstaller.Session session, Configuration config, DynamicDnsUpdaterClientType dnsClientType ) : void
session Microsoft.Deployment.WindowsInstaller.Session
config System.Configuration.Configuration
dnsClientType DynamicDnsUpdaterClientType
Результат void
        private static void SetPassword(Session session, Configuration config, DynamicDnsUpdaterClientType dnsClientType)
        {
            string dnsClientPassword = session.CustomActionData["DNSCLIENTPASSWORD"];
            if (!string.IsNullOrWhiteSpace(dnsClientPassword))
            {
                bool encryptionEnabled = Convert.ToBoolean(config.AppSettings.Settings["EncryptionEnabled"].Value);

                string password = string.Empty;

                if (encryptionEnabled)
                {
                    var encryptionService = new EncryptionService(Convert.FromBase64String(Common.Constants.EncryptionKey),
                                                                  Convert.FromBase64String(Common.Constants.InitializationVector));
                    password = encryptionService.EncryptToBase64String(dnsClientPassword);
                }
                else
                {
                    password = dnsClientPassword;
                }

                switch (dnsClientType)
                {
                    case DynamicDnsUpdaterClientType.DnsOMatic:
                        config.AppSettings.Settings.Remove("DnsOMaticPassword");
                        config.AppSettings.Settings.Add("DnsOMaticPassword", password);
                        break;
                    case DynamicDnsUpdaterClientType.Dnsimple:
                        config.AppSettings.Settings.Remove("DnsimplePassword");
                        config.AppSettings.Settings.Add("DnsimplePassword", password);
                        break;
                    default:
                        break;
                }
            }
        }