Пример #1
0
 private void Tags_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     mSolTags.ClearAll();
     foreach (GherkinTag tag in mTags)
     {
         Guid guid = GetTagInSolution(tag.Name);
         if (guid != Guid.Empty)
         {
             mSolTags.Add(guid);
         }
     }
     ARP.xActivitiesRepositoryGrid.Tags = mSolTags;
     SharedActivitiesFrame.Content      = ARP;
 }
Пример #2
0
        private void SetUIAfterAnalyzerCompleted()
        {
            try {
                Dispatcher.Invoke(() =>
                {
                    StatusLabel.Visibility = Visibility.Collapsed;
                });

                if (mIssues.Count > 0)
                {
                    //sort- placing Critical & High on top

                    Dispatcher.Invoke(() =>
                    {
                        ObservableList <AnalyzerItemBase> SortedList = new ObservableList <AnalyzerItemBase>();

                        foreach (AnalyzerItemBase issue in mIssues.OrderBy(nameof(AnalyzerItemBase.Severity)))
                        {
                            SortedList.Add(issue);
                        }
                        mIssues.ClearAll();
                        mIssues = SortedList;
                        AnalyzerItemsGrid.DataSourceList    = mIssues;
                        AnalyzerItemsGrid.Grid.SelectedItem = mIssues[0];
                    });
                }
            }
            catch (Exception ex)
            {
                Reporter.ToLog(eLogLevel.ERROR, $"Method - {MethodBase.GetCurrentMethod().Name}, Error - {ex.Message}");
            }
        }
Пример #3
0
        public void RefreshALMItemFields(ObservableList <ExternalItemFieldBase> exitingFields, bool online, BackgroundWorker bw = null)
        {
            ObservableList <ExternalItemFieldBase> mergedFields = new ObservableList <ExternalItemFieldBase>();

            if (ALMIntegration.Instance.AutoALMProjectConnect())
            {
                //Get latestALMFields from ALMCore with Online flag
                ObservableList <ExternalItemFieldBase> latestALMFields = AlmCore.GetALMItemFields(bw, online);

                foreach (ExternalItemFieldBase latestField in latestALMFields)
                {
                    ExternalItemFieldBase currentField = exitingFields.Where(x => x.ID == latestField.ID && x.ItemType == latestField.ItemType).FirstOrDefault();
                    if (currentField != null)
                    {
                        currentField.Name           = latestField.Name;
                        currentField.ItemType       = latestField.ItemType;
                        currentField.Mandatory      = latestField.Mandatory;
                        currentField.ExternalID     = latestField.ExternalID;
                        currentField.PossibleValues = latestField.PossibleValues;
                        currentField.ToUpdate       = false;
                        if (string.IsNullOrEmpty(currentField.SelectedValue) == false)
                        {
                            if ((latestField.PossibleValues.Count == 0 && currentField.SelectedValue != latestField.SelectedValue) || (latestField.PossibleValues.Count > 0 && latestField.PossibleValues.Contains(currentField.SelectedValue) && currentField.SelectedValue != latestField.PossibleValues[0]))
                            {
                                currentField.ToUpdate = true;
                            }
                            else
                            {
                                currentField.SelectedValue = latestField.SelectedValue;
                                currentField.ToUpdate      = false;
                            }
                        }
                        else
                        {
                            currentField.SelectedValue = latestField.SelectedValue;
                            currentField.ToUpdate      = false;
                        }
                        mergedFields.Add(currentField);
                    }
                    else
                    {
                        mergedFields.Add(latestField);
                    }
                }

                exitingFields.ClearAll();
                exitingFields.Append(mergedFields);
            }
        }
Пример #4
0
        public ObservableList <ExternalItemFieldBase> RefreshALMItemFields(ObservableList <ExternalItemFieldBase> exitingFields, ObservableList <ExternalItemFieldBase> latestALMFields)
        {
            ObservableList <ExternalItemFieldBase> mergedFields = new ObservableList <ExternalItemFieldBase>();

            foreach (ExternalItemFieldBase latestField in latestALMFields)
            {
                ExternalItemFieldBase currentField = exitingFields.Where(x => x.ID == latestField.ID && x.ItemType == latestField.ItemType).FirstOrDefault();
                if (currentField != null)
                {
                    currentField.Name           = latestField.Name;
                    currentField.ItemType       = latestField.ItemType;
                    currentField.Mandatory      = latestField.Mandatory;
                    currentField.ExternalID     = latestField.ExternalID;
                    currentField.PossibleValues = latestField.PossibleValues;
                    currentField.ToUpdate       = false;
                    if (string.IsNullOrEmpty(currentField.SelectedValue) == false)
                    {
                        if ((latestField.PossibleValues.Count == 0 && currentField.SelectedValue != latestField.SelectedValue) || (latestField.PossibleValues.Count > 0 && latestField.PossibleValues.Contains(currentField.SelectedValue) && currentField.SelectedValue != latestField.PossibleValues[0]))
                        {
                            currentField.ToUpdate = true;
                        }
                        else
                        {
                            currentField.SelectedValue = latestField.SelectedValue;
                            currentField.ToUpdate      = false;
                        }
                    }
                    else
                    {
                        currentField.SelectedValue = latestField.SelectedValue;
                        currentField.ToUpdate      = false;
                    }
                    mergedFields.Add(currentField);
                }
                else
                {
                    mergedFields.Add(latestField);
                }
            }
            exitingFields.ClearAll();
            exitingFields.Append(mergedFields);

            return(mergedFields);
        }
