Ejemplo n.º 1
0
    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)));
    }
Ejemplo n.º 2
0
        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));
    }
Ejemplo n.º 4
0
        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"));
            }
        }