async void DecreaseAmount(CartItemModel obj)
        {
            if (obj.Amount > 1)
            {
                obj.Amount--;
                await App.DB.UpdateItemAsync(obj);

                GetItems();
            }
        }
Beispiel #2
0
 public CartItems ParseCartItem(CartItemModel cartItems)
 {
     return(new CartItems()
     {
         Cart = cartItems.CartID,
         Product = cartItems.productID,
         Quantity = cartItems.quantity,
         Id = cartItems.id
     });
 }
        public IHttpActionResult AddItem(Guid userId, CartItemModel cartItem)
        {
            CartItem result = Manager.AddItemToUserCart(userId, cartItem.CartId, cartItem.ItemId, cartItem.Quantity);

            if (result == null)
            {
                return(NotFound());
            }
            return(Ok("Added " + result.Quantity));
        }
Beispiel #4
0
 public static ShoppingBasketItem MapFrom(CartItemModel cartItem)
 {
     return(new ShoppingBasketItem()
     {
         ProductID = cartItem.Product.Id,
         ProductName = cartItem.Product.Name,
         TotalPrice = cartItem.TotalPrice,
         Quantity = cartItem.Quantity
     });
 }
Beispiel #5
0
 public JsonResult AddItem(int productCode, int Amount)
 {
     if (Session[CommonConstants.USER_SESSION] != null)
     {
         var product  = new ProductDao().GetByProductCode(productCode);
         var cartItem = new CartItemModel();
         cartItem.ProductCode = productCode;
         cartItem.Image       = product.ImageFirst;
         cartItem.MetaTitle   = product.MetaTitle;
         cartItem.Name        = product.Name;
         if (product.Promotion.Value)
         {
             cartItem.Price = product.Price - (product.Price * (decimal)product.PercentSale.Value / 100);
         }
         else
         {
             cartItem.Price = product.Price;
         }
         cartItem.Amount = Amount;
         if (Session[CommonConstants.CartSession] != null)
         {
             var  listItem = (List <CartItemModel>)Session[CommonConstants.CartSession];
             bool exist    = false;
             foreach (var item in listItem)
             {
                 if (item.ProductCode == cartItem.ProductCode)
                 {
                     item.Amount += cartItem.Amount;
                     exist        = true;
                     break;
                 }
             }
             if (!exist)
             {
                 listItem.Add(cartItem);
             }
             Session[CommonConstants.CartSession] = listItem;
         }
         else
         {
             var listItem = new List <CartItemModel>();
             listItem.Add(cartItem);
             Session[CommonConstants.CartSession] = listItem;
         }
         Session[CommonConstants.ADD_ITEM] = cartItem.Name;
         return(Json(new
         {
             status = true
         }));
     }
     return(Json(new
     {
         status = false
     }));
 }
Beispiel #6
0
        public ActionResult AddToCart(CartItemModel model)
        {
            List <CartItem> list = null;

            list = (List <CartItem>)Session["list"];
            if (list == null)
            {
                list = new List <CartItem>();
            }


            double total = Convert.ToInt32(Session["total"].ToString());

            int index = -1;


            for (int i = 0; i < list.Count; i++)
            {
                if (list[i].p_id == model.p_id)
                {
                    index = i;
                }
            }

            if (index != -1)
            {
                list[index].quantity   = list[index].quantity + model.quantity;
                list[index].total_cost = list[index].total_cost + list[index].Product.p_price * model.quantity;
                total = total + list[index].Product.p_price * model.quantity;
            }
            else
            {
                var      p    = db.Products.Find(model.p_id);
                CartItem item = new CartItem();
                item.p_id       = model.p_id;
                item.quantity   = model.quantity;
                item.Product    = p;
                item.total_cost = p.p_price * item.quantity;



                list.Add(item);

                Session["list"] = list;
                total          += item.total_cost;
            }


            Session["total"] = total;


            int cat = Convert.ToInt32(Session["cat"].ToString());

            return(RedirectToAction("products/" + cat));
        }
