annotate Demo/Asp.Net/Web/Controls/ShoppingCartControl.ascx.cs @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
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 using System.Web.UI.WebControls;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using PetShop.ObjectModel;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 namespace PetShop.Web
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 public partial class ShoppingCartControl : System.Web.UI.UserControl
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 protected void Page_PreRender(object sender, EventArgs e)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 if (!IsPostBack)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 BindCart();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 /// Bind repeater to Cart object in Profile
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 private void BindCart()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 ICollection<CartItem> cart = Profile.ShoppingCart.Items;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 if (cart.Count > 0)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 repShoppingCart.DataSource = cart;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 repShoppingCart.DataBind();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 PrintTotal();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 plhTotal.Visible = true;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 else
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 repShoppingCart.Visible = false;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 plhTotal. Visible = false;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 lblMsg. Text = "Your cart is empty.";
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 /// Recalculate the total
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 private void PrintTotal()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 if (Profile.ShoppingCart.Items.Count > 0)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 ltlTotal.Text = Profile.ShoppingCart.Total.ToString("c");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 /// Calculate total
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 protected void BtnTotal_Click(object sender, System.Web.UI.ImageClickEventArgs e)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 TextBox txtQuantity;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 ImageButton btnDelete;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 int qty = 0;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 foreach (RepeaterItem row in repShoppingCart.Items)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 txtQuantity = (TextBox) row.FindControl("txtQuantity");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 btnDelete = (ImageButton)row.FindControl("btnDelete");
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 if (int.TryParse(WebUtility.InputText(txtQuantity.Text, 10), out qty))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 if (qty > 0)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 Profile.ShoppingCart.SetQuantity(btnDelete.CommandArgument, qty);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68 else if (qty == 0)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 Profile.ShoppingCart.Remove(btnDelete.CommandArgument);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 Profile.Save();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74 BindCart();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 /// <summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 /// Handler for Delete/Move buttons
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79 /// </summary>
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 protected void CartItem_Command(object sender, CommandEventArgs e)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 switch (e.CommandName.ToString())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 case "Del":
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 Profile.ShoppingCart.Remove(e.CommandArgument.ToString());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 break;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88 case "Move":
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89 Profile.ShoppingCart.Remove(e.CommandArgument.ToString());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90 Profile.WishList.Add(e.CommandArgument.ToString());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91 break;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94 Profile.Save();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95 BindCart();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98 }