Пример #1
0
        public OpStatus StepBack()
        {
            if (iCurrent == 0)
            {
                return(OpStatus.Success);        // weird but ok
            }
            IChangeOp op = vHistory[iCurrent - 1];

            DebugUtil.Log(2, "ChangeHistory.StepBack: reverting {0}", op.Identifier());
            OpStatus result = op.Revert();

            if (result.code != OpStatus.no_error)
            {
                DebugUtil.Error("[ChangeHistory::StepBack] Revert() of ChangeOp {0} failed - result was code {1} message {2}",
                                op.Identifier(), result.code, result.message);
                return(result);
            }

            iCurrent--;
            return(OpStatus.Success);
        }