public IHttpResponse AddProduct(IHttpRequest request)
        {
            string sessionId = request.Session.Id;

            ShoppingCart cart = ShoppingCartStorage.GetOrAddCart(sessionId);

            Dictionary <string, string> formData = request.FormData;

            string cakeName  = formData["cakename"];
            double cakePrice = double.Parse(formData["cakeprice"]);
            string previous  = formData["previoussearch"];

            var list = cart.Items;

            if (!list.ContainsKey(cakeName))
            {
                list[cakeName] = new CakeDetails(cakePrice);
            }
            else
            {
                list[cakeName].AddPiece();
            }

            return(new ViewResponse(HttpStatusCode.OK, new FoundCakeView(previous, sessionId)));
        }
示例#2
0
 public FoundCakeView(string name, string sessionId)
 {
     this.found = false;
     this.name  = name;
     this.cakes = GetMatches();
     this.cart  = ShoppingCartStorage.GetOrAddCart(sessionId);
 }
示例#3
0
 protected void ASPxGridView1_RowDeleting(object sender, ASPxDataDeletingEventArgs e)
 {
     ShoppingCartStorage.RemoveFromCart(Convert.ToInt32(e.Keys[0]));
     ASPxGridView1.CancelEdit();
     ASPxGridView1.DataBind();
     e.Cancel = true;
 }
        public IHttpResponse FinishOrder(IHttpRequest request)
        {
            string sessionId = request.Session.Id;

            ShoppingCartStorage.DeleteCart(sessionId);

            return(new ViewResponse(HttpStatusCode.OK, new FinishOrderView()));
        }
        public IHttpResponse CartReview(IHttpRequest request)
        {
            string sessionId = request.Session.Id;

            ShoppingCart cart = ShoppingCartStorage.GetOrAddCart(sessionId);

            return(new ViewResponse(HttpStatusCode.OK, new CartView(cart.Items)));
        }
示例#6
0
        public IHttpResponse Logout(IHttpRequest request)
        {
            string sessionId = request.Session.Id;

            ShoppingCartStorage.DeleteCart(sessionId);

            SessionStore.DeleteSession(sessionId);

            return(new RedirectResponse("/login"));
        }
示例#7
0
    protected void ASPxGridView1_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e)
    {
        int productCode = Convert.ToInt32(e.Parameters);

        ShoppingCartStorage.AddToCart(productCode);
        ASPxGridView1.DataBind();

        int addedRowIndex = ASPxGridView1.FindVisibleIndexByKeyValue(productCode);

        ASPxGridView1.ScrollToVisibleIndexOnClient = addedRowIndex;
        ASPxGridView1.FocusedRowIndex = addedRowIndex;
    }
示例#8
0
        public IHttpResponse Login(IHttpRequest request)
        {
            string username = request.FormData["username"];
            string password = request.FormData["password"];

            if (String.IsNullOrEmpty(username) || String.IsNullOrEmpty(password))
            {
                return(new RedirectResponse("/login"));
            }

            string sessionId = request.Session.Id;

            SessionStore.Get(sessionId).ChangeState(true);

            ShoppingCartStorage.GetOrAddCart(sessionId);

            return(new RedirectResponse("/"));
        }
示例#9
0
 public SearchCakeView(string sessionId)
 {
     this.cart = ShoppingCartStorage.GetOrAddCart(sessionId);
 }