Пример #1
0
 public ActionResult Cart()
 {
     if (HttpContext.Session.GetInt32("LocId") != null)
     {
         try
         {
             int locId = (int)HttpContext.Session.GetInt32("LocId");
             return(View(_orderLineItemBL.GetCustomerOrderLineItemById
                             (_cartBL.GetCustomerCartByIds(_customerBL.GetCustomerByEmail(HttpContext.Session.GetString("UserEmail")).Id, locId).CurrentItemsId)
                         .Select(x => _mapper.cast2CartIndexVM(x,
                                                               _productBL.GetProductById((int)x.ProdId)
                                                               )).ToList()));
         }
         catch
         {
             return(Redirect($"/InventoryLineItem?locId={HttpContext.Session.GetInt32("LocId")}"));
         }
     }
     return(Redirect("/"));
 }
Пример #2
0
 public void GetCart()
 {
     try
     {
         _customerCart = _customerCartBL.GetCustomerCartByIds((int)_user.Id, (int)_location.Id);
         //_customerOrderLineItem = _customerOrderLineItemBL.GetCustomerOrderLineItemById((int)_customerCart.CurrentItemsId);
         foreach (var item in _customerOrderLineItemBL.GetCustomerOrderLineItems())
         {
             if (item.OrderId == _customerCart.CurrentItemsId)
             {
                 _customerOrderLineItem = item;
                 break;
             }
         }
     }
     catch (Exception)
     {
         CreateCustomerOrderLineItem();
         CreateCustomerCart();
     }
 }
        /*[HttpPost]
         * [ValidateAntiForgeryToken]*/
        public ActionResult AddToCart(int id, int amount) //(OrderItemVM item, int amount)
        {
            /*_executeOrder.AddItemToCart(_customerBL.GetCustomerByEmail(HttpContext.Session.GetString("UserEmail")),
             *  _inventoryLineItemBL.GetInventoryLineItemById(id), amount);*/

            //move to BL
            try
            {
                if (_inventoryLineItemBL.GetInventoryLineItemById(
                        _inventoryLineItemBL.GetInventoryLineItemById(id).InventoryId,
                        _inventoryLineItemBL.GetInventoryLineItemById(id).ProductId).Quantity > 0)
                {
                    bool updateCOLI            = false;
                    CustomerOrderLineItem coli = new CustomerOrderLineItem();
                    Customer     customer      = new Customer();
                    CustomerCart cart          = new CustomerCart();
                    customer = _customerBL.GetCustomerByEmail(HttpContext.Session.GetString("UserEmail"));
                    cart     = _cartBL.GetCustomerCartByIds(customer.Id, _inventoryLineItemBL.GetInventoryLineItemById(id).InventoryId);

                    coli.OrderId   = cart.CurrentItemsId;
                    coli.ProdId    = _inventoryLineItemBL.GetInventoryLineItemById(id).ProductId;
                    coli.Quantity  = amount;
                    coli.ProdPrice = _productBL.GetProductById(_inventoryLineItemBL.GetInventoryLineItemById(id).ProductId).ProdPrice;

                    foreach (var item in _coliBL.GetCustomerOrderLineItemById(cart.CurrentItemsId))
                    {
                        if (item.ProdId == null)
                        {
                            coli           = item;
                            coli.ProdId    = _inventoryLineItemBL.GetInventoryLineItemById(id).ProductId;
                            coli.Quantity  = amount;
                            coli.ProdPrice = _productBL.GetProductById(_inventoryLineItemBL.GetInventoryLineItemById(id).ProductId).ProdPrice;
                            updateCOLI     = true;
                            break;
                        }
                        else if (item.ProdId == _inventoryLineItemBL.GetInventoryLineItemById(id).ProductId)
                        {
                            coli           = item;
                            coli.Quantity += amount;
                            updateCOLI     = true;
                            break;
                        }
                    }
                    if (updateCOLI)
                    {
                        _coliBL.UpdateCustomerOrderLineItem(coli);
                    }
                    else
                    {
                        _coliBL.AddCustomerOrderLineItem(coli);
                    }
                    InventoryLineItem updateILI = _inventoryLineItemBL.GetInventoryLineItemById(id);
                    updateILI.Quantity -= 1;
                    _inventoryLineItemBL.UpdateInventoryLineItem(updateILI);
                    return(RedirectToAction("Index", new { locId = _inventoryLineItemBL.GetInventoryLineItemById(id).InventoryId }));
                }
                else
                {
                    return(RedirectToAction("Index", new { locId = _inventoryLineItemBL.GetInventoryLineItemById(id).InventoryId }));
                }
            }
            catch (Exception e)
            {
                return(RedirectToAction("Index", new { locId = _inventoryLineItemBL.GetInventoryLineItemById(id).InventoryId }));
            }



            /*coli = _coliBL.GetCustomerOrderLineItemById(cart.CurrentItemsId);
             * if (coli.ProdId == null)
             * {
             *  coli.ProdId =
             * }*/
        }