Пример #1
0
        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));
        }
Пример #2
0
        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);
        }