///-------------------------------------------------------------------------------- /// <summary>This method processes the delete ViewProperty command.</summary> ///-------------------------------------------------------------------------------- public void ProcessDeleteViewPropertyCommand() { ViewPropertyEventArgs message = new ViewPropertyEventArgs(); message.ViewProperty = ViewProperty; message.ViewID = ViewID; message.Solution = Solution; message.WorkspaceID = WorkspaceID; Mediator.NotifyColleagues <ViewPropertyEventArgs>(MediatorMessages.Command_DeleteViewPropertyRequested, message); }
///-------------------------------------------------------------------------------- /// <summary>This method sends the edit item performed message to have the /// update applied.</summary> ///-------------------------------------------------------------------------------- public void SendEditViewPropertyPerformed() { ViewPropertyEventArgs message = new ViewPropertyEventArgs(); message.ViewProperty = ViewProperty; message.ViewID = ViewID; message.Solution = Solution; message.WorkspaceID = WorkspaceID; Mediator.NotifyColleagues <ViewPropertyEventArgs>(MediatorMessages.Command_EditViewPropertyPerformed, message); }
///-------------------------------------------------------------------------------- /// <summary>This method applies view deletes.</summary> ///-------------------------------------------------------------------------------- public void ProcessDeleteViewPerformed(ViewEventArgs data) { try { bool isItemMatch = false; if (data != null && data.View != null) { foreach (ViewViewModel item in Views.ToList <ViewViewModel>()) { if (item.View.ViewID == data.View.ViewID) { // remove item from tabs, if present WorkspaceEventArgs message = new WorkspaceEventArgs(); message.ItemID = item.View.ViewID; Mediator.NotifyColleagues <WorkspaceEventArgs>(MediatorMessages.Command_CloseItemRequested, message); // delete children for (int i = item.Items.Count - 1; i >= 0; i--) { if (item.Items[i] is ViewPropertyViewModel) { ViewPropertyViewModel child = item.Items[i] as ViewPropertyViewModel; ViewPropertyEventArgs childMessage = new ViewPropertyEventArgs(); childMessage.ViewProperty = child.ViewProperty; childMessage.ViewID = item.View.ViewID; childMessage.Solution = Solution; childMessage.WorkspaceID = child.WorkspaceID; item.ProcessDeleteViewPropertyPerformed(childMessage); } } // delete item isItemMatch = true; Views.Remove(item); Solution.ViewList.Remove(item.View); Items.Remove(item); Solution.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 ViewProperty command.</summary> ///-------------------------------------------------------------------------------- public void ProcessNewViewPropertyCommand() { ViewPropertyEventArgs message = new ViewPropertyEventArgs(); message.ViewProperty = new ViewProperty(); message.ViewProperty.ViewPropertyID = Guid.NewGuid(); message.ViewProperty.ViewID = ViewID; message.ViewProperty.View = Solution.ViewList.FindByID((Guid)ViewID); if (message.ViewProperty.View != null) { message.ViewProperty.Order = message.ViewProperty.View.ViewPropertyList.Count + 1; } message.ViewProperty.Solution = Solution; message.ViewID = ViewID; message.Solution = Solution; message.WorkspaceID = WorkspaceID; Mediator.NotifyColleagues <ViewPropertyEventArgs>(MediatorMessages.Command_EditViewPropertyRequested, message); }