public static async Task AddProducts(this IShoppingCartService service, ProductDto[] products) { foreach (var p in products) { await service.AddAsync(p); } }
public async Task <int> AddShoppingCart(ShoppingCartDto model) { IProductService service2 = new ProductService(); var product = await service2.QueryAsync(model.ProductId); return(await _service.AddAsync(new ShoppingCart() { ProductId = model.ProductId, ColorId = product.ColorId, SizeId = product.SizeId, Number = 1, UserId = model.UserId })); }
public async Task <IActionResult> Addtocart(ShoppingCartDto shoppingCartDto) { ErrorDto errorDto = new ErrorDto(); var usercontrole = await _shoppingCartService.AppuserControl(shoppingCartDto.AppuserId); if (!usercontrole.IsOk) { errorDto.Errors = usercontrole.Errors; errorDto.Status = usercontrole.Status; return(NotFound(errorDto)); } var userproductstokcontrol = await _shoppingCartService.ProductStockControl(shoppingCartDto.ProductId, shoppingCartDto.Count); if (!userproductstokcontrol.IsOk) { errorDto.Errors = usercontrole.Errors; errorDto.Status = usercontrole.Status; return(NotFound(errorDto)); } var shoppingCartControl = await _shoppingCartService.ShoppingCartControl(shoppingCartDto.ProductId, shoppingCartDto.AppuserId); if (!shoppingCartControl.IsOk) { var newshoppingCartDto = await _shoppingCartService.AddAsync(_mapper.Map <ShoppingCart>(shoppingCartDto)); return(Created(string.Empty, _mapper.Map <ShoppingCartDto>(newshoppingCartDto))); } var shoppingCart = shoppingCartControl.Model; shoppingCart.Count = shoppingCart.Count + shoppingCartDto.Count; if (userproductstokcontrol.Model.Stock < shoppingCart.Count) { errorDto.Status = 400; errorDto.Errors.Add("Product is out of stock"); return(NotFound(errorDto)); } var cart = _shoppingCartService.Update(shoppingCart); return(Ok(cart)); }