public void Record(IRecordableCommand command, string commandName = "") { if (command != null) { if (RecordingSessionInProgress) { command.OnRecord(); transactionRecords.Peek().CommandsGroup.Commands.Add(command); } else { command.OnRecord(); redoCommands.Clear(); undoCommands.Push(new CommandRecord { Command = command, CommandName = commandName }); OnPropertyChanged(nameof(UndoableCommands)); OnPropertyChanged(nameof(RedoableCommands)); } } }
public RecordableCommandInfo(IRecordableCommand command) : base(command) { IsSynchronous = command.IsSynchronous; }