internal AddStateRecord(ViewModel.ViewModelController controller, ViewModel.State state) : base(ActionTypes.AddState, controller, state) { StateType = state.StateType; #if DEBUGUNDOREDO Debug.WriteLine($@">>> AddStateRecord.AddStateRecord: Created {UnitDescription} record, ID: {Id}, Name: {Name}"); #endif }
public override void Do(IOleUndoManager pUndoManager) { #if DEBUGUNDOREDO Debug.WriteLine(">>> AddStateRecord.Do"); #endif using (new ViewModel.ViewModelController.GuiChangeBlock(Controller)) { ViewModel.State newState = new ViewModel.State(Controller, this); Controller.StateMachine.States.Add(newState); Controller.UndoManager.Add(new DeleteStateRecord(Controller, newState)); } }
public override void Do(IOleUndoManager pUndoManager) { #if DEBUGUNDOREDO Debug.WriteLine(">>> DeleteStateRecord.Do"); #endif using (new ViewModel.ViewModelController.GuiChangeBlock(Controller)) { ViewModel.State targetState = Controller.StateMachine.States.Where(s => s.Id == Id).First(); AddStateRecord addStateRecord = new AddStateRecord(Controller, targetState); Controller.StateMachine.States.Remove(targetState); Controller.UndoManager.Add(addStateRecord); } }
internal DeleteStateRecord(ViewModel.ViewModelController controller, ViewModel.State state) : base(ActionTypes.AddEventType, controller, state) { #if DEBUGUNDOREDO Debug.WriteLine($@">>> DeleteStateRecord.DeleteStateRecord: Created {UnitDescription} record, ID: {Id}, Name: {Name}"); #endif }