/// <summary> /// The save config. /// </summary> /// <param name="parameters"> /// The parameters. /// </param> public void SaveConfig(object parameters) { if (DataType != null) { ApplicationServiceDataType applicationServiceDataType = null; if (!this.IsDefault && SelectedApplicationService != null) { applicationServiceDataType = UpdateDataTypeSpecific(); SelectedApplicationService = applicationServiceDataType.ApplicationServiceData.FirstOrDefault(o => o.Id == SelectedApplicationService.Id); UpdateApplicationService(); } else { applicationServiceDataType = UpdateDataTypeSpecific(); } IDictionary <string, string> parameterDictionary = parameters as IDictionary <string, string>; DataType.Save(parameterDictionary); } }
/// <summary> /// The load config. /// </summary> /// <param name="parameters"> /// The parameters. /// </param> public void LoadConfig(object parameters) { if (this.DataType == null) { return; } this.Loaded = true; IDictionary <string, string> parameterDictionary = parameters as IDictionary <string, string>; this.DataType?.Load(parameterDictionary); this.applicationServiceData = new ApplicationServiceDataType(); this.applicationServiceData.DomainDefinition = this.DataSource; this.applicationServiceData.Load(parameterDictionary); (this.DataType as WebApiServiceDataType).ApplicationServiceDataType = this.applicationServiceData; if (parameterDictionary.ContainsKey("basePath")) { this.SavePath = parameterDictionary["basePath"]; } if (parameterDictionary.ContainsKey("name")) { this.SelectedWebApi = (this.DataType as WebApiServiceDataType).WebApiDataList.FirstOrDefault( o => o.Id.ToString() == parameterDictionary["name"]); } this.TreeviewContextModels.Visible = this.SelectedWebApi != null; this.gbAdditionalNamespaces.Visible = this.SelectedWebApi == null; if (this.SelectedWebApi == null) { this.SetupDefault(); } else { this.IsDefault = false; } if (this.IsDefault) { this.btnNew.Text = "Add"; this.btnNew.Tag = "Add"; } else { this.btnNew.Text = "Delete"; this.btnNew.Tag = "Delete"; } this.UpdateUI(); if (this.DataType.Validate().Count > 0) { StringBuilder sb = new StringBuilder(); var contextDataType = this.DataType as WebApiServiceDataType; bool removed = false; foreach (var error in contextDataType.MissingApplicationList) { DialogResult result = MessageBox.Show( $"Delete missing Application Service {error.ApplicationServiceName} from the WebApi {error.ApplicationServiceData.ApplicationServiceName}", "Missing Table", MessageBoxButtons.YesNo, MessageBoxIcon.Error); if (result == DialogResult.Yes) { var model = error.ApplicationServiceData.Models.FirstOrDefault( m => m.TableName == error.ApplicationServiceName); error.ApplicationServiceData.Models.Remove(model); removed = true; } } if (removed) { this.SaveConfig(parameterDictionary); } foreach (Validation validation in this.DataType.ValidationResult) { if (validation.ValidationType != ValidationType.ContextMissingModels) { sb.AppendLine(validation.Description); } } if (sb.Length > 0) { MessageBox.Show(sb.ToString(), "Invalid Context", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }