Esempio n. 1
0
        public ActionResult Edit(int id)
        {
            CurrentCart = Carts.FirstOrDefault(x => x.UId == Convert.ToInt32(Session["UId"]));
            CartItem CI = CurrentCart.Check.FirstOrDefault(x => x.product.ProductID == id);

            return(View(CI));
        }
Esempio n. 2
0
        public List <Cart> Update(int ProductID, int Quantity)
        {
            var obj = Carts.FirstOrDefault(x => x.ProductID == ProductID);

            if (obj != null)
            {
                obj.Quantity = Quantity;
            }
            return(Carts);
        }
Esempio n. 3
0
        public List <Cart> Remove(int ProductID)
        {
            var obj = Carts.FirstOrDefault(x => x.ProductID == ProductID);

            if (obj != null)
            {
                Carts.Remove(obj);
            }
            return(Carts);
        }
Esempio n. 4
0
 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();
 }
Esempio n. 5
0
        public ActionResult Edit(CartItem EditedCartItem)
        {
            CurrentCart = Carts.FirstOrDefault(x => x.UId == Convert.ToInt32(Session["UId"]));
            if (ModelState.IsValid)
            {
                CartItem CI = CurrentCart.Check.FirstOrDefault(x => x.product.ProductID == EditedCartItem.product.ProductID);
                CI.Count = EditedCartItem.Count;


                return(RedirectToAction("index"));
            }
            return(View(EditedCartItem));
        }
Esempio n. 6
0
 public PartialViewResult GetPoductCount()
 {
     CurrentCart = Carts.FirstOrDefault(x => x.UId == Convert.ToInt32(Session["UId"]));
     if (CurrentCart != null)
     {
         ViewBag.ProductCount = CurrentCart.Check.Count;
     }
     else
     {
         ViewBag.ProductCount = 0;
     }
     return(PartialView());
 }
Esempio n. 7
0
        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();
        }
Esempio n. 8
0
        public List <Cart> Add(Cart cart)
        {
            var obj = Carts.FirstOrDefault(x => x.ProductID == cart.ProductID);

            if (obj != null)
            {
                obj.Quantity = obj.Quantity + cart.Quantity;
            }
            else
            {
                Carts.Add(cart);
            }
            return(Carts);
        }
Esempio n. 9
0
 //[HttpPost]
 public ActionResult Remove(int?id = null)
 {
     CurrentCart = Carts.FirstOrDefault(x => x.UId == Convert.ToInt32(Session["UId"]));
     if (ModelState.IsValid)
     {
         CartItem CI = CurrentCart.Check.FirstOrDefault(x => x.product.ProductID == id);
         CurrentCart.Check.Remove(CI);
         return(RedirectToAction("Bucket", new { id = (int)Session["UId"] }));
     }
     else
     {
         return(View());
     }
 }
        public override decimal Calculate()
        {
            decimal totalPrice = 0.0M;
            int     currentQty = Carts.FirstOrDefault().Qty;

            while (currentQty > 0)
            {
                if (currentQty >= NoOfItemsCombineTo)
                {
                    totalPrice += FixedPrice;
                    currentQty -= NoOfItemsCombineTo;
                    continue;
                }
                totalPrice += Carts.FirstOrDefault().Product.Price;
                currentQty -= 1;
            }
            return(totalPrice);
        }