Пример #5
0
        private void DeleteParams(bool ClearAllParams)
        {
            MessageBoxResult messageResult = System.Windows.MessageBoxResult.No;

            if (mApplicationModel is ApplicationAPIModel && (((ApplicationAPIModel)mApplicationModel).ContentType == ApplicationAPIUtils.eContentType.XML || ((ApplicationAPIModel)mApplicationModel).ContentType == ApplicationAPIUtils.eContentType.JSon))
            {
                messageResult = Reporter.ToUser(eUserMsgKeys.DeleteNodesFromRequest);
            }

            if (messageResult == System.Windows.MessageBoxResult.Yes)
            {
                if (ClearAllParams)
                {
                    SyncParamsPendingDeleteWithBodyNodes(new List <AppModelParameter>(ParamsList));
                }
                else
                {
                    SyncParamsPendingDeleteWithBodyNodes(new List <AppModelParameter>(ModelParametersGrid.Grid.SelectedItems.Cast <AppModelParameter>().ToList()));
                }
            }
            else if (messageResult == System.Windows.MessageBoxResult.No)
            {
                if (ModelParametersGrid.Grid.Items.Count == 0)
                {
                    Reporter.ToUser(eUserMsgKeys.NoItemToDelete);
                    return;
                }

                if (ClearAllParams && (Reporter.ToUser(eUserMsgKeys.SureWantToDeleteAll)) == MessageBoxResult.Yes)
                {
                    ModelParametersGrid.DataSourceList.SaveUndoData();
                    ParamsList.ClearAll();
                }
                else
                {
                    ModelParametersGrid.DataSourceList.SaveUndoData();
                    List <object> SelectedItemsList = ModelParametersGrid.Grid.SelectedItems.Cast <object>().ToList();
                    foreach (object o in SelectedItemsList)
                    {
                        ModelParametersGrid.DataSourceList.Remove(o);
                    }
                }
            }
        }
 public void RefreshBodyParamsPreview()
 {
     if (!string.IsNullOrEmpty(RequestBodyJson))
     {
         RequestBodyParams.ClearAll();
         try
         {
             Dictionary <string, string> keyValuePairs = JsonConvert.DeserializeObject <Dictionary <string, string> >(RequestBodyJson);
             foreach (KeyValuePair <string, string> actInput in keyValuePairs)
             {
                 ActInputValue actInputValue = new ActInputValue();
                 actInputValue.Param = actInput.Key;
                 actInputValue.Value = actInput.Value;
                 RequestBodyParams.Add(actInputValue);
             }
         }
         catch (Exception ex)
         {
             Reporter.ToLog(eLogLevel.ERROR, "Failed to convert JSON to List View Params", ex);
         }
     }
 }
