コード例 #1
0
        public ProductsOnCart PostClientCart(int id, [FromBody] ProductsOnCart product)
        {
            var cart        = _context.ClientCart.SingleOrDefault(ca => ca.ClientAccoundId == id);
            var productInDb = _context.ProductsOnCart.Include(p => p.Product).SingleOrDefault(p => p.ClientCartId == cart.Id && p.ProductId == product.ProductId);

            productInDb.Quantity             = product.Quantity;
            productInDb.TotalPricePerProduct = productInDb.Product.Price * product.Quantity;

            _context.SaveChanges();



            return(productInDb);
        }
コード例 #2
0
        public void Put(int id, [FromBody] Product value)
        {
            var product          = _context.ProductsOnCart.SingleOrDefault(p => p.ProductId == id);
            var addProductOnCart = new ProductsOnCart();

            if (product != null)
            {
                product.Quantity++;
            }
            else
            {
                addProductOnCart.ClientCartId = 1;
                addProductOnCart.ProductId    = id;
                addProductOnCart.Quantity     = 1;
                _context.ProductsOnCart.Add(addProductOnCart);
            }

            _context.SaveChanges();
        }
コード例 #3
0
        public void Post(int id, [FromBody] ProductsOnCart products)
        {
            var clientCart = _context.ClientCart.Include(c => c.Products).SingleOrDefault(c => c.ClientAccoundId == id);
            var bills      = new Bill
            {
                ClientAccountId    = id,
                OrderPlacementDate = DateTime.Now,
                OrderStatus        = "Comanda primita",
                TotalPrice         = clientCart.TotalPriceOfCartForUser.Value
            };

            var billsProduct = new List <ProductsOnBills>();

            foreach (var productOnCart in clientCart.Products)
            {
                var productsOnBill = new ProductsOnBills
                {
                    ProductId            = productOnCart.ProductId,
                    Quantity             = productOnCart.Quantity,
                    TotalPricePerProduct = productOnCart.TotalPricePerProduct,
                    BillId = bills.BillId
                };
                billsProduct.Add(productsOnBill);
            }
            bills.Products = billsProduct;
            _context.Bills.Add(bills);
            _context.Remove(clientCart);

            _context.SaveChanges();

            //var productsOnBill = new List<ProductsOnBills>();
            //foreach(var product in clientCart.Products)
            //{
            //    productsOnBill.Add(product)
            //}
        }
コード例 #4
0
        public void PutProductInCart(int id, int clientId, [FromBody] ProductsAndShoopingCartViewModel productOnCart)
        {
            var clientCart = _context.ClientCart.Include(c => c.Products).SingleOrDefault();

            if (clientCart != null)
            {
                var productExist = clientCart.Products.SingleOrDefault(c => c.ProductId == id);

                if (productExist != null)
                {
                    productExist.Quantity++;
                    var product = _context.Products.SingleOrDefault(p => p.ProductId == id);
                    productExist.TotalPricePerProduct = product.Price * productExist.Quantity;
                }
                else
                {
                    var product = _context.Products.SingleOrDefault(p => p.ProductId == id);
                    productExist = new ProductsOnCart
                    {
                        Product              = product,
                        ClientCartId         = clientCart.Id,
                        Quantity             = 1.0,
                        TotalPricePerProduct = product.Price * 1,
                    };

                    clientCart.Products.Add(productExist);
                }
                double?total = 0.0;
                foreach (var product in clientCart.Products)
                {
                    total = total + product.TotalPricePerProduct;
                }
                clientCart.TotalPriceOfCartForUser = total;
                _context.SaveChanges();
            }
            else
            {
                var product = _context.Products.SingleOrDefault(p => p.ProductId == id);

                var newCartOfClient = new ClientCart
                {
                    ClientAccoundId         = clientId,
                    TotalPriceOfCartForUser = product.Price * 1.0
                };

                var cartWithNoProductsInIt = new ProductsOnCart
                {
                    ClientCartId         = newCartOfClient.Id,
                    ClientCart           = newCartOfClient,
                    Product              = product,
                    ProductId            = id,
                    Quantity             = 1.0,
                    TotalPricePerProduct = product.Price * 1.0
                };


                _context.Add(newCartOfClient);

                _context.Add(cartWithNoProductsInIt);
                _context.SaveChanges();


                //trebuie verificat
            }
        }