public async Task <IActionResult> CreateShoppingCart() { var shoppingCart = new ShoppingCart { DateCreated = DateTime.Now }; repository.AddShoppingCart(shoppingCart); await unitOfWork.CompleteAsync(); shoppingCart = await repository.GetShoppingCartByCartId(shoppingCart.Id); return(Ok(shoppingCart.Id)); }
/// <summary> /// Yeni yaratılacak sepet için ürünün varlığını ve stoğunu kontrol ettikten sonra ekleme işlemi yapar /// </summary> /// <param name="Item">sepet içeriği</param> /// <returns>response code</returns> public string CreateShoppingCart(ShoppingCart Item) { string result = ResultCodes.OK; decimal totalPrice = 0; try { var existShoppingCart = _shoppingCartRepository.GetShoppingCartById(Item.Id); //gerçekten sepet daha önce yok mu? if (object.Equals(existShoppingCart, null)) { if (!ValidateShoppingCart(Item, ref result)) { return(result); } foreach (KeyValuePair <string, int> product in Item.Product) { var productInfo = _productRepository.GetProductById(ObjectId.Parse(product.Key)); productInfo.Stock -= product.Value; if (object.Equals(productInfo.Stock, 0)) { productInfo.IsActive = false; } _productRepository.UpdateProduct(productInfo); totalPrice += (productInfo.Price * product.Value); } Item.TotalPrice = totalPrice; _shoppingCartRepository.AddShoppingCart(Item); } else { UpdateShoppingCart(Item); } } catch (Exception ex) { result = ex.ToString(); } return(result); }
public async Task <IActionResult> AddShoppingCart(int userId) { return(Ok(await _shoppingCartRepository.AddShoppingCart(userId))); }