Esempio n. 11
0
        // GET: Product
        public ActionResult Index(string ProdType, int ProdOnPage = 3, int Page = 1)
        {
            object UserId = Session["UId"];

            if (!Session.IsNewSession)
            {
                CurrentCart = Carts.FirstOrDefault(x => x.UId == Session.LCID);
            }
            else
            {
                CurrentCart = new Cart {
                    UId = Session.LCID
                };
                Carts.Add(CurrentCart);
                Session["UId"] = Session.LCID;
                UId++;
            }
            ViewBag.ProdType     = ProdType;
            ViewBag.ProdOnPage   = ProdOnPage;
            ViewBag.Page         = Page;
            ViewBag.UId          = CurrentCart.UId;
            ViewBag.ProductCount = CurrentCart.Check.Count;
            IEnumerable <FShop.DB.DB.Product> products;
            int count = 0;

            if (!string.IsNullOrEmpty(ProdType))
            {
                count    = repository.Prod.Where(x => x.Category == ProdType).Count();
                products = repository.Prod.Where(x => x.Category == ProdType).Skip((Page - 1) * ProdOnPage).Take(ProdOnPage);
            }
            else
            {
                count    = repository.Prod.Count();
                products = repository.Prod.Skip((Page - 1) * ProdOnPage).Take(ProdOnPage);
            }
            ViewBag.Count = Math.Ceiling((decimal)count / ProdOnPage);
            if (Math.Ceiling((decimal)count / ProdOnPage) < Page)
            {
                ViewBag.Page = Math.Ceiling((decimal)count / ProdOnPage) < Page;
            }

            return(View(products));
        }
Esempio n. 12
0
        public ActionResult AddProduct(int prodId)
        {
            CurrentCart = Carts.FirstOrDefault(x => x.UId == Convert.ToInt32(Session["UId"]));
            if (prodId != 0)
            {
                CartItem CI = CurrentCart.Check.FirstOrDefault(x => x.product.ProductID == prodId);
                if (CI == null)
                {
                    CurrentCart.Check.Add(
                        new CartItem
                    {
                        product = repository.Prod.FirstOrDefault(x => x.ProductID == prodId),
                        Count   = 1
                    });
                }
                else
                {
                    CI.Count++;
                }
            }

            ViewBag.ProductCount = CurrentCart.Check.Count;
            return(PartialView());
        }
Esempio n. 13
0
        public string SolvePart1(string input, IProgress <string> progress = null)
        {
            Parse(input);
            while (true)
            {
                foreach (var cart in Carts.OrderBy(c => c.Y).ThenBy(c => c.X))
                {
                    var next        = cart.GetNextLocation();
                    var crashedCart = Carts.FirstOrDefault(c => c.X == next.x && c.Y == next.y);
                    if (crashedCart != null)
                    {
                        return(next.ToString());
                    }

                    char track = LookAhead(cart);
                    switch (cart.Direction)
                    {
                    case Direction.Up:
                        cart.Y--;
                        switch (track)
                        {
                        case '\\':
                            cart.Direction = Direction.Left;
                            break;

                        case '/':
                            cart.Direction = Direction.Right;
                            break;

                        case '+':
                            IntersectionTurn(cart);
                            break;
                        }
                        break;

                    case Direction.Down:
                        cart.Y++;
                        switch (track)
                        {
                        case '\\':
                            cart.Direction = Direction.Right;
                            break;

                        case '/':
                            cart.Direction = Direction.Left;
                            break;

                        case '+':
                            IntersectionTurn(cart);
                            break;
                        }
                        break;

                    case Direction.Left:
                        cart.X--;
                        switch (track)
                        {
                        case '\\':
                            cart.Direction = Direction.Up;
                            break;

                        case '/':
                            cart.Direction = Direction.Down;
                            break;

                        case '+':
                            IntersectionTurn(cart);
                            break;
                        }
                        break;

                    case Direction.Right:
                        cart.X++;
                        switch (track)
                        {
                        case '\\':
                            cart.Direction = Direction.Down;
                            break;

                        case '/':
                            cart.Direction = Direction.Up;
                            break;

                        case '+':
                            IntersectionTurn(cart);
                            break;
                        }
                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                    }
                }
            }
        }
Esempio n. 14
0
 public ActionResult ClearBucket()
 {
     CurrentCart = Carts.FirstOrDefault(x => x.UId == Convert.ToInt32(Session["UId"]));
     CurrentCart.Check.Clear();
     return(RedirectToAction("Bucket", new { id = (int)Session["UId"] }));
 }
Esempio n. 15
0
 public ActionResult Bucket(int id)
 {
     CurrentCart = Carts.FirstOrDefault(x => x.UId == id);
     return(View(CurrentCart));
 }