public async Task <IActionResult> UpdateBasket([FromBody] UpdateBasketStatusDto basketStatus) { var res = await _service.UpdateBasketStatusAsync(basketStatus); if (res.Success) { return(Ok(res)); } return(BadRequest(res)); }
public async Task <ServiceResponse <GetBasketDto> > UpdateBasketStatusAsync(UpdateBasketStatusDto updateBasketStatusDto) { var response = new ServiceResponse <GetBasketDto>(); try { var basket = await _context.Baskets.Include(x => x.Customer) .FirstOrDefaultAsync(c => c.Id == updateBasketStatusDto.Id); if (basket == null) { response.Success = false; response.Message = "Basket is not found"; response.Code = ErrorCode.BASKET_NOT_FOUND_ERROR; return(response); } basket.Status = updateBasketStatusDto.Status; _context.Baskets.Update(basket); _context.BasketLogs.Add(new BasketLog() { BasketId = basket.Id, Status = basket.Status, }); await _context.SaveChangeWithValidationAsync(); var getBasketDto = _mapper.Map <GetBasketDto>(basket); response.Data = getBasketDto; return(response); } catch (Exception ex) { response.Success = false; response.Message = ex.Message; response.Code = ErrorCode.BASKET_NOT_FOUND_ERROR; _logger.LogError(ex.Message, ex.StackTrace); return(response); } }