///-------------------------------------------------------------------------------- /// <summary>This method processes the delete StepTransition command.</summary> ///-------------------------------------------------------------------------------- public void ProcessDeleteStepTransitionCommand() { StepTransitionEventArgs message = new StepTransitionEventArgs(); message.StepTransition = StepTransition; message.ToStepID = ToStepID; message.Solution = Solution; message.WorkspaceID = WorkspaceID; Mediator.NotifyColleagues <StepTransitionEventArgs>(MediatorMessages.Command_DeleteStepTransitionRequested, message); }
///-------------------------------------------------------------------------------- /// <summary>This method sends the edit item performed message to have the /// update applied.</summary> ///-------------------------------------------------------------------------------- public void SendEditStepTransitionPerformed() { StepTransitionEventArgs message = new StepTransitionEventArgs(); message.StepTransition = StepTransition; message.ToStepID = ToStepID; message.Solution = Solution; message.WorkspaceID = WorkspaceID; Mediator.NotifyColleagues <StepTransitionEventArgs>(MediatorMessages.Command_EditStepTransitionPerformed, message); }
///-------------------------------------------------------------------------------- /// <summary>This method applies step deletes.</summary> ///-------------------------------------------------------------------------------- public void ProcessDeleteStepPerformed(StepEventArgs data) { try { bool isItemMatch = false; if (data != null && data.Step != null) { foreach (StepViewModel item in Steps.ToList <StepViewModel>()) { if (item.Step.StepID == data.Step.StepID) { // remove item from tabs, if present WorkspaceEventArgs message = new WorkspaceEventArgs(); message.ItemID = item.Step.StepID; Mediator.NotifyColleagues <WorkspaceEventArgs>(MediatorMessages.Command_CloseItemRequested, message); // delete children for (int i = item.Items.Count - 1; i >= 0; i--) { if (item.Items[i] is StepTransitionViewModel) { StepTransitionViewModel child = item.Items[i] as StepTransitionViewModel; StepTransitionEventArgs childMessage = new StepTransitionEventArgs(); childMessage.StepTransition = child.StepTransition; childMessage.ToStepID = item.Step.StepID; childMessage.Solution = Solution; childMessage.WorkspaceID = child.WorkspaceID; item.ProcessDeleteStepTransitionPerformed(childMessage); } } // delete item isItemMatch = true; Steps.Remove(item); Stage.StepList.Remove(item.Step); Items.Remove(item); Stage.ResetModified(true); OnUpdated(this, null); break; } } if (isItemMatch == false) { ShowIssue(DisplayValues.Issue_DeleteItemNotFound); } } } catch (Exception ex) { ShowIssue(ex.Message + ex.StackTrace); } }
///-------------------------------------------------------------------------------- /// <summary>This method processes the new StepTransition command.</summary> ///-------------------------------------------------------------------------------- public void ProcessNewStepTransitionCommand() { StepTransitionEventArgs message = new StepTransitionEventArgs(); message.StepTransition = new StepTransition(); message.StepTransition.StepTransitionID = Guid.NewGuid(); message.StepTransition.ToStepID = ToStepID; message.StepTransition.ToStep = Solution.StepList.FindByID((Guid)ToStepID); message.StepTransition.Solution = Solution; message.ToStepID = ToStepID; message.Solution = Solution; message.WorkspaceID = WorkspaceID; Mediator.NotifyColleagues <StepTransitionEventArgs>(MediatorMessages.Command_EditStepTransitionRequested, message); }