/// <summary> /// Update all parameters optional values according to xml file /// </summary> /// <param name="AAM"></param> /// <param name="OptionalValuesPerParameterDict"></param> public void PopulateXMLOptionalValuesForAPIParameters(ApplicationModelBase AAM, Dictionary <Tuple <string, string>, List <string> > OptionalValuesPerParameterDict) { foreach (AppModelParameter AMP in AAM.AppModelParameters) { string result = Regex.Match(AMP.Path, @"(.)*soapenv:Body\[1\]\/([a-zA-Z]|\d)*:").Value; if (string.IsNullOrEmpty(result)) { result = Regex.Match(AMP.Path, @"(.)*soapenv:Body\[1\]\/").Value; } string VAXBXPath = string.Empty; if (!string.IsNullOrEmpty(result)) { VAXBXPath = AMP.Path.Replace(result, "//*[name()='vaxb:VAXB']/vaxb:"); } Tuple <string, string> tuple = new Tuple <string, string>(AMP.TagName, AMP.Path); Tuple <string, string> relativePathTuple = new Tuple <string, string>(AMP.TagName, VAXBXPath); if (OptionalValuesPerParameterDict.ContainsKey(tuple)) { PopulateOptionalValuesByTuple(AMP, OptionalValuesPerParameterDict, tuple); } if (OptionalValuesPerParameterDict.ContainsKey(relativePathTuple)) { PopulateOptionalValuesByTuple(AMP, OptionalValuesPerParameterDict, relativePathTuple); } } }
/// <summary> /// Update optional values only for selected parameters according to xml file /// </summary> /// <param name="AAM"></param> /// <param name="OptionalValuesPerParameterDict"></param> /// <param name="SelectedParametersGridList"></param> public void PopulateXMLOptionalValuesForAPIParameters(ApplicationModelBase AAM, Dictionary <Tuple <string, string>, List <string> > OptionalValuesPerParameterDict, List <AppModelParameter> SelectedParametersGridList) { foreach (var tuple in SelectedParametersGridList.Zip(AAM.AppModelParameters, (x, y) => (x, y))) { if (tuple.x.RequiredAsInput)//selected { string result = Regex.Match(tuple.y.Path, @"(.)*soapenv:Body\[1\]\/([a-zA-Z]|\d)*:").Value; if (string.IsNullOrEmpty(result)) { result = Regex.Match(tuple.y.Path, @"(.)*soapenv:Body\[1\]\/").Value; } string VAXBXPath = string.Empty; if (!string.IsNullOrEmpty(result)) { VAXBXPath = tuple.y.Path.Replace(result, "//*[name()='vaxb:VAXB']/vaxb:"); } Tuple <string, string> tupleKey = new Tuple <string, string>(tuple.y.TagName, tuple.y.Path); Tuple <string, string> relativePathTuple = new Tuple <string, string>(tuple.y.TagName, VAXBXPath); if (OptionalValuesPerParameterDict.ContainsKey(tupleKey)) { PopulateOptionalValuesByTuple(tuple.y, OptionalValuesPerParameterDict, tupleKey); } if (OptionalValuesPerParameterDict.ContainsKey(relativePathTuple)) { PopulateOptionalValuesByTuple(tuple.y, OptionalValuesPerParameterDict, relativePathTuple); } } } }
private List <FindItemType> GetApplicationModels() { ObservableList <ApplicationModelBase> ApplicationModels = new ObservableList <ApplicationModelBase>(); List <FindItemType> APMsSubItemList = new List <FindItemType>(); AppDomain.CurrentDomain.Load("GingerCoreCommon"); var ApplicationModelTypes = // from assembly in AppDomain.CurrentDomain.GetAssemblies() from type in typeof(ApplicationModelBase).Assembly.GetTypes() where type.IsSubclassOf(typeof(ApplicationModelBase)) select type; foreach (Type t in ApplicationModelTypes) { ApplicationModelBase a = (ApplicationModelBase)Activator.CreateInstance(t); ApplicationModels.Add(a); } foreach (ApplicationModelBase a in ApplicationModels) { if (!string.IsNullOrEmpty(a.ObjFolderName)) { APMsSubItemList.Add(new FindItemType { Name = a.ObjFolderName, Type = a.GetType() }); } } return(APMsSubItemList); }
public AddModelOptionalValuesWizard(ApplicationModelBase AAMB)//Local Parameters { mAAMB = AAMB; ImportOptionalValues.ParameterType = ImportOptionalValuesForParameters.eParameterType.Local; AddPage(Name: "Select Document", Title: "Import Source", SubTitle: "Select And Import Source For Optional Values", Page: new AddOptionalValuesModelSelectTypePage(eOptionalValuesTargetType.ModelLocalParams)); AddPage(Name: "Select Parameters", Title: "Select Parameters", SubTitle: "Select Parameters For The Chosen Values", Page: new AddOptionalValuesModelSelectParamPage(eOptionalValuesTargetType.ModelLocalParams)); }
private void viewApplicationModel(ApplicationModelBase applicationModelToView) { if (applicationModelToView is ApplicationAPIModel) { ApplicationAPIModel applicationAPIModel = applicationModelToView as ApplicationAPIModel; APIModelPage w = new APIModelPage(applicationAPIModel); w.ShowAsWindow(eWindowShowStyle.Free, true, APIModelPage.eEditMode.FindAndReplace); } }
public ModelItemUsagePage(ApplicationModelBase modelItem, ApplicationModelBase.eModelUsageUpdateType usageUpdateType, ApplicationModelBase.eModelParts modelPart) { InitializeComponent(); mModelItem = modelItem; mUsageUpdateType = usageUpdateType; mModelPart = modelPart; FindUsages(); usageGrid.DataSourceList = ModelItemUsages; SetUsagesGridView(); }
public ModelParamsPage(ApplicationModelBase AAMB) { InitializeComponent(); mApplicationModel = AAMB; ParamsList = AAMB.AppModelParameters; APIGlobalParamList = AAMB.GlobalAppModelParameters; InitModelParametersGrid(); InitGlobalModelParametersGrid(); mApplicationModel.AppModelParameters.CollectionChanged += LocalParameters_CollectionChanged; UpdateLocalParametersGridHeader(); mApplicationModel.GlobalAppModelParameters.CollectionChanged += GloablParameters_CollectionChanged; UpdateGlobalParametersGridHeader(); }
private static void DeleteOldReturnValuesInAction(Act act, ApplicationModelBase apiModel) { for (int index = 0; index < act.ReturnValues.Count; index++) { if (act.ReturnValues[index].AddedAutomatically == true) { ActReturnValue apiARV = apiModel.ReturnValues.Where(x => x.Guid == act.ReturnValues[index].Guid).FirstOrDefault(); if (apiARV == null) //Output value deleted from API - delete it also from action { act.ReturnValues.RemoveAt(index); index--; } } } }
/// <summary> /// Apply Ws-Security Header /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ReplaceWSSecurityHeader_Click(object sender, RoutedEventArgs e) { string txtBoxBodyContent = RequestBodyTextBox.Text; List <string> SoapSecurityContent = ApplicationModelBase.GetSoapSecurityHeaderContent(ref txtBoxBodyContent); string wsSecuritySettings = SoapSecurityContent.ElementAt(0); RequestBodyTextBox.Text = txtBoxBodyContent; ActInputValue user = new ActInputValue(); if (string.IsNullOrEmpty(txtBoxBodyContent)) { return; } SetCredentialPlaceHolders(SoapSecurityContent); }
private static void UpdateAllReturnValuesInAction(Act act, ApplicationModelBase apiModel, ModelItemUsage usage) { ActReturnValue.eItemParts ePartToUpdate = (ActReturnValue.eItemParts)Enum.Parse(typeof(ActReturnValue.eItemParts), usage.SelectedItemPart); foreach (ActReturnValue apiARV in apiModel.ReturnValues) { ActReturnValue actARV = act.ActReturnValues.Where(x => x.Guid == apiARV.Guid).FirstOrDefault(); if (actARV != null) //Exist already in the action - Update it { actARV.Active = apiARV.Active; actARV.Status = ActReturnValue.eStatus.Pending; if (ePartToUpdate == ActReturnValue.eItemParts.ExpectedValue || ePartToUpdate == ActReturnValue.eItemParts.All) { actARV.Expected = apiARV.Expected; } if (ePartToUpdate == ActReturnValue.eItemParts.Parameter || ePartToUpdate == ActReturnValue.eItemParts.All) { actARV.ItemName = apiARV.ItemName; } if (ePartToUpdate == ActReturnValue.eItemParts.Path || ePartToUpdate == ActReturnValue.eItemParts.All) { actARV.Path = apiARV.Path; } if (ePartToUpdate == ActReturnValue.eItemParts.SimulatedActual || ePartToUpdate == ActReturnValue.eItemParts.All) { actARV.SimulatedActual = apiARV.SimulatedActual; } if (ePartToUpdate == ActReturnValue.eItemParts.StoreTo || ePartToUpdate == ActReturnValue.eItemParts.All) { if (!string.IsNullOrEmpty(apiARV.StoreToValue)) { actARV.StoreTo = ActReturnValue.eStoreTo.ApplicationModelParameter; actARV.StoreToValue = apiARV.StoreToValue; } } usage.Status = ModelItemUsage.eStatus.Updated; } else //Not exist in the action - add it { if (!string.IsNullOrEmpty(apiARV.StoreToValue)) { apiARV.StoreTo = ActReturnValue.eStoreTo.ApplicationModelParameter; } AddNewActReturnValue(act, apiARV); } } }
public ModelParamsPage(ApplicationModelBase AAMB, Ginger.General.eRIPageViewMode viewMode = Ginger.General.eRIPageViewMode.Standalone) { InitializeComponent(); mApplicationModel = AAMB; ParamsList = AAMB.AppModelParameters; APIGlobalParamList = AAMB.GlobalAppModelParameters; mPageViewMode = viewMode; InitModelParametersGrid(); InitGlobalModelParametersGrid(); mApplicationModel.AppModelParameters.CollectionChanged += LocalParameters_CollectionChanged; UpdateLocalParametersGridHeader(); mApplicationModel.GlobalAppModelParameters.CollectionChanged += GloablParameters_CollectionChanged; UpdateGlobalParametersGridHeader(); }
private void ViewApplicationModel(FoundItem applicationModelToViewFoundItem) { ApplicationModelBase applicationModelToView = (ApplicationModelBase)mCurrentItem.OriginObject; if (applicationModelToView is ApplicationAPIModel) { ApplicationAPIModel applicationAPIModel = applicationModelToView as ApplicationAPIModel; APIModelPage w = new APIModelPage(applicationAPIModel); if (mContext == eContext.RunsetPage) { w.ShowAsWindow(eWindowShowStyle.Free, true, APIModelPage.eEditMode.View); } else { w.ShowAsWindow(eWindowShowStyle.Free, true, APIModelPage.eEditMode.FindAndReplace); } } }
/// <summary> /// Update all parameters optional values according to json file /// </summary> /// <param name="AAM"></param> /// <param name="OptionalValuesPerParameterDict"></param> public void PopulateJSONOptionalValuesForAPIParameters(ApplicationModelBase AAM, Dictionary <Tuple <string, string>, List <string> > OptionalValuesPerParameterDict) { int UpdatedParametersCounter = 0; foreach (AppModelParameter AMP in AAM.AppModelParameters) { string result = AMP.Path; Tuple <string, string> tuple = new Tuple <string, string>(AMP.TagName, AMP.Path); if (OptionalValuesPerParameterDict.ContainsKey(tuple)) { PopulateOptionalValuesByTuple(AMP, OptionalValuesPerParameterDict, tuple); if (APIConfigurationsDocumentParserBase.ParameterValuesUpdated) { UpdatedParametersCounter++; APIConfigurationsDocumentParserBase.ParameterValuesUpdated = false; } } } }
/// <summary> /// Update optional values only for selected parameter according to json file /// </summary> /// <param name="AAM"></param> /// <param name="OptionalValuesPerParameterDict"></param> /// <param name="SelectedParametersGridList"></param> public void PopulateJSONOptionalValuesForAPIParameters(ApplicationModelBase AAM, Dictionary <Tuple <string, string>, List <string> > OptionalValuesPerParameterDict, List <AppModelParameter> SelectedParametersGridList) { int UpdatedParametersCounter = 0; foreach (var tuple in SelectedParametersGridList.Zip(AAM.AppModelParameters, (x, y) => (x, y))) { if (tuple.x.RequiredAsInput)//selected { Tuple <string, string> tupleKey = new Tuple <string, string>(tuple.y.TagName, tuple.y.Path); if (OptionalValuesPerParameterDict.ContainsKey(tupleKey)) { PopulateOptionalValuesByTuple(tuple.y, OptionalValuesPerParameterDict, tupleKey); if (APIConfigurationsDocumentParserBase.ParameterValuesUpdated) { UpdatedParametersCounter++; APIConfigurationsDocumentParserBase.ParameterValuesUpdated = false; } } } } }
public void RefreshGlobalAppModelParams(ApplicationModelBase AppModel) { ObservableList <GlobalAppModelParameter> allGlobalParams = WorkSpace.Instance.SolutionRepository.GetAllRepositoryItems <GlobalAppModelParameter>(); for (int i = 0; i < AppModel.GlobalAppModelParameters.Count; i++) { GlobalAppModelParameter apiGlobalParamInstance = AppModel.GlobalAppModelParameters[i]; GlobalAppModelParameter globalParamInstance = allGlobalParams.Where(x => x.Guid == apiGlobalParamInstance.Guid).FirstOrDefault(); //If the param still exist in the global list if (globalParamInstance != null) { //Check for change and update in Configurations tab if (!globalParamInstance.PlaceHolder.Equals(apiGlobalParamInstance.PlaceHolder)) { AppModel.UpdateParamsPlaceholder(this, new List <string> { apiGlobalParamInstance.PlaceHolder }, globalParamInstance.PlaceHolder); apiGlobalParamInstance.PlaceHolder = globalParamInstance.PlaceHolder; } apiGlobalParamInstance.CurrentValue = globalParamInstance.CurrentValue; if (globalParamInstance.OptionalValuesList.Count > 0) { bool recoverSavedOV = false; Guid currentDefaultOVGuid = new Guid(); //Save current default if (apiGlobalParamInstance.OptionalValuesList.Count > 0) { currentDefaultOVGuid = apiGlobalParamInstance.OptionalValuesList.Where(x => x.IsDefault == true).FirstOrDefault().Guid; recoverSavedOV = true; } string newDefaultOV = null; apiGlobalParamInstance.OptionalValuesList.ClearAll(); foreach (OptionalValue ov in globalParamInstance.OptionalValuesList) { OptionalValue newOV = new OptionalValue(); newOV.Guid = ov.Guid; newOV.Value = ov.Value; if (ov.IsDefault) { newDefaultOV = ov.Guid.ToString(); } apiGlobalParamInstance.OptionalValuesList.Add(newOV); } if (recoverSavedOV) { OptionalValue savedOV = apiGlobalParamInstance.OptionalValuesList.Where(x => x.Guid == currentDefaultOVGuid).FirstOrDefault(); if (savedOV != null) { savedOV.IsDefault = true; } else { apiGlobalParamInstance.OptionalValuesList.Where(x => x.Guid.ToString() == newDefaultOV).FirstOrDefault().IsDefault = true; } } else { apiGlobalParamInstance.OptionalValuesList.Where(x => x.Guid.ToString() == newDefaultOV).FirstOrDefault().IsDefault = true; } apiGlobalParamInstance.OnPropertyChanged(nameof(AppModelParameter.OptionalValuesString)); } else { apiGlobalParamInstance.OptionalValuesList.ClearAll(); } apiGlobalParamInstance.OnPropertyChanged(nameof(AppModelParameter.PlaceHolder)); } else { AppModel.GlobalAppModelParameters.Remove(apiGlobalParamInstance); i--; } } }