public ServiceResult <Basket> AddBasketItem(int productId, int quantity) { var buyerIdServiceResult = _buyerService.GetBuyerId(); if (buyerIdServiceResult.ResponseCode != ResponseCode.Success) { return(ServiceResult <Basket> .ErrorResult(buyerIdServiceResult.Error)); } var product = _productRepository.GetById(productId); if (product == null) { return(ServiceResult <Basket> .NotFoundResult($"El producto con id {productId} no existe")); } var basketServiceResult = FindBasketByUserId(buyerIdServiceResult.Result); if (basketServiceResult.ResponseCode != ResponseCode.Success) { return(CreateBasket(buyerIdServiceResult.Result, product, quantity)); } AddBasketItem(basketServiceResult.Result, product, quantity); _basebasketRepository.SaveChanges(); return(ServiceResult <Basket> .SuccessResult(basketServiceResult.Result)); }