public async Task <ActionResult <ShoppingCart> > UpdateBasket([FromBody] ShoppingCart basket) { //TODO: communication with Discount.Grpc foreach (var item in basket.Items) { var coupon = await _discountGrpcService.GetDiscount(item.ProductName); item.Price -= coupon.Amount; } return(Ok(await _repository.UpdateBasket(basket))); }
public async Task <ActionResult <ShoppingCartResponseDto> > Update([FromBody] ShoppingCartCommandDto basket) { foreach (var item in basket.Items) { var coupon = await _discountGrpcService.GetDiscount(item.ProductId); item.Price -= coupon.Amount; } var updatedBasket = await _basketRepository.UpdateBasket(_mapper.Map <ShoppingCart>(basket)); return(Ok(_mapper.Map <ShoppingCartResponseDto>(updatedBasket))); }
public async Task<ActionResult<ShoppingCart>> UpdateBasket([FromBody] ShoppingCart basket) { // TODO : Communicate with Discount.Grpc // and Calculate latest prices of products into shopping cart. foreach (var item in basket.Items) { var coupon = await _discountGrIDiscountGrpcService.GetDiscount(item.ProductName); item.Price -= coupon.Amount; } return Ok(await _basketRepository.Update(basket)); }
public async Task <ActionResult <ShoppingCart> > UpdateBasket([FromBody] ShoppingCart basket) { try { // call Discount gRPC // to get the discount on product foreach (var item in basket.Items) { var coupon = await _discountGrpcService.GetDiscount(item.ProductName); item.Price -= coupon.Amount; } return(Ok(await _basketRepository.UpdateBasket(basket))); } catch (Exception ex) { _logger.LogError(ex.Message); return(StatusCode(StatusCodes.Status500InternalServerError, "Error updating data in the database")); } }