public async Task <IActionResult> Add([FromBody] BasketProduct model) { if (model == null || !ModelState.IsValid) { return(BadRequest(new ApiResultModel { Code = (int)ApiResultMessageCode.RequestModelInvalidError, Message = (ApiResultMessageCode.RequestModelInvalidError).ToString() })); } var inStock = await _serviceWrapper.Product.CheckProductStock(model.ProductId); var basketDto = new ProductBasketDto { ProductId = model.ProductId, UserId = model.UserId, ProductCount = model.ProductCount, BasketId = model.BasketId }; var isAdded = await _serviceWrapper.Product.AddToBasket(basketDto); var result = SetResultModel(model, isAdded); return(Ok(result)); }
public async Task <bool> AddToBasket(ProductBasketDto basketDto) { var product = await _unitOfWork.ProductRepository.GetById(basketDto.ProductId); if (product == null) { return(false); } if (product.UserBaskets == null) { product.UserBaskets = new System.Collections.Generic.List <Data.Entity.Product.UserBasket>(); } product.UserBaskets.Add(new Data.Entity.Product.UserBasket { BasketId = basketDto.BasketId, UserId = basketDto.UserId }); var isUpdated = await _unitOfWork.ProductRepository.Update(product, basketDto.ProductId); await _unitOfWork.Commit(); return(isUpdated); }