Dev2.UndoFramework.ActionManager.RecordAction C# (CSharp) Method

RecordAction() public method

public RecordAction ( IAction existingAction ) : void
existingAction IAction
return void
        public void RecordAction(IAction existingAction)
        {
            if (existingAction != null)
            {
                CheckNotRunningBeforeRecording(existingAction);
                if (ExecuteImmediatelyWithoutRecording && existingAction.CanExecute())
                {
                    existingAction.Execute();
                }
                else
                {
                    ITransaction recordingTransaction = RecordingTransaction;
                    if (recordingTransaction != null)
                    {
                        recordingTransaction.AccumulatingAction.Add(existingAction);
                        if (!recordingTransaction.IsDelayed)
                        {
                            existingAction.Execute();
                        }
                    }
                    else
                    {
                        RunActionDirectly(existingAction);
                    }
                }
            }
        }

Usage Example

// ReSharper disable InconsistentNaming
        public void Undo_Expected_Positive()
// ReSharper restore InconsistentNaming
        {
            ActionManager actManager = new ActionManager();
            actManager.RecordAction(_mockAction.Object);
            actManager.Undo();
            Assert.IsTrue(actManager.CanRedo);
        }
All Usage Examples Of Dev2.UndoFramework.ActionManager::RecordAction