Beispiel #7
0
        public async Task <IActionResult> Create([Bind("CartId,PricePuppyID,PricePuppyDesc,PricePuppy,TrainingServicesPriceID,TrainingName,PriceTraining,CartQty,Email")] CartItemModel cartItemModel)
        {
            if (ModelState.IsValid)
            {
                _context.Add(cartItemModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(cartItemModel));
        }
Beispiel #8
0
        public void Create(CartItemModel cartItemModel, string ID)
        {
            var _dto = new DTOOrder()
            {
                CartID   = ID,
                DrinkID  = cartItemModel.DrinkID,
                Quantity = cartItemModel.Quantity
            };

            CartItemFactory.orderConnectionHandler.CreateOrder(_dto);
        }
Beispiel #9
0
        /// <summary>
        /// Add item to cart
        /// </summary>
        /// <param name="cartItem">item to be added in cart</param>
        /// <returns>whether the task was succesful or not</returns>
        public bool AddCartItem(CartItemModel cartItem, out HttpStatusCode status)
        {
            bool success = false;

            status = HttpStatusCode.OK;

            try
            {
                CartItem newCartItem = new CartItem();
                newCartItem.CartId   = cartItem.CartId;
                newCartItem.ItemId   = cartItem.ItemId;
                newCartItem.Quantity = cartItem.Quantity;

                using (ShoppingCartEntities context = new ShoppingCartEntities())
                {
                    //check if item already exists in cart
                    CartItem cartExists = context.CartItems
                                          .Include("Item")
                                          .Where(c => c.ItemId == newCartItem.ItemId && c.CartId == newCartItem.CartId)
                                          .FirstOrDefault();

                    if (cartExists == null)
                    {
                        //Add new item to car
                        context.CartItems.Add(newCartItem);
                        context.SaveChanges();
                        success = true;
                    }
                    else
                    {
                        if (cartExists.Quantity + newCartItem.Quantity > cartExists.Item.Quantity)
                        {
                            //HTTP 410 - Not enough quantity in stock
                            status = HttpStatusCode.Gone;
                        }
                        else
                        {
                            //Update quantity of item in cart
                            cartExists.Quantity += newCartItem.Quantity;
                            context.CartItems.Attach(cartExists);
                            context.Entry(cartExists).State = EntityState.Modified;
                            context.SaveChanges();
                            success = true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                new Logging().LogProgress(token, Common.CallerIP, ex);
            }

            return(success);
        }
        public ActionResult RemoveItem(int id)
        {
            List <CartItemModel> cartItems = db.CartItems.ToList();

            CartItemModel cartItem = cartItems.Find(p => p.Id == id);

            db.Entry(cartItem).State = EntityState.Deleted;
            db.SaveChanges();

            return(RedirectToAction("Index", "Cart"));
        }
Beispiel #11
0
        public static ShoppingCartItem FromCartItemModel(CartItemModel cartItemModel)
        {
            var cartItemDbModel = new ShoppingCartItem {
                Id     = cartItemModel.Id,
                Amount = cartItemModel.Amount,
                Item   = ToItemDbModel(cartItemModel.Item),
                User   = cartItemModel.User
            };

            return(cartItemDbModel);
        }
Beispiel #12
0
        public async Task <IActionResult> AddToBasket(CartItemModel productDetails)
        {
            if (productDetails?.Id == null)
            {
                return(RedirectToAction("Index", "Catalog"));
            }
            var basketViewModel = await GetBasketViewModelAsync();

            await _basketService.AddItemToBasket(basketViewModel.Id, productDetails.Id, productDetails.Price, 1);

            return(RedirectToAction("Index"));
        }
Beispiel #13
0
 public IActionResult AddToCart(CartItemModel cartItem)
 {
     try
     {
         cartItemService.AddProductToCart(cartItem);
         return(CreatedAtAction("AddToCart", cartItem));
     }
     catch (Exception)
     {
         return(BadRequest());
     }
 }
Beispiel #14
0
        public CartItemModel AddProductToCart(CartItemModel cartItem)
        {
            CartItemModel cartItems = new CartItemModel()
            {
                CartID    = cartItem.CartID,
                productID = cartItem.productID,
                quantity  = cartItem.quantity
            };

            dBRepo.AddProductToCart(cartItem);
            return(cartItem);
        }
Beispiel #15
0
        public CartItemModel GetCartItem(int id, int qty = CartRules.DEFAULT_QTY)
        {
            Product prod = prodRepo.GetProduct(id);

            CartItemModel item = new CartItemModel();
            item.ProductID = prod.productID;
            item.ProductName = prod.productName;
            item.Price = (decimal)prod.price;
            item.Quantity = qty;

            return item;
        }
        public ActionResult AddItem(int product_ID, int qty)
        {
            var session = (UserLogin)Session[CommonConstants.USER_SESSION];

            if (session == null)
            {
                ViewBag.Login = "******";
                return(RedirectToAction("Index", "LoginClient"));
            }
            else
            {
                var product = new ProductDAO().ViewDetail(product_ID);
                var cart    = Session[CartSession];
                if (cart != null)
                {
                    var list = (List <CartItemModel>)cart;
                    if (list.Exists(x => x.Product.id == product_ID))
                    {
                        foreach (var item in list)
                        {
                            if (item.Product.id == product_ID)
                            {
                                item.Qty += qty;
                            }
                        }
                    }
                    else
                    {
                        //create a new cart item
                        var item = new CartItemModel();
                        item.Product = product;
                        item.Qty     = qty;
                        list.Add(item);
                    }
                    //assigned to the session
                    Session[CartSession] = list;
                }
                else
                {
                    //create a new cart item
                    var item = new CartItemModel();
                    item.Product = product;
                    item.Qty     = qty;
                    var list = new List <CartItemModel>();
                    list.Add(item);

                    //assigned to the session
                    Session[CartSession] = list;
                }
                return(RedirectToAction("Index"));
            }
        }
Beispiel #17
0
    public void Initialize(CartItemModel itemInformation)
    {
        _itemInformation = itemInformation;

        itemPrice.text    = FormatPriceText(_itemInformation.Currency, _itemInformation.Price);
        itemName.text     = _itemInformation.Name;
        itemQuantity.text = _itemInformation.Quantity.ToString();

        if (_loadingRoutine == null && itemImage.sprite == null && _itemInformation.ImgUrl != "")
        {
            storeController.GetImageAsync(_itemInformation.ImgUrl, LoadImageCallback);
        }
    }
Beispiel #18
0
 public IActionResult DeleteCartItem(CartItemModel cartItem)
 {
     try
     {
         cartItemService.DeleteProductInCart(cartItem);
         int id = cartItem.id;
         return(Ok());
     }
     catch (Exception)
     {
         return(BadRequest());
     }
 }
 private async Task OnUpdateCartItemCompleted(CartItemModel cartItem)
 {
     if (cartItem.Quantity == 0)
     {
         Carts.Remove(cartItem);
     }
     else
     {
         var cart = Carts.FirstOrDefault(x => x.ProductId == cartItem.ProductId);
         cart.Quantity = cartItem.Quantity;
     }
     UpdateOrderSummaryUI();
 }
Beispiel #20
0
        public async Task <IActionResult> Add(int id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }

            // check if product exist
            var productServiceClient = new ProductServiceClient();
            var selectedItem         = await productServiceClient.GetProductById(id);

            if (selectedItem == null)
            {
                return(RedirectToAction("Index"));
            }

            // check if there are already cart instance
            var cartItems = new List <CartItemModel>();

            if (HttpContext.Session.GetString(_cartItesmSessionKey) != null)
            {
                cartItems = JsonConvert.DeserializeObject <List <CartItemModel> >(HttpContext.Session.GetString(_cartItesmSessionKey));
            }

            // check if the item are already in the cart
            // if the item is already in the cart,
            // increase the quantity by 1
            if (cartItems.Exists(x => x.Id == selectedItem.Id))
            {
                cartItems.Find(x => x.Id == selectedItem.Id).Quantity++;
            }
            else
            {
                var item = new CartItemModel
                {
                    Id           = selectedItem.Id,
                    Name         = selectedItem.Name,
                    Price        = selectedItem.Price,
                    ProductImage = selectedItem.ProductImage,
                    Quantity     = 1
                };

                cartItems.Add(item);
            }

            // add to session
            HttpContext.Session.SetString(_cartItesmSessionKey, JsonConvert.SerializeObject(cartItems));
            HttpContext.Session.SetInt32(_cartItemsCountSessionKey, cartItems.Count());

            return(RedirectToAction("Index"));
        }
Beispiel #21
0
 protected void Button_Addtocart_Click1(object sender, EventArgs e)
 {
     if (Session[Constants.USER_ID] is null)
     {
         Session[Constants.REDIRECT_BOOK] = Label_ISBN.Text;
         Response.Redirect("~/Login.aspx");
     }
     else
     {
         CartItemModel.AddToCart(Label_ISBN.Text, Session[Constants.USER_ID].ToString(), Convert.ToInt32(TextBox_Quantity.Text));
         Response.Write("<script LANGUAGE='JavaScript' >alert('Book added successful')</script>");
         TextBox_Quantity.Text = "";
     }
 }
Beispiel #22
0
        public JsonResult RemoveFromCart(Guid id)
        {
            var           c    = cartService.GetCart(HttpContext.Session);
            CartItemModel item = c.LineList.FirstOrDefault(x => x.Item.ID == id);

            if (item != null)
            {
                c.RemoveLine(item);
            }

            cartService.SetCart(c, HttpContext.Session);

            return(Json(Url.Action("Display", "Cart")));
        }
Beispiel #23
0
        public async Task <CartItemModel> UpdateAsync(CartItemModel cartModel)
        {
            var cart = await _context.Cart.FirstOrDefaultAsync(s => s.Id == cartModel.Id);

            if (cart == null)
            {
                throw new ArgumentException();
            }

            cart.Count = cartModel.Count;
            await _context.SaveChangesAsync();

            return(cartModel);
        }
Beispiel #24
0
 protected void Page_Load(object sender, EventArgs e)
 {
     Label2.Text = DateTime.Now.ToString();
     if (!IsPostBack)
     {
         string username = Session[Constants.USER_ID].ToString();
         GridView1.DataSource = CartItemModel.GetCartItems(username);
         GridView1.DataBind();
         List <UserDetail> user = new List <UserDetail>();
         user.Add(UserDetailModel.GetUserByUserName(username));
         DetailsView1.DataSource = user;
         DetailsView1.DataBind();
     }
 }
        private async Task OnAddProductToCartCompleted(CartItemModel cartItem)
        {
            var cart = Carts.FirstOrDefault(x => x.ProductId == cartItem.ProductId);

            if (cart == null)
            {
                Carts.Add(cartItem);
            }
            else
            {
                cart.Quantity = cartItem.Quantity;
            }
            UpdateCart();
        }
 protected void RefreshButton_Click(object sender, EventArgs e)
 {
     foreach (GridViewRow row in GridView1.Rows)
     {
         if (row.RowType == DataControlRowType.DataRow)
         {
             TextBox textBox     = row.FindControl("TextBox1") as TextBox;
             int     newQuantity = Convert.ToInt32(textBox.Text);
             int     cartItemId  = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Values[0]);
             CartItemModel.UpdateCartItemQuantity(cartItemId, newQuantity);
         }
     }
     BindGrid();
     TotalAmountLabel.Text = string.Format("{0:C}", TotalPrice(CartItemModel.GetCartItems(username)));
 }
Beispiel #27
0
        public static CartItemModel ToCartItemModel(ShoppingCartItem shoppingCartItem)
        {
            var cartItem = new CartItemModel {
                Id     = shoppingCartItem.Id,
                Amount = shoppingCartItem.Amount,
                Item   = ToItemCartModel(shoppingCartItem.Item),
                User   = shoppingCartItem.User
            };

            //Be aware of object items cycle
            //We already specify the cart items. No need to specify them to user too
            cartItem.User.ShoppingCartItems = null;

            return(cartItem);
        }
Beispiel #28
0
        private void Remove(CartItemModel model)
        {
            _cartService.RemoveFromCart(UserId, model.Product.Id);
            Items.Remove(model);
            CheckCartIsEmpty();

            var eventPayload = new CartItemEventModel
            {
                Product  = model.Product,
                Quantity = model.Quantity,
                Action   = CartAction.Remove
            };

            _eventAggregator.GetEvent <UpdateUserCartEvent>().Publish(eventPayload);
        }
        public void AddToCart()
        {
            var item = new CartItemModel
            {
                Product        = SelectedProduct,
                QuantityInCart = ItemQuantity
            };

            CartModelDto.AddProduct(item);

            NotifyOfPropertyChange(() => Cart);
            NotifyOfPropertyChange(() => Subtotal);
            NotifyOfPropertyChange(() => Tax);
            NotifyOfPropertyChange(() => Total);
        }
Beispiel #30
0
        public async Task <IActionResult> Edit(CartItemModel cartItemModel)
        {
            if (cartItemModel.Id <= 0)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                await _cartRepository.UpdateAsync(cartItemModel);

                return(RedirectToAction(nameof(Index)));
            }

            return(View(cartItemModel));
        }
        public async Task VerifyRemoveItemGetsCalledOnServiceWhenRemovingItem()
        {
            var shoppingCartService = new Mock <IShoppingCartService>();
            var viewModel           = new ShoppingCartViewModel(shoppingCartService.Object);

            var book = new BookDto {
                Id = 5, Title = "Some book"
            };
            var cartItem = new CartItemModel
            {
                Book = book
            };
            await viewModel.RemoveOne(cartItem);

            shoppingCartService.Verify(s => s.RemoveFromCart(book), Times.Once);
        }
Beispiel #32
0
        //
        // GET: /Cart/
        public ActionResult Index()
        {
            decimal total = 0;
            using (QLBHEntities ctx = new QLBHEntities())
            {
                List<CartItemModel> list = new List<CartItemModel>();
                Cart cart = CurrentContext.GetCart();

                foreach (var item in cart.Items)
                {
                    Product pro = ctx.Products.Where(p => p.ProID == item.ProID).First();

                    CartItemModel cim = new CartItemModel
                    {
                        Item = item,
                        Product = pro
                    };

                    total += pro.Price * item.Quantity;
                    list.Add(cim);
                }
                ViewBag.Total = total;
                return View(list);
            }
        }