public void Commit(NotesClientActivated clientActivated) { List <Note> notes = singleton.GetPesistentData(); List <Note> changedNotes = clientActivated.RequestCacheRecords(); Logger.Write("Transaction begin"); //Проверка целостности, обеспечивающая атомарность транзакции //т.е. либо запишется всё, либо ничего //(Да, O(2n). Можно сделать за n создавая промежуточный список //с оригинальными данными участвующими в транзакции, но лень) VerifyTransaction(notes, changedNotes); //Завершение транзакции, если проверка пройдена completeTransaction(notes, changedNotes); //Очищение списка транзакции клиента clientActivated.Clear(); Logger.Write("Transaction end"); }
public void Commit(NotesClientActivated clientActivated) { List<Note> notes = singleton.GetPesistentData(); List<Note> changedNotes = clientActivated.RequestCacheRecords(); Logger.Write("Transaction begin"); //Проверка целостности, обеспечивающая атомарность транзакции //т.е. либо запишется всё, либо ничего //(Да, O(2n). Можно сделать за n создавая промежуточный список //с оригинальными данными участвующими в транзакции, но лень) VerifyTransaction(notes, changedNotes); //Завершение транзакции, если проверка пройдена completeTransaction(notes, changedNotes); //Очищение списка транзакции клиента clientActivated.Clear(); Logger.Write("Transaction end"); }
public void Rollback(NotesClientActivated clientActivated) { //Очищение списка транзакции клиента clientActivated.Clear(); }