// ReSharper disable once InconsistentNaming private void HydrateSettingsFromUI() { if (ConnectionDetail != null) { TxtOutput.AppendText("CRM Authentication Type Detected: " + ConnectionDetail.AuthType + Environment.NewLine); Settings.Domain = GetUserDomain(); Settings.Password = ConnectionDetail.GetUserPassword(); Settings.SupportsActions = ConnectionDetail.OrganizationMajorVersion >= Crm2013; Settings.UseCrmOnline = ConnectionDetail.UseOnline; Settings.UserName = ConnectionDetail.UserName; Settings.Url = ConnectionDetail.GetUrlString(); if (Settings.UseConnectionString && string.IsNullOrWhiteSpace(Settings.Password) && ConnectionDetail.NewAuthType != AuthenticationType.Certificate && ConnectionDetail.NewAuthType != AuthenticationType.ClientSecret && ConnectionDetail.NewAuthType != AuthenticationType.OAuth) { // Fix for https://github.com/daryllabar/DLaB.Xrm.XrmToolBoxTools/issues/43 // Difficulties with Early Bound Generator #43 var askForPassword = new PasswordDialog(this); Settings.Password = askForPassword.ShowDialog(this) == DialogResult.OK ? askForPassword.Password : "******"; } if (ConnectionDetail.AuthType == AuthenticationProviderType.ActiveDirectory && string.IsNullOrWhiteSpace(Settings.UserName)) { Settings.UserName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; } if (string.IsNullOrWhiteSpace(Settings.ConnectionString)) { // Load any non-username/password situations via connection string #268 Settings.ConnectionString = ConnectionDetail.GetNonUserConnectionString(); if (!string.IsNullOrWhiteSpace(Settings.ConnectionString)) { Settings.UseConnectionString = true; } } } SettingsMap.PushChanges(); Settings.RootPath = Path.GetDirectoryName(Path.GetFullPath(TxtSettingsPath.Text)); if (SettingsMap.UseDeprecatedOptionSetNaming) { Settings.SetExtensionArgument(CreationType.OptionSets, CrmSrvUtilService.CodeWriterFilter, @"DLaB.CrmSvcUtilExtensions.OptionSet.CodeWriterFilterService,DLaB.CrmSvcUtilExtensions"); Settings.SetExtensionArgument(CreationType.OptionSets, CrmSrvUtilService.NamingService, string.Empty); } else { var defaultConfig = EarlyBoundGeneratorConfig.GetDefault(); defaultConfig.CrmSvcUtilRelativeRootPath = Paths.PluginsPath; Settings.SetExtensionArgument(CreationType.OptionSets, CrmSrvUtilService.CodeWriterFilter, defaultConfig.GetExtensionArgument(CreationType.OptionSets, CrmSrvUtilService.CodeWriterFilter).Value); Settings.SetExtensionArgument(CreationType.OptionSets, CrmSrvUtilService.NamingService, defaultConfig.GetExtensionArgument(CreationType.OptionSets, CrmSrvUtilService.NamingService).Value); } }