public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { TestStepViewModel step = value as TestStepViewModel; string label = step.StepID + "."; if (step.ControlActionChanged || step.ExpectedResultChanged || step.StationChanged) { label += " (Edited)"; } if (step.ResultChanged) { if (step.Result) { label += " (Passed)"; } else { label += " (Failed)"; } } return(label); }
public CommentDialogViewModel(TestStepViewModel testStep, bool severityNeeded) { SeverityNeeded = severityNeeded; if (severityNeeded) { _comment = testStep.ResultComment; _severity = testStep.Severity; } else { _comment = testStep.Comment; } severities = new ObservableCollection <string>() { "Mild", "Medium", "Critical" }; SubmitCommand = new RelayCommand(p => CloseRequested?.Invoke(this, new DialogCloseRequestedEventArgs(true))); CancelCommand = new RelayCommand(p => CloseRequested?.Invoke(this, new DialogCloseRequestedEventArgs(false))); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { TestStepViewModel step = value as TestStepViewModel; if (step.ControlActionChanged || step.ExpectedResultChanged || step.StationChanged) { return(new SolidColorBrush(Colors.Yellow)); } else if (step.ResultChanged) { if (step.Result) { return(new SolidColorBrush(Colors.Green)); } else { return(new SolidColorBrush(Colors.Red)); } } else { return(new SolidColorBrush(Colors.Transparent)); } }
private void addEventHandlerToStep(TestStepViewModel newStep) { newStep.SelectedItemUpdated += StepSelectedChanged; newStep.PropertyChanged += StepSelectedValueChanged; }
/// <summary> /// Adds event listeners to the test step /// </summary> /// <param name="newStep">test step to add event handler to</param> private void loadXML(XmlDocument xmlDocument) { XmlNode root = xmlDocument.SelectSingleNode("Test_Procedure"); XmlNode heading = root.SelectSingleNode("Procedure_Heading"); this.Name = heading.SelectSingleNode("Name").InnerText; _date = String.IsNullOrEmpty(heading.SelectSingleNode("Date").InnerText) ? DateTime.Now.Date.ToString("MM/dd/yyyy") : heading.SelectSingleNode("Start_Time").InnerText; this.SoftwareLoadVersion = heading.SelectSingleNode("Software_Load_Version").InnerText; this.ProgramPhase = heading.SelectSingleNode("Program_Phase").InnerText; this.ProgramType = heading.SelectSingleNode("Program_Type").InnerText; this.Classification = heading.SelectSingleNode("Classification").InnerText; _timeStarted = String.IsNullOrEmpty(heading.SelectSingleNode("Start_Time").InnerText) ? DateTime.Now.ToString("HH:mm") : heading.SelectSingleNode("Start_Time").InnerText; var sectionsList = root.SelectNodes("Sections/Section"); foreach (XmlNode sectionNode in sectionsList) { SectionsViewModel newSection = new SectionsViewModel(Int32.Parse(sectionNode.Attributes.GetNamedItem("id").Value), sectionNode.SelectSingleNode("Heading").InnerText); newSection.Description = sectionNode.SelectSingleNode("Description").InnerText; var steps = new ObservableCollection <TestStepViewModel>(); var testStepsList = sectionNode.SelectNodes("Test_Step"); foreach (XmlNode testStepNode in testStepsList) { int stepID = Int32.Parse(testStepNode.Attributes.GetNamedItem("id").Value); string station = testStepNode.SelectSingleNode("Station").InnerText; string controlAction = testStepNode.SelectSingleNode("Control_Action").InnerText; string expectedResult = testStepNode.SelectSingleNode("Expected_Result").InnerText; TestStepViewModel newStep = new TestStepViewModel(stepID, station, controlAction, expectedResult); XmlNode result = testStepNode.SelectSingleNode("Result"); if (result.Attributes.GetNamedItem("result").Value != "") { newStep.Result = bool.Parse(result.Attributes.GetNamedItem("result").Value); } newStep.ResultComment = result.SelectSingleNode("Comment").InnerText; newStep.Severity = result.SelectSingleNode("Severity").InnerText; newStep.Comment = testStepNode.SelectSingleNode("Comment").InnerText; if (!String.IsNullOrEmpty(testStepNode.SelectSingleNode("Station_Redline").InnerText)) { newStep.Station = testStepNode.SelectSingleNode("Station_Redline").InnerText; } if (!String.IsNullOrEmpty(testStepNode.SelectSingleNode("Control_Action_Redline").InnerText)) { newStep.ControlAction = testStepNode.SelectSingleNode("Control_Action").InnerText; } if (!String.IsNullOrEmpty(testStepNode.SelectSingleNode("Expected_Result_Redline").InnerText)) { newStep.ExpectedResult = testStepNode.SelectSingleNode("Expected_Result_Redline").InnerText; } newStep.Parent = newSection; addEventHandlerToStep(newStep); steps.Add(newStep); } newSection.Steps = steps; _sections.Add(newSection); } }
private void SaveToXml() { SaveFileDialog saveFileDialog = new SaveFileDialog(); try { saveFileDialog.Filter = "XML file (*.xml)|*.xml"; if (saveFileDialog.ShowDialog() == true) { string fullpath = saveFileDialog.FileName; XmlNode root = originalXML.SelectSingleNode("Test_Procedure"); // Fill Heading XmlNode procedureHeading = root.SelectSingleNode("Procedure_Heading"); procedureHeading.SelectSingleNode("Name").InnerText = Name; procedureHeading.SelectSingleNode("Date").InnerText = _date; procedureHeading.SelectSingleNode("Software_Load_Version").InnerText = SoftwareLoadVersion; procedureHeading.SelectSingleNode("Program_Phase").InnerText = ProgramPhase; procedureHeading.SelectSingleNode("Program_Type").InnerText = ProgramType; procedureHeading.SelectSingleNode("Classification").InnerText = Classification; procedureHeading.SelectSingleNode("Start_Time").InnerText = _timeStarted; procedureHeading.SelectSingleNode("Stop_Time").InnerText = DateTime.Now.ToString("HH:mm"); int i = 0, j = 0; // Fill Test Steps var sectionsList = root.SelectNodes("Sections/Section"); foreach (XmlNode sectionNode in sectionsList) { var testStepsList = sectionNode.SelectNodes("Test_Step"); j = 0; foreach (XmlNode testStepNode in testStepsList) { TestStepViewModel testStep = _sections[i].Steps[j]; if (testStep.StationChanged) { testStepNode.SelectSingleNode("Station_Redline").InnerText = testStep.Station; } if (testStep.ControlActionChanged) { testStepNode.SelectSingleNode("Control_Action_Redline").InnerText = testStep.ControlAction; } if (testStep.ExpectedResultChanged) { testStepNode.SelectSingleNode("Expected_Result_Redline").InnerText = testStep.ExpectedResult; } XmlNode resultNode = testStepNode.SelectSingleNode("Result"); if (testStep.ResultChanged) { resultNode.Attributes.GetNamedItem("result").Value = testStep.Result.ToString(); resultNode.SelectSingleNode("Comment").InnerText = testStep.ResultComment; resultNode.SelectSingleNode("Severity").InnerText = testStep.Severity; } testStepNode.SelectSingleNode("Comment").InnerText = testStep.Comment; j++; } i++; } originalXML.Save(fullpath); } } catch (IOException e) { MessageBox.Show(e.ToString()); } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { TestStepViewModel testStep = value as TestStepViewModel; return("Section: " + testStep.Parent.SectionID.ToString() + ", Step: " + testStep.StepID.ToString()); }
public SelectedItemUpdateEventArgs(TestStepViewModel selectedStep) { _selectedStep = selectedStep; }
protected void OnSelectedItemChanged(TestStepViewModel testStep) => SelectedItemUpdated?.Invoke(this, new SelectedItemUpdateEventArgs(testStep));