annotate Demo/Asp.Net/BusinessLogic/DataAccess/ProductAccessor.cs @ 9:1e85f66cf767 default tip

update bltoolkit
author nickolay
date Thu, 05 Apr 2018 20:53:26 +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 BLToolkit.Aspects;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using BLToolkit.Data;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 using BLToolkit.DataAccess;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 namespace PetShop.BusinessLogic.DataAccess
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 using ObjectModel;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 public abstract class ProductAccessor : AccessorBase<ProductAccessor.DB, ProductAccessor>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 public class DB : DbManager { public DB() : base("ProductDB") {} }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 #region Item
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 const string _itemQuery = @"
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 SELECT
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 i.*,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 n.Qty,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 p.Name as ProductName,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 p.CategoryId
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 FROM
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 Item i
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 JOIN Product p ON p.ProductId = i.ProductId
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 JOIN Inventory n ON n.ItemId = i.ItemId";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 [SqlQuery(_itemQuery + @" WHERE i.ProductId = @id")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 public abstract IList<Item> GetItemListByProductID(string @id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 [SqlQuery(_itemQuery + @" WHERE i.ItemId = @itemID")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 public abstract Item GetItem(string @itemID);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 [SqlQuery(_itemQuery + @" ORDER BY i.Name")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 public abstract List<Item> GetAllItemList();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 #region Product
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 [Cache(MaxMinutes = 60)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 [SqlQuery(@"SELECT * FROM Product WHERE CategoryId = @id")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 public abstract IList<Product> GetProductListByCategoryID(string @id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 #region Categoty
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 // This method needs to be cached, so we can't call Query.SelectByKey directly from the manager class.
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 //
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 [Cache(MaxMinutes=60)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 public virtual Category GetCategory(string id)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 return Query.SelectByKey<Category>(id);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 #region Inventory
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 [SqlQuery(@"SELECT Qty FROM Inventory WHERE ItemId = @itemId")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 public abstract int CurrentQtyInStock(string @itemId);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 }