コード例 #1
0
        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);
        }
コード例 #2
0
        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;
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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;
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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;
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        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);
        }