public Task <VsfResponse> ShippingInformation(Guid cartId, ShippingInformationRequest request)
        {
            //do not update if the parse fails (means we do not know what is this shipping method)
            if (Guid.TryParse(request.AddressInformation.ShippingMethodCode, out var shippingMethod))
            {
                _cartAdapter.UpdateShippingMethod(cartId, shippingMethod);
            }

            if (request.AddressInformation.ShippingAddress != null)
            {
                _cartAdapter.UpdateShippingAddress(cartId, request.AddressInformation.ShippingAddress);
            }

            var paymentMethods = _cartAdapter.GetPaymentMethods(cartId);
            var totals         = _cartAdapter.GetTotals(cartId);

            var result = new VsfSuccessResponse <ShippingInformation>(new ShippingInformation
            {
                PaymentMethods = paymentMethods,
                Totals         = totals
            });

            return(Task.FromResult((VsfResponse)result));
        }
Пример #2
0
 public async Task <IHttpActionResult> ShippingInformation(Guid cartId, [FromBody] ShippingInformationRequest request)
 {
     return(Ok(await _cartEndpoint.ShippingInformation(cartId, request)));
 }