Использование транзакций.
Для использования транзакции необходимо заполнить поле «transaction» объекта шлюза «DataBaseGate», присвоив ему значение созданной транзакции.
Рассмотрим процесс использования транзакции на примере.
Создаем экземпляр класса нужной сущности.
Employee employee = new Employee();
Заполняем поля нового объекта.
employee.FirstName = "Micle";
employee.LastName = "Gordon";
employee.City = "NewYork";
Создаем экземпляр объекта шлюза к базе данных dbg.
DataBaseGate dbgEnployee = new DataBaseGate(employee, cn);
SqlTransaction tr= cn.BeginTransaction();
Заполняем поле «transaction».
dbgEnployee.transaction = tr;
dbgEnployee.CreateNewObject();
Employee employee1 = new Employee();
employee1.FirstName = "Peter";
employee1.LastName = "Bolen";
employee1.City = "London";
dbg.CreateNewObject(employee1);
В случае ошибки, поле «Status» объекта «dbg» получит значение false, в поле «message» запишется информация об ошибке.
if (!dbg.Status)
MessageBox.Show(dbg.message);