0
|
1 using System;
|
|
2
|
|
3 using BLToolkit.DataAccess;
|
|
4 using BLToolkit.EditableObjects;
|
|
5
|
|
6 using BLToolkit.Demo.ObjectModel;
|
|
7 using BLToolkit.Demo.BusinessLogic.DataAccess;
|
|
8
|
|
9 namespace BLToolkit.Demo.BusinessLogic
|
|
10 {
|
|
11 public abstract class ManagerBase<T,A>
|
|
12 where T : BizEntity
|
|
13 where A : AccessorBase<T,A>
|
|
14 {
|
|
15 #region Insert, Update, Delete
|
|
16
|
|
17 public void Insert(T obj)
|
|
18 {
|
|
19 obj.Validate();
|
|
20
|
|
21 obj.ID = Accessor.Insert(obj);
|
|
22
|
|
23 obj.AcceptChanges();
|
|
24 }
|
|
25
|
|
26 public void Update(T obj)
|
|
27 {
|
|
28 obj.Validate();
|
|
29
|
|
30 Query.Update(obj);
|
|
31
|
|
32 obj.AcceptChanges();
|
|
33 }
|
|
34
|
|
35 public void Delete(T obj)
|
|
36 {
|
|
37 Query.Delete(obj);
|
|
38 }
|
|
39
|
|
40 public void Delete(int id)
|
|
41 {
|
|
42 Query.DeleteByKey(id);
|
|
43 }
|
|
44
|
|
45 #endregion
|
|
46
|
|
47 #region Select
|
|
48
|
|
49 public EditableList<T> SelectAll()
|
|
50 {
|
|
51 EditableList<T> list = new EditableList<T>();
|
|
52
|
|
53 return Query.SelectAll(list);
|
|
54 }
|
|
55
|
|
56 #endregion
|
|
57
|
|
58 #region Protected Members
|
|
59
|
|
60 protected virtual A Accessor
|
|
61 {
|
|
62 get { return AccessorBase<T,A>.CreateInstance(); }
|
|
63 }
|
|
64
|
|
65 private SqlQuery<T> _query;
|
|
66 protected virtual SqlQuery<T> Query
|
|
67 {
|
|
68 get
|
|
69 {
|
|
70 if (null == _query)
|
|
71 _query = new SqlQuery<T>();
|
|
72
|
|
73 return _query;
|
|
74 }
|
|
75 }
|
|
76
|
|
77 #endregion
|
|
78 }
|
|
79 }
|