Mercurial > pub > bltoolkit
diff Demo/Asp.Net/Web/Controls/WishListControl.ascx.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Demo/Asp.Net/Web/Controls/WishListControl.ascx.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Web.UI.WebControls; + +using PetShop.ObjectModel; + +namespace PetShop.Web +{ + public partial class WishListControl : System.Web.UI.UserControl + { + /// <summary> + /// Handle Page load event + /// </summary> + protected void Page_PreRender(object sender, EventArgs e) + { + if (!IsPostBack) + BindCart(); + } + + /// <summary> + /// Bind repeater to Cart object in Profile + /// </summary> + private void BindCart() + { + ICollection<CartItem> wishList = Profile.WishList.Items; + + if (wishList.Count > 0) + { + repWishList.DataSource = wishList; + repWishList.DataBind(); + } + else + { + repWishList.Visible = false; + lblMsg.Text = "Your wish list is empty."; + } + } + + /// <summary> + /// Handler for Delete/Move buttons + /// </summary> + protected void CartItem_Command(object sender, CommandEventArgs e) + { + switch (e.CommandName.ToString()) + { + case "Del": + Profile.WishList.Remove(e.CommandArgument.ToString()); + break; + + case "Move": + Profile.WishList.Remove(e.CommandArgument.ToString()); + Profile.ShoppingCart.Add(e.CommandArgument.ToString()); + break; + } + + Profile.Save(); + BindCart(); + } + } +}