Пример #7
0
        public bool Optimize()
        {
            Mouse.OverrideCursor = System.Windows.Input.Cursors.Wait;

            mErrorsList.ClearAll();
            ShowErros(false);

            ColorIndex = 0;

            mGherkinScenarioDefinition.ClearAll();
            mGherkinSteps.ClearAll();
            mTags.ClearAll();

            mOptimizedSteps.ClearAll();
            OptimizedStepsGrid.DataSourceList = mOptimizedSteps;

            var parser = new Parser();

            try
            {
                string     txt             = GherkinTextEditor.GetText();
                TextReader sr              = new StringReader(txt);
                var        gherkinDocument = parser.Parse(sr);

                if (gherkinDocument.Feature == null || gherkinDocument.Feature.Children == null)
                {
                    Mouse.OverrideCursor = null;
                    return(false);
                }


                foreach (ScenarioDefinition SD in gherkinDocument.Feature.Children)
                {
                    mGherkinScenarioDefinition.Add(new GherkinScenarioDefinition(SD));
                }


                FeatureName = System.IO.Path.GetFileName(GherkinTextEditor.FileName).Replace(".feature", "");
                foreach (var c in gherkinDocument.Comments)
                {
                    WriteTXT("Comments:" + c.Text);
                }

                foreach (Tag t in gherkinDocument.Feature.Tags)
                {
                    mTags.Add(new GherkinTag(t));
                }

                mSolTags.ClearAll();
                foreach (GherkinTag tag in mTags)
                {
                    Guid guid = GetTagInSolution(tag.Name.Substring(1));
                    if (guid != Guid.Empty && !mSolTags.Contains(guid))
                    {
                        mSolTags.Add(guid);
                    }
                }
                foreach (var c in gherkinDocument.Feature.Children)
                {
                    if (c.Keyword == "Scenario" || c.Keyword == "Scenario Outline")
                    {
                        WriteTXT("Keyword:" + c.Keyword);
                        WriteTXT("Name:" + c.Name);

                        if (c is Scenario)
                        {
                            foreach (Tag t in ((Gherkin.Ast.Scenario)c).Tags)
                            {
                                mTags.Add(new GherkinTag(t));
                                Guid guid = GetTagInSolution(t.Name.Substring(1));
                                if (guid != Guid.Empty && !mSolTags.Contains(guid))
                                {
                                    mSolTags.Add(guid);
                                }
                            }
                        }

                        if (c is ScenarioOutline)
                        {
                            foreach (Tag t in ((Gherkin.Ast.ScenarioOutline)c).Tags)
                            {
                                mTags.Add(new GherkinTag(t));
                                Guid guid = GetTagInSolution(t.Name.Substring(1));
                                if (guid != Guid.Empty && !mSolTags.Contains(guid))
                                {
                                    mSolTags.Add(guid);
                                }
                            }
                        }
                    }
                }
                foreach (var c in gherkinDocument.Feature.Children)
                {
                    if (c.Keyword == "Scenario" || c.Keyword == "Scenario Outline")
                    {
                        foreach (var step in c.Steps)
                        {
                            WriteTXT("Keyword:" + step.Keyword);
                            WriteTXT("Text:" + step.Text);

                            GherkinStep GS = new GherkinStep();
                            GS.Text = step.Text;
                            GS.Step = step;
                            mGherkinSteps.Add(GS);

                            String GherkingActivityName = GherkinGeneral.GetActivityGherkinName(step.Text);

                            GherkinStep OptimizedStep = SearchStepInOptimizedSteps(GherkingActivityName);
                            if (OptimizedStep == null)
                            {
                                GherkinStep NewOptimizedStep = new GherkinStep();
                                NewOptimizedStep.Text       = GherkingActivityName;
                                NewOptimizedStep.Counter    = 1;
                                NewOptimizedStep.ColorIndex = ColorIndex;
                                ColorIndex++;
                                NewOptimizedStep.AutomationStatus = GetStepAutomationStatus(GherkingActivityName);
                                GS.AutomationStatus = NewOptimizedStep.AutomationStatus;
                                mOptimizedSteps.Add(NewOptimizedStep);
                            }
                            else
                            {
                                OptimizedStep.Counter++;
                                GS.ColorIndex       = OptimizedStep.ColorIndex;
                                GS.AutomationStatus = OptimizedStep.AutomationStatus;
                            }
                        }
                    }
                }

                // Warnings - TODO check other possible warnings
                // Check Dups Scenario names
                var query = mGherkinScenarioDefinition.GroupBy(x => x.Name)
                            .Where(g => g.Count() > 1)
                            .Select(y => y.Key)
                            .ToList();
                foreach (var v in query)
                {
                    IEnumerable <GherkinScenarioDefinition> SCS = from x in mGherkinScenarioDefinition where x.Name == v select x;
                    foreach (GherkinScenarioDefinition sc in SCS)
                    {
                        GherkinParserException PE = new GherkinParserException(sc.ScenarioDefintion.Location.Line, sc.ScenarioDefintion.Location.Column, "Duplicate Scenario Name: " + sc.Name);
                        mErrorsList.Add(PE);
                    }
                }
            }
            catch (CompositeParserException ex)
            {
                // we show the errors in the grid + mark in the textEditor
                GherkinTextEditor.BackgroundRenderer.Segments.Clear();
                foreach (ParserException PE in ex.Errors)
                {
                    mErrorsList.Add(new GherkinParserException(PE));
                    if (PE.Location.Line > GherkinTextEditor.textEditor.Document.LineCount)
                    {
                        continue;
                    }
                    var line = GherkinTextEditor.textEditor.Document.GetLineByNumber(PE.Location.Line);
                    GherkinTextEditor.BackgroundRenderer.Segments.Add(line);
                }
            }

            if (mErrorsList.Count > 0)
            {
                ShowErros(true);
                GherkinTextEditor.Focus();
            }
            else
            {
                GherkinTextEditor.BackgroundRenderer.Segments.Clear();
            }


            ARP.xActivitiesRepositoryGrid.Tags = mSolTags;
            SharedActivitiesFrame.Content      = ARP;

            foreach (GherkinStep gStep in mOptimizedSteps)
            {
            }

            OptimizedStepsGrid.DataSourceList = mOptimizedSteps;
            Mouse.OverrideCursor = null;
            List <GherkinParserException> Errors = mErrorsList.Where(x => x.ErrorType == GherkinParserException.eErrorType.Error).ToList();
            bool result = mOptimizedSteps.Count > 0 && Errors.Count == 0;

            return(result);
        }