public void Rollback() { while (IntPeek() != TRANS_DELIMITER) { CustomOperation cmd = fList[fCurrentIndex]; fCurrentIndex--; cmd.Undo(); } Transaction(TransactionType.taRollback); }
public void Undo() { if (fCurrentIndex >= 1) { if (IntPeek() == TRANS_DELIMITER) { fCurrentIndex--; } while (IntPeek() != TRANS_DELIMITER) { CustomOperation cmd = fList[fCurrentIndex]; fCurrentIndex--; cmd.Undo(); } Transaction(TransactionType.taCommitUndo); } }