Mercurial > pub > bltoolkit
comparison HowTo/DataAccess/Transaction.cs @ 0:f990fcb411a9
Копия текущей версии из github
| author | cin | 
|---|---|
| date | Thu, 27 Mar 2014 21:46:09 +0400 | 
| parents | |
| children | 
   comparison
  equal
  deleted
  inserted
  replaced
| -1:000000000000 | 0:f990fcb411a9 | 
|---|---|
| 1 using System; | |
| 2 | |
| 3 using NUnit.Framework; | |
| 4 | |
| 5 using BLToolkit.Data; | |
| 6 using BLToolkit.DataAccess; | |
| 7 using BLToolkit.Mapping; | |
| 8 | |
| 9 namespace HowTo.DataAccess | |
| 10 { | |
| 11 [TestFixture] | |
| 12 public class Transaction | |
| 13 { | |
| 14 public abstract class TestAccessor : DataAccessor<Person> | |
| 15 { | |
| 16 public abstract int Insert(Person person); | |
| 17 public abstract void Delete(int @PersonID); | |
| 18 | |
| 19 public abstract Person SelectByKey(int id); | |
| 20 public abstract Person SelectByKey(/*[a]*/DbManager/*[/a]*/ db, int id); | |
| 21 } | |
| 22 | |
| 23 // /*[i]*/DataAccessor/*[/i]*/ takes /*[i]*/DbManager/*[/i]*/ as a parameter. | |
| 24 // | |
| 25 [Test] | |
| 26 public void Test1() | |
| 27 { | |
| 28 using (DbManager db = new DbManager()) | |
| 29 { | |
| 30 TestAccessor ta = DataAccessor.CreateInstance<TestAccessor>/*[a]*/(db)/*[/a]*/; | |
| 31 | |
| 32 ta./*[a]*/BeginTransaction/*[/a]*/(); | |
| 33 | |
| 34 int id = ta.Insert(new Person { FirstName = "John", LastName = "Smith" }); | |
| 35 Assert.AreNotEqual(0, id); | |
| 36 | |
| 37 Person person = ta.SelectByKey(id); | |
| 38 Assert.IsNotNull(person); | |
| 39 | |
| 40 ta.Delete(id); | |
| 41 | |
| 42 ta./*[a]*/CommitTransaction/*[/a]*/(); | |
| 43 } | |
| 44 } | |
| 45 | |
| 46 // /*[i]*/DataAccessor/*[/i]*/ method takes /*[i]*/DbManager/*[/i]*/ as a parameter. | |
| 47 // | |
| 48 [Test] | |
| 49 public void Test2() | |
| 50 { | |
| 51 using (DbManager db = new DbManager()) | |
| 52 { | |
| 53 db.BeginTransaction(); | |
| 54 | |
| 55 TestAccessor ta = DataAccessor.CreateInstance<TestAccessor>/*[a]*/()/*[/a]*/; | |
| 56 | |
| 57 int id = ta.Insert(new Person { FirstName = "John", LastName = "Smith" }); | |
| 58 Assert.AreNotEqual(0, id); | |
| 59 | |
| 60 Person person = ta.SelectByKey(/*[a]*/db/*[/a]*/, id); | |
| 61 Assert.IsNotNull(person); | |
| 62 | |
| 63 ta.Delete(id); | |
| 64 | |
| 65 db.CommitTransaction(); | |
| 66 } | |
| 67 } | |
| 68 } | |
| 69 } | |
| 70 | 
