Пример #1
0
        public override async Task <CustomerCartResponse> UpdateCart(CustomerCartRequest request, ServerCallContext context)
        {
            _logger.LogInformation("Begin grpc call CartService.UpdateCartAsync for buyer id {Buyerid}", request.Buyerid);

            var customerCart = MapToCustomerCart(request);

            var response = await _repository.UpdateCartAsync(customerCart);

            if (response != null)
            {
                return(MapToCustomerCartResponse(response));
            }

            context.Status = new Status(StatusCode.NotFound, $"Cart with buyer id {request.Buyerid} do not exist");

            return(null);
        }
Пример #2
0
        private CustomerCart MapToCustomerCart(CustomerCartRequest customerCartRequest)
        {
            var response = new CustomerCart
            {
                BuyerId = customerCartRequest.Buyerid
            };

            customerCartRequest.Items.ToList().ForEach(item => response.Items.Add(new CartItem
            {
                Id           = item.Id,
                OldUnitPrice = (decimal)item.Oldunitprice,
                PictureUrl   = item.Pictureurl,
                ProductId    = item.Productid,
                ProductName  = item.Productname,
                Quantity     = item.Quantity,
                UnitPrice    = (decimal)item.Unitprice
            }));

            return(response);
        }