Пример #1
0
        public CartSummaryViewModel GetCartSummary(HttpContextBase httpContext)
        {
            Cart cart = GetCart(httpContext, false);

            CartSummaryViewModel model = new CartSummaryViewModel(0, 0);

            if (cart != null)
            {
                int?cartCount = (from item in cart.CartItems
                                 select item.Quantity).Sum();

                decimal?cartTotal = (from
                                     item in cart.CartItems join p in productContext.Collection()
                                     on item.ProductId equals p.Id
                                     select item.Quantity *p.Price)
                                    .Sum();
                model.CartCount = cartCount ?? 0;
                model.CartTotal = cartTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Пример #2
0
        ////Provide a Cart summary which will simply be a total list of all the items in a Cart and a total quantity in the Cart. for this I need a another view model

        public CartSummaryViewModel GetCartSummary(HttpContextBase httpContext)
        {
            //The first thing I need to do is get my cart and again as before I want to not create the cart if its currently empty.
            Cart cart = GetCart(httpContext, false);
            //create our view model and default it (0,0). this is why I created construct solved by default zero item zero cart total
            CartSummaryViewModel model = new CartSummaryViewModel(0, 0);

            if (cart != null)
            {
                //The first calculate how many items are in the cart. I used linq query
                //select just the quantities from each item our cart and then sum them up.
                int?cartCount = (from item in cart.CartItems
                                 select item.Quanity).Sum();

                decimal?cartTotal = (from item in cart.CartItems
                                     join p in productContext.Collection() on item.ProductId equals p.Id
                                     select item.Quanity *p.Price).Sum();

                //the final step is to assign these values to our model.
                model.CartCount = cartCount ?? 0;
                model.CartTotal = cartTotal ?? decimal.Zero;

                return(model);
            }
            else
            {
                return(model);
            }
        }
Пример #3
0
        public void GetCartSummary()
        {
            //Arrange
            MockRepository <Product>  productContext  = new MockRepository <Product>();
            MockRepository <Cart>     cartContext     = new MockRepository <Cart>();
            MockRepository <CartItem> cartItemContext = new MockRepository <CartItem>();

            productContext.Insert(new Product {
                Id = "1", Price = 10
            });
            productContext.Insert(new Product {
                Id = "2", Price = 20
            });

            //Act
            CartService cart = new CartService(productContext, cartContext, cartItemContext);

            cart.AddToCart(context.Object, "1");
            cart.AddToCart(context.Object, "2");
            cart.AddToCart(context.Object, "2");

            //Assert
            CartSummaryViewModel result = cart.GetCartSummary(context.Object);

            Assert.IsTrue(result.CartCount == 3 && result.CartTotal == 50);
        }
Пример #4
0
        public CartSummaryViewModel GetCartSummary(HttpContextBase httpContext)
        {
            Cart cart = GetCart(httpContext, false);                     //no need to create if it's empty
            CartSummaryViewModel model = new CartSummaryViewModel(0, 0); //show zeros in home page

            if (cart != null)
            {   //count the total quantity from the cart table
                //? means return null if no ietms
                int?cartCount = (from item in cart.CartItems
                                 select item.Quantity).Sum();

                decimal?cartTotal = (from item in cart.CartItems
                                     join p in productContext.Collection() on item.ProductId equals p.Id
                                     select item.Quantity *p.Price).Sum();

                model.CartCount = cartCount ?? 0;       //retunr 0 if not value in cartCount
                model.CartTotal = cartTotal ?? decimal.Zero;


                return(model);
            }
            else
            {
                return(model);
            }
        }
        public ViewViewComponentResult Invoke()
        {
            var model = new CartSummaryViewModel {
                Cart = _cartSessionService.GetCart()
            };

            return(View(model));
        }
Пример #6
0
        public ActionResult CartSummary()
        {
            var model = new CartSummaryViewModel
            {
                Cart = _cartSessionService.GetCart()
            };

            return(PartialView("_PartialCartSummaryView", model));
        }
Пример #7
0
        public ViewViewComponentResult Invoke()
        {
            var model = new CartSummaryViewModel
            {
                Cart = _cartSessionService.GetCart()
            };

            return(View("/Views/Components/CartSummart/Default.cshtml", model));
        }
Пример #8
0
        public async Task <IViewComponentResult> InvokeAsync()
        {
            var cartSummaryViewModel = new CartSummaryViewModel
            {
                Cart = _cartSessionService.GetCart()
            };

            return(await Task.Run(() => View(cartSummaryViewModel)));
        }
        public IActionResult ListCart()
        {
            var cartViewModel = new CartSummaryViewModel
            {
                Cart = _cartSessionService.GetCart()
            };

            return(View(cartViewModel));
        }
Пример #10
0
        // GET: Cart
        public ViewResult Summary(Cart cart, string returnUrl = null)
        {
            CartSummaryViewModel summaryVM = new CartSummaryViewModel {
                Cart      = cart,
                ReturnUrl = returnUrl
            };

            return(View(summaryVM));
        }
        public ViewViewComponentResult Invoke()
        {
            var model = new CartSummaryViewModel
            {
                //bana kart bilgisi kim verir
                Cart = _cartSessionService.GetCart()
            };

            return(View(model));
        }
Пример #12
0
        public ActionResult List()
        {
            var cart = _cartSessionService.GetCart();
            CartSummaryViewModel viewModel = new CartSummaryViewModel
            {
                Cart = cart
            };

            return(View(viewModel));
        }
        public async Task <IViewComponentResult> InvokeAsync()
        {
            var cartSummary = new CartSummaryViewModel()
            {
                NumberOfItems = cart.NumberOfItems(),
                Price         = cart.ComputeTotalValue() * 1.23m
            };

            return(View(cartSummary));
        }
Пример #14
0
        public IViewComponentResult Invoke()
        {
            var model = new CartSummaryViewModel
            {
                Lines      = _cartProvider.Lines.ToList(),
                TotalValue = _cartProvider.ComputeTotalValue()
            };

            return(View("Default", model));
        }
Пример #15
0
        public PartialViewResult CartSummary()
        {
            Cart cart = Cart.GetCart();
            CartSummaryViewModel viewModel = new CartSummaryViewModel
            {
                NumberOfDishes = cart.GetNumberOfDish(),
                TotalCost      = cart.ComputeTotalValue()
            };

            return(PartialView(viewModel));
        }
Пример #16
0
        public PartialViewResult Summary()
        {
            Cart cart = Cart.GetCart();
            CartSummaryViewModel viewModel = new CartSummaryViewModel
            {
                NumberOfItems = cart.GetNumberOfItems(),
                TotalCost     = cart.GetTotalCost()
            };

            return(PartialView(viewModel));
        }
Пример #17
0
        public async Task <IViewComponentResult> InvokeAsync()
        {
            var items = await GetCartItems();

            var amount = CalculateCartAmount(items);
            var vm     = new CartSummaryViewModel()
            {
                CartAmount = amount
            };

            return(View(vm));
        }
        public PartialViewResult CartSummary()
        {
            CartSummaryViewModel model = new CartSummaryViewModel
            {
                Cart = serviceCart.GetCart(this.HttpContext),
            };

            //ServiceCart cart = serviceCart.GetCart(this.HttpContext);
            ViewBag.CountItem     = model.Cart.GetCountFromCart();/*cart.GetCountFromCart();*/
            ViewBag.TotalFromCart = model.Cart.GetTotalFromCart();
            //ViewBag.ReturnUrl = returnUrl;
            return(PartialView(model));
        }
        public CartSummaryViewModel GetCartSummary(CartViewModel cart)
        {
            var model = new CartSummaryViewModel();

            foreach (var productItem in cart.Products)
            {
                var product = _productWebService.GetProductById(productItem.ProductId);
                var size    = product.Sizes.Single(p => p.Size == productItem.Size);

                model.Items.Add(new CartSummaryItemViewModel(productItem, product, size));
            }

            return(model);
        }
Пример #20
0
        public void Can_Create_Correct_Summary_View_Model()
        {
            // Arrange
            CartController target = new CartController(mockRepo.Object, null);
            Cart           cart   = new Cart();
            Product        p1     = mockRepo.Object.Products.Where(p => p.ProductId == 1).FirstOrDefault();

            cart.AddToCart(p1);

            // Act
            CartSummaryViewModel result = (CartSummaryViewModel)(target.Summary(cart, "someUrl").Model);

            // Assert - correct cart is passed from Session.
            Assert.AreSame(result.Cart, cart);
            // Assert - return url is maintained.
            Assert.IsTrue(result.ReturnUrl == "someUrl");
        }
Пример #21
0
        public IViewComponentResult Invoke()
        {
            var cart = HttpContext.Session.GetObjectFromJson <Cart>("Cart");

            if (cart == null)
            {
                cart = new Cart();
            }

            var cartSummary = new CartSummaryViewModel
            {
                Total = cart.CartLines.Sum(x => x.Quantity),
                Sum   = cart.ComputeTotalValue().ToString("c")
            };

            return(View(cartSummary));
        }
Пример #22
0
        private CartSummaryViewModel GetCartSummaryViewModel()
        {
            var cartId = GetCartId(this.HttpContext);
            var total  = JsonUltility <decimal> .GetJsonResult(string.Format(ServiceUrl.CartAPI.GetTotal, cartId));

            var listCart = new List <Cart>();

            if (total > 0)
            {
                listCart = JsonUltility <List <Cart> > .GetJsonResult(string.Format(ServiceUrl.CartAPI.GetCart, cartId));
            }
            var viewModel = new CartSummaryViewModel();

            viewModel.ListCart = listCart;
            viewModel.Total    = total;
            return(viewModel);
        }
Пример #23
0
        public ActionResult CartSummary()
        {
            var cartId = GetCartId();

            var response = _cartService.GetCart(new GetCartRequest {
                Id = cartId
            });

            var model = new CartSummaryViewModel
            {
                Items         = response.Cart.Items,
                NumberOfItems = response.Cart.NumberOfItems,
                CartTotal     = response.Cart.CartTotal
            };

            return(PartialView("_CartSummary", model));
        }
Пример #24
0
        public async Task <ActionResult> CurrentOrder(CartSummaryViewModel csVM, Cart cart)
        {
            var          crt = cart;
            int          orderId;
            MailSender   mailSender   = new MailSender();
            OrderContext orderContext = new OrderContext();

            orderId = orderContext.SaveOrder(csVM, cart);
            orderContext.SetOrderedProducts(cart, orderId);
            SessionProcess.IsSessionDisposed = true;
            await mailSender.Send(csVM, cart);

            if (Session["Cart"] != null)
            {
                Session["Cart"] = null;
            }
            return(View(nameof(CurrentOrder), new CartIndexViewModel {
                Cart = crt
            }));
        }
Пример #25
0
        public ViewResult Index(int cartid)
        {
            var usercartitems = _cartItemRepo.Cart_Items.Where(x => x.CartId == cartid);

            var result = new List <CartSummaryViewModel>();

            foreach (var item in usercartitems)
            {
                foreach (var p in repository.Products)
                {
                    if (item.ProductNo == p.ProductNo)
                    {
                        var tempcartsummaryviewmodel = new CartSummaryViewModel(p.ProductName, p.Price, item.Quantity);
                        result.Add(tempcartsummaryviewmodel);
                    }
                }
            }

            ViewBag.ReturnUrl = TempData["returnUrl"];
            return(View(result));
        }
Пример #26
0
        public PartialViewResult GetShoppingCartSummary()
        {
            CartSummaryViewModel viewModel = cartService.GetCartSummary(this.HttpContext);

            return(PartialView(viewModel));
        }