annotate HowTo/Data/DbManagerDemo.cs @ 5:f7d63a092920

Исправлено условие Where в тех случаях, когда репозитарий не является генериком
author cin
date Tue, 10 Mar 2015 16:02:11 +0300
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 using BLToolkit.Mapping;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 namespace HowTo.Data
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 public class DbManagerDemo
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 // The MapValue attribute is used by BLToolkit.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 public enum Gender
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 [MapValue("F")] Female,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 [MapValue("M")] Male,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 [MapValue("U")] Unknown,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 [MapValue("O")] Other
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 // Business object. Here we use C# 3.0 automatic properties,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 // however it can be public fields, regular or abstract properties.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 // The MapField attribute is used by BLToolkit to associate a database field
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 // with a business object property if they have different names.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 public class Person
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 [MapField("PersonID")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 public int ID { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 public string FirstName { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 public string MiddleName { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 public string LastName { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 public /*[a]*/Gender/*[/a]*/ Gender { get; set; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 // BLToolkit data access method.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 public List<Person> /*[a]*/GetList/*[/a]*/(Gender gender)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 /*[a]*/using/*[/a]*/ (/*[a]*/DbManager/*[/a]*/ db = new DbManager(/*[a]*/"DemoConnection"/*[/a]*/))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 return db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 ./*[a]*/SetCommand/*[/a]*/(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 "SELECT * FROM Person WHERE Gender = @gender",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 db./*[a]*/Parameter/*[/a]*/("@gender", /*[a]*/Map.EnumToValue/*[/a]*/(gender)))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 ./*[a]*/ExecuteList/*[/a]*/<Person>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 public void Test()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 List<Person> list = GetList(Gender.Male);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 Assert.Greater(list.Count, 0);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 }