annotate HowTo/Data/Prepare.cs @ 3:1ef98bd70424

!bug 100 +3h Исправление проблемы BLToolkit + mono 3.4
author cin
date Fri, 22 Aug 2014 17:34:46 +0400
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.Collections.Generic;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.Data;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 namespace HowTo.Data
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 using DataAccess;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 public class Prepare
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 public void Test()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 List<Person> list = new List<Person>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 new Person { FirstName = "John", LastName = "Smith", Gender = Gender.Male },
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 new Person { FirstName = "Jane", LastName = "Smith", Gender = Gender.Female }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 };
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 db.BeginTransaction();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 // Prepare command.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 .SetSpCommand("Person_Insert",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 db.CreateParameters(list[0]))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 ./*[a]*/Prepare/*[/a]*/();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 // Insert.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 foreach (Person person in list)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 db./*[a]*/AssignParameterValues/*[/a]*/(person);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 db.ExecuteNonQuery();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 // Check the result.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 list = db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 .SetCommand(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 "SELECT * FROM Person WHERE LastName = @lastName",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 db.Parameter("@lastName", "Smith"))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 .ExecuteList<Person>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 Assert.GreaterOrEqual(2, list.Count);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 // Cleanup.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 .SetCommand(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 "DELETE FROM Person WHERE LastName = @lastName",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 db.Parameter("@lastName", "Smith"))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 .ExecuteNonQuery();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 db.CommitTransaction();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 }