public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { Dictionary<string, object> paramDict = serializer.Deserialize<Dictionary<string, object>>(reader); ScriptParameterCollection parameters = new ScriptParameterCollection(); foreach (KeyValuePair<string, object> paramKvp in paramDict) { parameters.Add(new ScriptParameter(paramKvp.Key, paramKvp.Value)); } if (!parameters.Any()) return null; return parameters; }
private void ReloadSettings() { SettingsManager settingsManager = SettingsManager.GetInstance( application ); this.mruConnections = settingsManager.MruDbConnectionParameters; this.dbConnectionParameter = settingsManager.CurrentDbConnectionParameter; this.scriptParameters = settingsManager.ScriptParameters; InitObjectSelectionComboBox(); this.reloadSettings = false; if ( dbConnectionParameter != null ) { dbConnectionParameter.GetDatasourceNameValues += new EventHandler<StringLookupGetValuesEventArgs>( DbConnectionParameter_GetDatasourceNameValues ); dbConnectionParameter.GetDatasourceAddressValues += new EventHandler<StringLookupGetValuesEventArgs>( DbConnectionParameter_GetDatasourceAddressValues ); dbConnectionParameter.GetCatalogValues += new EventHandler<StringLookupGetValuesEventArgs>( DbConnectionParameter_GetCatalogValues ); dbConnectionParameter.GetUserIdValues += new EventHandler<StringLookupGetValuesEventArgs>( DbConnectionParameter_GetUserIdValues ); dbConnectionParameter.PropertyChanged += new PropertyChangedEventHandler( DbConnectionParameter_PropertyChanged ); } }
private static BindingList <SelectedObjectComboBoxItem> CreateComboItems(DbConnectionParameter dbConnectionParameter, ScriptParameterCollection scriptParameters) { var result = new BindingList <SelectedObjectComboBoxItem>(); if (dbConnectionParameter != null) { var connectionItem = new DbConnectionComboBoxItem(dbConnectionParameter); result.Add(connectionItem); } if (scriptParameters != null) { foreach (var scriptParameter in scriptParameters) { var parameterItem = new SelectedScriptParameterComboBoxItem(scriptParameter); parameterItem.IsCurrent = scriptParameter.Equals(scriptParameters.Current); result.Add(parameterItem); } } return(result); }