public static Checkout ToViewModel(this DataContracts.Cart.ShoppingCart shoppingCart, IEnumerable <PaymentMethod> paymentMethods, IEnumerable <ShippingMethod> shippingMethods) { var checkoutModel = new Checkout(); if (shoppingCart.Addresses != null) { var address = shoppingCart.Addresses.FirstOrDefault(); if (address != null) { checkoutModel.BillingAddress = address.ToViewModel(); checkoutModel.ShippingAddress = address.ToViewModel(); } } checkoutModel.Culture = shoppingCart.LanguageCode; checkoutModel.CustomerId = shoppingCart.CustomerId; checkoutModel.Currency = shoppingCart.Currency; checkoutModel.Id = shoppingCart.Id; foreach (var lineItem in shoppingCart.Items) { checkoutModel.LineItems.Add(lineItem.ToViewModel()); } if (shoppingCart.Payments != null) { var firstPayment = shoppingCart.Payments.FirstOrDefault(); if (firstPayment != null) { checkoutModel.PaymentMethodId = firstPayment.PaymentGatewayCode; } } foreach (var paymentMethod in paymentMethods) { checkoutModel.PaymentMethods.Add(paymentMethod); } if (shoppingCart.Shipments != null) { var firstShipment = shoppingCart.Shipments.FirstOrDefault(); if (firstShipment != null) { checkoutModel.ShippingMethodId = firstShipment.ShipmentMethodCode; } } foreach (var shippingMethod in shippingMethods) { checkoutModel.ShippingMethods.Add(shippingMethod); } checkoutModel.StoreId = shoppingCart.StoreId; return(checkoutModel); }
public static DataContracts.Cart.ShoppingCart ToApiModel(this Checkout checkoutViewModel) { var cart = new DataContracts.Cart.ShoppingCart(); if (checkoutViewModel.BillingAddress != null) { if (cart.Addresses == null) { cart.Addresses = new List<DataContracts.Cart.Address>(); } var address = checkoutViewModel.BillingAddress.ToApiModel(); address.Email = checkoutViewModel.Email; address.Type = DataContracts.Cart.AddressType.Billing; cart.Addresses.Add(address); } cart.Id = checkoutViewModel.Id; cart.Items = new List<DataContracts.Cart.CartItem>(); foreach (var lineItemViewModel in checkoutViewModel.LineItems) { cart.Items.Add(lineItemViewModel.ToApiModel()); } if (!string.IsNullOrEmpty(checkoutViewModel.PaymentMethodId)) { cart.Payments = new List<DataContracts.Cart.Payment>(); cart.Payments.Add(new DataContracts.Cart.Payment { Amount = checkoutViewModel.Total, PaymentGatewayCode = checkoutViewModel.PaymentMethodId }); } if (!string.IsNullOrEmpty(checkoutViewModel.ShippingMethodId)) { cart.Shipments = new List<DataContracts.Cart.Shipment>(); cart.Shipments.Add(new DataContracts.Cart.Shipment { ShipmentMethodCode = checkoutViewModel.ShippingMethodId, ShippingPrice = checkoutViewModel.ShippingPrice }); cart.ShippingTotal = checkoutViewModel.ShippingPrice; } cart.SubTotal = checkoutViewModel.Subtotal; cart.Total = checkoutViewModel.Total; return cart; }
public static DataContracts.Cart.ShoppingCart ToApiModel(this Checkout checkoutViewModel) { var cart = new DataContracts.Cart.ShoppingCart(); if (checkoutViewModel.BillingAddress != null) { if (cart.Addresses == null) { cart.Addresses = new List <DataContracts.Cart.Address>(); } var address = checkoutViewModel.BillingAddress.ToApiModel(); address.Email = checkoutViewModel.Email; address.Type = DataContracts.Cart.AddressType.Billing; cart.Addresses.Add(address); } cart.Id = checkoutViewModel.Id; cart.Items = new List <DataContracts.Cart.CartItem>(); foreach (var lineItemViewModel in checkoutViewModel.LineItems) { cart.Items.Add(lineItemViewModel.ToApiModel()); } if (!string.IsNullOrEmpty(checkoutViewModel.PaymentMethodId)) { cart.Payments = new List <DataContracts.Cart.Payment>(); cart.Payments.Add(new DataContracts.Cart.Payment { Amount = checkoutViewModel.Total, PaymentGatewayCode = checkoutViewModel.PaymentMethodId }); } if (!string.IsNullOrEmpty(checkoutViewModel.ShippingMethodId)) { cart.Shipments = new List <DataContracts.Cart.Shipment>(); cart.Shipments.Add(new DataContracts.Cart.Shipment { ShipmentMethodCode = checkoutViewModel.ShippingMethodId, ShippingPrice = checkoutViewModel.ShippingPrice }); cart.ShippingTotal = checkoutViewModel.ShippingPrice; } cart.SubTotal = checkoutViewModel.Subtotal; cart.Total = checkoutViewModel.Total; return(cart); }
public async Task CreateCartAsync(string storeId, string customerId) { var storeViewModel = await _storeService.GetStoreAsync(storeId).ConfigureAwait(false); var cart = new DataContracts.Cart.ShoppingCart(); cart.LanguageCode = _settings.Culture; cart.Currency = storeViewModel.Currency; cart.Name = "default"; cart.CustomerId = customerId; cart.StoreId = storeId; await _apiClient.CartClient.CreateCartAsync(cart); }
public static Cart ToViewModel(this DataContracts.Cart.ShoppingCart cart) { var cartViewModel = new Cart(); cartViewModel.CustomerId = cart.CustomerId; cartViewModel.Id = cart.Id; foreach (var lineItem in cart.Items) { cartViewModel.LineItems.Add(lineItem.ToViewModel()); } cartViewModel.StoreId = cart.StoreId; return(cartViewModel); }
public static DataContracts.Cart.ShoppingCart ToApiModel(this Cart cartViewModel) { var cart = new DataContracts.Cart.ShoppingCart(); cart.CustomerId = cartViewModel.CustomerId; cart.Id = cartViewModel.Id; cart.Items = new List<DataContracts.Cart.CartItem>(); foreach (var lineItemViewModel in cartViewModel.LineItems) { cart.Items.Add(lineItemViewModel.ToApiModel()); } cart.Name = cartViewModel.Name; cart.StoreId = cartViewModel.StoreId; return cart; }
public static DataContracts.Cart.ShoppingCart ToApiModel(this Cart cartViewModel) { var cart = new DataContracts.Cart.ShoppingCart(); cart.CustomerId = cartViewModel.CustomerId; cart.Id = cartViewModel.Id; cart.Items = new List <DataContracts.Cart.CartItem>(); foreach (var lineItemViewModel in cartViewModel.LineItems) { cart.Items.Add(lineItemViewModel.ToApiModel()); } cart.Name = cartViewModel.Name; cart.StoreId = cartViewModel.StoreId; return(cart); }
public static ShoppingCart ToViewModel(this DataContracts.Cart.ShoppingCart shoppingCart) { var shoppingCartModel = new ShoppingCart(); shoppingCartModel.Culture = shoppingCart.LanguageCode; shoppingCartModel.Currency = shoppingCart.Currency; shoppingCartModel.CustomerId = shoppingCart.CustomerId; shoppingCartModel.Id = shoppingCart.Id; foreach (var lineItem in shoppingCart.Items) { shoppingCartModel.LineItems.Add(lineItem.ToViewModel()); } shoppingCartModel.StoreId = shoppingCart.StoreId; return(shoppingCartModel); }
public static DataContracts.Cart.ShoppingCart ToApiModel(this ShoppingCart shoppingCart) { var shoppingCartModel = new DataContracts.Cart.ShoppingCart(); shoppingCartModel.Currency = shoppingCart.Currency; shoppingCartModel.CustomerId = shoppingCart.CustomerId; shoppingCartModel.Id = shoppingCart.Id; shoppingCartModel.Items = new List<DataContracts.Cart.CartItem>(); foreach (var lineItem in shoppingCart.LineItems) { shoppingCartModel.Items.Add(lineItem.ToApiModel()); } shoppingCartModel.LanguageCode = shoppingCart.Culture; shoppingCartModel.Name = shoppingCart.Name; shoppingCartModel.StoreId = shoppingCart.StoreId; shoppingCartModel.SubTotal = shoppingCart.Subtotal; shoppingCartModel.Total = shoppingCart.Total; return shoppingCartModel; }
public static DataContracts.Cart.ShoppingCart ToApiModel(this ShoppingCart shoppingCart) { var shoppingCartModel = new DataContracts.Cart.ShoppingCart(); shoppingCartModel.Currency = shoppingCart.Currency; shoppingCartModel.CustomerId = shoppingCart.CustomerId; shoppingCartModel.Id = shoppingCart.Id; shoppingCartModel.Items = new List <DataContracts.Cart.CartItem>(); foreach (var lineItem in shoppingCart.LineItems) { shoppingCartModel.Items.Add(lineItem.ToApiModel()); } shoppingCartModel.LanguageCode = shoppingCart.Culture; shoppingCartModel.Name = shoppingCart.Name; shoppingCartModel.StoreId = shoppingCart.StoreId; shoppingCartModel.SubTotal = shoppingCart.Subtotal; shoppingCartModel.Total = shoppingCart.Total; return(shoppingCartModel); }
public static Checkout ToViewModel(this DataContracts.Cart.ShoppingCart cart, IEnumerable <DataContracts.Cart.PaymentMethod> paymentMethods, IEnumerable <DataContracts.Cart.ShipmentMethod> shippingMethods) { var checkoutViewModel = new Checkout(); if (cart.Addresses != null) { var address = cart.Addresses.FirstOrDefault(); if (address != null) { checkoutViewModel.BillingAddress = address.ToViewModel(); checkoutViewModel.ShippingAddress = address.ToViewModel(); checkoutViewModel.Email = address.Email; } } checkoutViewModel.Id = cart.Id; if (cart.Items != null) { foreach (var lineItem in cart.Items) { checkoutViewModel.LineItems.Add(lineItem.ToViewModel()); } } if (cart.Payments != null) { var firstPayment = cart.Payments.FirstOrDefault(); if (firstPayment != null) { checkoutViewModel.PaymentMethodId = firstPayment.PaymentGatewayCode; } } if (paymentMethods != null) { foreach (var paymentMethod in paymentMethods) { checkoutViewModel.PaymentMethods.Add(paymentMethod.ToViewModel()); } } if (cart.Shipments != null) { var firstShipment = cart.Shipments.FirstOrDefault(); if (firstShipment != null) { checkoutViewModel.ShippingMethodId = firstShipment.ShipmentMethodCode; } } if (shippingMethods != null) { foreach (var shippingMethod in shippingMethods) { checkoutViewModel.ShippingMethods.Add(shippingMethod.ToViewModel()); } } return(checkoutViewModel); }