예제 #1
0
        public IActionResult OnPostReduceQuantity(int id)
        {
            CartWrapper wrapper = new CartWrapper(HttpContext.Session, _context);

            wrapper.ReduceQuantity(id);
            return(RedirectToPage());
        }
예제 #2
0
        public IActionResult OnPostAddToCart(int id)
        {
            CartWrapper cartWrapper = new CartWrapper(HttpContext.Session, _context);

            cartWrapper.AddDish(id);
            return(RedirectToAction("Index"));
        }
예제 #3
0
        public ActionResult ViewCart(int?id, int?quantity)
        {
            if (id != null)
            {
                int Quantity = 0;
                if (Session["AddToCart"] != null)
                {
                    CartWrapper Cart = (CartWrapper)Session["AddToCart"];
                    if (quantity == null || quantity >= 1)
                    {
                        Quantity = quantity.HasValue ? quantity.Value > 0 ? quantity.Value : 1 : 1;
                    }
                    else
                    {
                        Quantity = (int)quantity;
                    }
                    var item = _unitOfWork.PartsProducts.PartProductDetail(id, Quantity);
                    foreach (var CartItem in Cart.PartsProductsViewModelList)
                    {
                        if (CartItem.PartsProductId == item.PartsProductId)
                        {
                            CartItem.Quantity = CartItem.Quantity + item.Quantity;
                            Cart.SubTotal     = (item.UnitPrice * item.Quantity) + Cart.SubTotal;
                            break;
                        }
                    }

                    Cart.Tax             = Cart.SubTotal * (decimal).16;
                    Cart.Total           = Cart.Tax + Cart.SubTotal;
                    Session["AddToCart"] = Cart;
                }
            }
            return(PartialView("_ViewCart"));
        }
예제 #4
0
        public ActionResult shipment(ShipmentViewModel shipmentViewModel)
        {
            CartWrapper cart = new CartWrapper();

            cart = (CartWrapper)Session["AddToCart"];
            Order order = new Order()
            {
                First_Name      = shipmentViewModel.First_Name,
                Last_Name       = shipmentViewModel.Last_Name,
                MobileNumber    = shipmentViewModel.MobileNumber,
                ShippingAddress = shipmentViewModel.ShippingAddress,
                CityId          = Convert.ToInt32(shipmentViewModel.SelectedCity),
                OrderDate       = DateTime.Now,
                TaxAmount       = cart.Tax,
                TotalAmount     = cart.Total,
                SubTotal        = cart.SubTotal,
                UserId          = shipmentViewModel?.UserId,
                OrderStatusId   = 1,
                OrderDetails    = OrderDetails(cart)
            };
            Order orderNo = _unitOfWork.Order.Add(order);

            _unitOfWork.Complete();
            _unitOfWork.Dispose();
            Session["AddToCart"] = null;
            return(RedirectToAction("Invoice", orderNo));
        }
예제 #5
0
 public void OnGet()
 {
     Cart = new CartWrapper(HttpContext.Session, _context).Cart;
     if (Cart.Dishes.Any())
     {
         Total = Cart.Dishes.Sum(item => item.Dish.Price * item.Quantity);
     }
     else
     {
         Total = 0;
     }
 }
예제 #6
0
        public List <OrderDetail> OrderDetails(CartWrapper cart)
        {
            List <OrderDetail> ord = new List <OrderDetail>();

            if (cart.PartsProductsViewModelList.Count >= 0 && cart.PartsProductsViewModelList != null)
            {
                foreach (var item in cart.PartsProductsViewModelList)
                {
                    OrderDetail orderDetail = new OrderDetail();
                    orderDetail.PartsProductId                = item.PartsProductId;
                    orderDetail.Quantity                      = item.Quantity;
                    orderDetail.ProductUnitPrice              = item.UnitPrice;
                    orderDetail.ItemQuanitiyPrice             = (item.UnitPrice * item.Quantity);
                    orderDetail.Discount                      = 0;
                    orderDetail.ProductUnitPriceAfterDiscount = 0;
                    ord.Add(orderDetail);
                }
            }
            return(ord);
        }
