private CustomerBasketRequest MapToCustomerBasketRequest(BasketData basketData) { if (basketData == null) { return(null); } var map = new CustomerBasketRequest { Buyerid = basketData.BuyerId }; basketData.Items.ToList().ForEach(item => { if (item.Id != null) { map.Items.Add(new BasketItemResponse { Id = item.Id, Oldunitprice = (double)item.OldUnitPrice, Pictureurl = item.PictureUrl, Productid = item.ProductId, Productname = item.ProductName, Quantity = item.Quantity, Unitprice = (double)item.UnitPrice }); } }); return(map); }
public override async Task <CustomerBasketResponse> UpdateBasket(CustomerBasketRequest request, ServerCallContext context) { _logger.LogInformation("Begin grpc call BasketService.UpdateBasketAsync for buyer id {Buyerid}", request.Buyerid); var customerBasket = MapToCustomerBasket(request); var response = await _repository.UpdateBasketAsync(customerBasket); if (response != null) { return(MapToCustomerBasketResponse(response)); } context.Status = new Status(StatusCode.NotFound, $"Basket with buyer id {request.Buyerid} do not exist"); return(null); }
private CustomerBasket MapToCustomerBasket(CustomerBasketRequest customerBasketRequest) { var response = new CustomerBasket { BuyerId = customerBasketRequest.Buyerid }; customerBasketRequest.Items.ToList().ForEach(item => response.Items.Add(new BasketItem { 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); }
private CustomerBasketRequest MapToCustomerBasketRequest(BasketData basketData) { if (basketData == null) { return(null); } var map = new CustomerBasketRequest { Buyerid = basketData.BuyerId, Coupon = basketData.Coupon.CouponCode != null ? new CouponResponse { Couponcode = basketData.Coupon.CouponCode, Expirationdate = basketData.Coupon.ExpirationDate, Discount = (double)basketData.Coupon.Discount } : new CouponResponse { Discount = 0 } }; basketData.Items.ToList().ForEach(item => { if (item.Id != null) { map.Items.Add(new BasketItemResponse { Id = item.Id, Oldunitprice = (double)item.OldUnitPrice, Pictureurl = item.PictureUrl, Productid = item.ProductId, Productname = item.ProductName, Quantity = item.Quantity, Unitprice = (double)item.UnitPrice, Isdiscounted = item.isDiscounted }); } }); return(map); }