public override void Do(IOleUndoManager pUndoManager) { #if DEBUGUNDOREDO Debug.WriteLine(">>> AddGroupRecord.Do"); #endif using (new ViewModel.ViewModelController.GuiChangeBlock(Controller)) { ViewModel.Group newGroup = new ViewModel.Group(Controller, this); Controller.StateMachine.Groups.Add(newGroup); Controller.UndoManager.Add(new DeleteGroupRecord(Controller, newGroup)); } }
public override void Do(IOleUndoManager pUndoManager) { #if DEBUGUNDOREDO Debug.WriteLine(">>> DeleteGroupRecord.Do"); #endif using (new ViewModel.ViewModelController.GuiChangeBlock(Controller)) { ViewModel.Group targetGroup = Controller.StateMachine.Groups.Where(s => s.Id == Id).First(); AddGroupRecord addGroupRecord = new AddGroupRecord(Controller, targetGroup); Controller.StateMachine.Groups.Remove(targetGroup); Controller.UndoManager.Add(addGroupRecord); } }
internal DeleteGroupRecord(ViewModel.ViewModelController controller, ViewModel.Group group) : base(ActionTypes.AddEventType, controller, group) { #if DEBUGUNDOREDO Debug.WriteLine($@">>> DeleteGroupRecord.DeleteGroupRecord: Created {UnitDescription} record, ID: {Id}, Name: {Name}"); #endif }