예제 #7
0
        public ActionResult RemoveFromCart(int id)
        {
            CartWrapper Cart = (CartWrapper)Session["AddToCart"];

            if (Cart.PartsProductsViewModelList.Count > 0)
            {
                foreach (var item in Cart.PartsProductsViewModelList)
                {
                    if (item.PartsProductId == id)
                    {
                        Cart.SubTotal = Cart.SubTotal - (item.Quantity * item.UnitPrice);
                        Cart.Tax      = Cart.SubTotal * (decimal).16;
                        Cart.Total    = Cart.SubTotal + Cart.Tax;
                        Cart.PartsProductsViewModelList.Remove(item);
                        break;
                    }
                }
            }
            Session["AddToCart"] = Cart;
            return(PartialView("_ViewCart"));
        }
예제 #8
0
        //[ChildActionOnly]
        public ActionResult AddToCart(int?id, int?quantity)
        {
            if (id != null)
            {
                if (Session["AddToCart"] == null)
                {
                    int Quantity = quantity.HasValue ? quantity.Value > 0 ? quantity.Value : 1 : 1;
                    var item     = _unitOfWork.PartsProducts.PartProductDetail(id, Quantity);
                    List <PartsProductsViewModel> Cart = new List <PartsProductsViewModel>();
                    Cart.Add(item);

                    CartWrapper cartWarpper = new CartWrapper();
                    cartWarpper.PartsProductsViewModelList = Cart;
                    cartWarpper.SubTotal = item.UnitPrice * item.Quantity;
                    cartWarpper.Tax      = (cartWarpper.SubTotal * (decimal).16);
                    cartWarpper.Total    = cartWarpper.SubTotal + cartWarpper.Tax;
                    Session["AddToCart"] = cartWarpper;
                }
                else
                {
                    bool        IsInCart = false;
                    CartWrapper Cart     = (CartWrapper)Session["AddToCart"];
                    int         Quantity = quantity.HasValue ? quantity.Value > 0 ? quantity.Value : 1 : 1;
                    var         item     = _unitOfWork.PartsProducts.PartProductDetail(id, Quantity);
                    if (Quantity >= 1)
                    {
                        if (Cart.PartsProductsViewModelList.Count == 0)
                        {
                            Cart.SubTotal = 0;
                            Cart.Tax      = 0;
                            Cart.Total    = 0;
                            Cart.PartsProductsViewModelList.Add(item);
                            Cart.SubTotal        = item.UnitPrice * item.Quantity;
                            Cart.Tax             = (Cart.SubTotal * (decimal).16);
                            Cart.Total           = Cart.SubTotal + Cart.Tax;
                            Session["AddToCart"] = Cart;
                            return(PartialView("_AutoSolutionCart"));
                        }
                        else
                        {
                            foreach (var CartItem in Cart.PartsProductsViewModelList)
                            {
                                if (CartItem.PartsProductId == item.PartsProductId)
                                {
                                    CartItem.Quantity = CartItem.Quantity + item.Quantity;
                                    Cart.SubTotal     = (item.UnitPrice * item.Quantity) + Cart.SubTotal;
                                    IsInCart          = true;
                                    break;
                                }
                            }
                            if (IsInCart != true)
                            {
                                Cart.PartsProductsViewModelList.Add(item);
                                Cart.SubTotal = (item.UnitPrice * item.Quantity) + Cart.SubTotal;
                                IsInCart      = false;
                            }
                        }
                    }
                    Cart.Tax   = Cart.SubTotal * (decimal).16;
                    Cart.Total = Cart.Tax + Cart.SubTotal;

                    Session["AddToCart"] = Cart;
                }
            }


            return(PartialView("_AutoSolutionCart"));
        }