public List <CartProductsModel> GetCartProducts(int userId)
        {
            List <CartProductsModel> cartProducts = new List <CartProductsModel>();
            var   cartData = CartProcessor.LoadCartProducts(userId);
            float total    = 0.0f;

            if (cartData != null)
            {
                foreach (var row in cartData)
                {
                    cartProducts.Add(new CartProductsModel
                    {
                        Id                 = row.Id,
                        ProductId          = row.ProductId,
                        ProductDescription = ProductProcessor.GetProduct(row.ProductId).Description,
                        ProductImagePath   = ProductProcessor.GetProduct(row.ProductId).ImagePath,
                        ProductQty         = row.ProductQty,
                        ProductPrice       = row.ProductPrice,
                        AddedDate          = row.AddedDate
                    });
                    total = total + (row.ProductQty * row.ProductPrice);
                }
            }
            ViewBag.Total = total;
            return(cartProducts);
        }
示例#2
0
        static void Main(string[] args)
        {
            //create the cart
            var cartProcessor = new CartProcessor(new ProductRepository());
            var currentCart   = cartProcessor.GetCart();

            PromotionHandler promo1 = new PromotionOnAHandler();
            PromotionHandler promo2 = new PromotionOnBHandler();
            PromotionHandler promo3 = new PromotionOnCandDHandler();

            promo1.SetNextPromotion(promo2);
            promo2.SetNextPromotion(promo3);

            while (true)
            {
                Console.WriteLine("Enter Product Name");
                var productSKU = Console.ReadLine();

                Console.WriteLine("Enter Product Qunatity");
                var quantity = Console.ReadLine();

                var productQuantity = 0;
                int.TryParse(quantity, out productQuantity);
                if (productQuantity > 0)
                {
                    cartProcessor.AddCartLine(productSKU, productQuantity);
                }
                else
                {
                    Console.WriteLine("Enter valid values");
                }
                promo1.ApplyPromotion(currentCart);
                Console.WriteLine($"Cart Total: {currentCart.Total}");
            }
        }
        public ActionResult AddProductToCart(int productId, int productQty)
        {
            int userId         = (int)Session["userId"];
            int recordsCreated = CartProcessor.AddProductToCart(userId, productId, productQty, ProductProcessor.GetProduct(productId).Price);

            TempData["productAdded"] = true;
            return(RedirectToAction("ShowProduct", new { productId = productId }));
        }
        public void AddToCartButton()
        {
            var user = GetPostLogin().User;

            CartProcessor.AddProductToCart(Product, user);

            (((Parent as VisitUserViewModel)?.Parent as PostLogInViewModel)?.Parent as MainViewModel)?.Notify($"{Product.Name} has been added to cart");
        }
示例#5
0
        public void Purchase(int userId)
        {
            int cartId = CartProcessor.GetActiveCartId(userId);

            if (cartId != 0)
            {
                CartProcessor.BuyProducts(userId, cartId);
            }
        }
示例#6
0
 public string CreateCart(int userId)
 {
     try
     {
         CartProcessor.CreateCart(UserProcessor.GetUser(userId));
         return("Cart created");
     }
     catch (Exception e)
     {
         return($"Cart creation failed: {e.Message}");
     }
 }
        public ActionResult DeleteProductFromCart(int productId)
        {
            if (IsActiveSession())
            {
                int userId         = (int)Session["userId"];
                int recordsCreated = CartProcessor.DeleteProductFromCart(productId, userId);

                //getting cart products
                List <CartProductsModel> cartProducts = GetCartProducts(userId);

                //setting store products
                StoreViewModel storeViewModel = new StoreViewModel
                {
                    StoreProducts = null,
                    CartProducts  = cartProducts
                };
                return(View("ViewCart", storeViewModel));
            }
            return(RedirectToAction("Login", "Login", null));
        }
 public void TestInit()
 {
     cartProc = new CartProcessor(new MyTaxManager());
 }
示例#9
0
 public List <ProductModel> GetProducts(int userId)
 {
     return(CartProcessor.GetCartProducts(userId));
 }
示例#10
0
 public string RemoveProduct(int productId, int userId)
 {
     CartProcessor.RemoveProductFromCart(productId, userId);
     return("Product has been removed");
 }
示例#11
0
 public string AddProduct(int productId, int userId)
 {
     CartProcessor.AddProductToCart(productId, UserProcessor.GetUser(userId));
     return("Product has been added");
 }