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); }
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(); }
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) //} }
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 } }