public ActionResult Rendering()
        {
            var purchaseOrder          = _transactionLibraryInternal.GetBasket(false).PurchaseOrder;
            var basketPreviewViewModel = new BasketPreviewViewModel();

            basketPreviewViewModel = MapPurchaseOrderToViewModel(purchaseOrder, basketPreviewViewModel);

            return(View(basketPreviewViewModel));
        }
        public virtual BasketPreviewViewModel GetViewModel()
        {
            var purchaseOrder          = _transactionLibraryInternal.GetBasket(false).PurchaseOrder;
            var basketPreviewViewModel = new BasketPreviewViewModel();

            basketPreviewViewModel.BillingAddress  = purchaseOrder.BillingAddress ?? new OrderAddress();
            basketPreviewViewModel.ShipmentAddress = purchaseOrder.GetShippingAddress(UCommerce.Constants.DefaultShipmentAddressName) ?? new OrderAddress();

            foreach (var orderLine in purchaseOrder.OrderLines)
            {
                var orderLineModel = new PreviewOrderLine
                {
                    ProductName       = orderLine.ProductName,
                    Sku               = orderLine.Sku,
                    VariantSku        = orderLine.VariantSku,
                    Total             = new Money(orderLine.Total.GetValueOrDefault(), orderLine.PurchaseOrder.BillingCurrency).ToString(),
                    Tax               = new Money(orderLine.VAT, purchaseOrder.BillingCurrency).ToString(),
                    Price             = new Money(orderLine.Price, purchaseOrder.BillingCurrency).ToString(),
                    PriceWithDiscount = new Money(orderLine.Price - orderLine.UnitDiscount.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString(),
                    Quantity          = orderLine.Quantity,
                    Discount          = orderLine.Discount
                };

                basketPreviewViewModel.OrderLines.Add(orderLineModel);
            }

            basketPreviewViewModel.DiscountTotal  = new Money(purchaseOrder.DiscountTotal.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString();
            basketPreviewViewModel.DiscountAmount = purchaseOrder.DiscountTotal.GetValueOrDefault();
            basketPreviewViewModel.SubTotal       = new Money(purchaseOrder.SubTotal.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString();
            basketPreviewViewModel.OrderTotal     = new Money(purchaseOrder.OrderTotal.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString();
            basketPreviewViewModel.TaxTotal       = new Money(purchaseOrder.TaxTotal.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString();
            basketPreviewViewModel.ShippingTotal  = new Money(purchaseOrder.ShippingTotal.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString();
            basketPreviewViewModel.PaymentTotal   = new Money(purchaseOrder.PaymentTotal.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString();

            var shipment = purchaseOrder.Shipments.FirstOrDefault();

            if (shipment != null)
            {
                basketPreviewViewModel.ShipmentName   = shipment.ShipmentName;
                basketPreviewViewModel.ShipmentAmount = purchaseOrder.ShippingTotal.GetValueOrDefault();
            }

            var payment = purchaseOrder.Payments.FirstOrDefault();

            if (payment != null)
            {
                basketPreviewViewModel.PaymentName   = payment.PaymentMethodName;
                basketPreviewViewModel.PaymentAmount = purchaseOrder.PaymentTotal.GetValueOrDefault();
            }
            basketPreviewViewModel.NextStepUrl     = GetNextStepUrl(nextStepId, purchaseOrder.OrderGuid);
            basketPreviewViewModel.PreviousStepUrl = GetPreviousStepUrl(previousStepId);

            return(basketPreviewViewModel);
        }
Esempio n. 3
0
        public ActionResult Rendering()
        {
            var basketPreviewViewModel = new BasketPreviewViewModel();

            //used to grap addresses
            var purchaseOrder = TransactionLibrary.GetBasket(false).PurchaseOrder;

            var cart = GetCart();

            basketPreviewViewModel = MapPurchaseOrderToViewModel(purchaseOrder, cart, basketPreviewViewModel);

            return(View(basketPreviewViewModel));
        }
        private BasketPreviewViewModel MapPurchaseOrderToViewModel(PurchaseOrder purchaseOrder, BasketPreviewViewModel basketPreviewViewModel)
        {
            basketPreviewViewModel.BillingAddress  = purchaseOrder.BillingAddress ?? new OrderAddress();
            basketPreviewViewModel.ShipmentAddress = purchaseOrder.GetShippingAddress(Constants.DefaultShipmentAddressName) ?? new OrderAddress();

            foreach (var orderLine in purchaseOrder.OrderLines)
            {
                var orderLineModel = new PreviewOrderLine
                {
                    ProductName       = orderLine.ProductName,
                    Sku               = orderLine.Sku,
                    VariantSku        = orderLine.VariantSku,
                    Total             = new Money(orderLine.Total.GetValueOrDefault(), orderLine.PurchaseOrder.BillingCurrency).ToString(),
                    Tax               = new Money(orderLine.VAT, purchaseOrder.BillingCurrency).ToString(),
                    Price             = new Money(orderLine.Price, purchaseOrder.BillingCurrency).ToString(),
                    PriceWithDiscount = new Money(orderLine.Price - orderLine.UnitDiscount.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString(),
                    Quantity          = orderLine.Quantity,
                    Discount          = orderLine.Discount
                };

                basketPreviewViewModel.OrderLines.Add(orderLineModel);
            }

            basketPreviewViewModel.DiscountTotal  = new Money(purchaseOrder.DiscountTotal.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString();
            basketPreviewViewModel.DiscountAmount = purchaseOrder.DiscountTotal.GetValueOrDefault();
            basketPreviewViewModel.SubTotal       = new Money(purchaseOrder.SubTotal.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString();
            basketPreviewViewModel.OrderTotal     = new Money(purchaseOrder.OrderTotal.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString();
            basketPreviewViewModel.TaxTotal       = new Money(purchaseOrder.TaxTotal.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString();
            basketPreviewViewModel.ShippingTotal  = new Money(purchaseOrder.ShippingTotal.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString();
            basketPreviewViewModel.PaymentTotal   = new Money(purchaseOrder.PaymentTotal.GetValueOrDefault(), purchaseOrder.BillingCurrency).ToString();


            var shipment = purchaseOrder.Shipments.FirstOrDefault();

            if (shipment != null)
            {
                basketPreviewViewModel.ShipmentName   = shipment.ShipmentName;
                basketPreviewViewModel.ShipmentAmount = purchaseOrder.ShippingTotal.GetValueOrDefault();
            }

            var payment = purchaseOrder.Payments.FirstOrDefault();

            if (payment != null)
            {
                basketPreviewViewModel.PaymentName   = payment.PaymentMethodName;
                basketPreviewViewModel.PaymentAmount = purchaseOrder.PaymentTotal.GetValueOrDefault();
            }

            ViewBag.RowSpan = 4;
            if (purchaseOrder.DiscountTotal > 0)
            {
                ViewBag.RowSpan++;
            }
            if (purchaseOrder.ShippingTotal > 0)
            {
                ViewBag.RowSpan++;
            }
            if (purchaseOrder.PaymentTotal > 0)
            {
                ViewBag.RowSpan++;
            }

            return(basketPreviewViewModel);
        }
Esempio n. 5
0
        private BasketPreviewViewModel MapPurchaseOrderToViewModel(PurchaseOrder purchaseOrder, Cart cart, BasketPreviewViewModel basketPreviewViewModel)
        {
            basketPreviewViewModel.BillingAddress  = purchaseOrder.BillingAddress ?? new OrderAddress();
            basketPreviewViewModel.ShipmentAddress = purchaseOrder.GetShippingAddress(Constants.DefaultShipmentAddressName) ?? new OrderAddress();

            var currency = new Currency()
            {
                ISOCode = cart.CurrencyCode
            };

            foreach (var cartLine in cart.Lines)
            {
                var orderLineViewModel = new PreviewOrderLine
                {
                    Quantity          = (int)cartLine.Quantity,
                    ProductName       = cartLine.Product.ProductName,
                    Sku               = cartLine.Product.ProductId,
                    Total             = new Money(cartLine.Total.Amount, currency).ToString(),
                    Discount          = new Money(cartLine.Adjustments.Sum(x => x.Amount), currency).Value,
                    Price             = new Money(cartLine.Product.Price.Amount, currency).ToString(),
                    PriceWithDiscount = new Money((cartLine.Product.Price.Amount - cartLine.Adjustments.Sum(x => x.Amount)), currency).ToString(),
                };

                if (cartLine.GetPropertyValue("VariantSku") != null)
                {
                    orderLineViewModel.VariantSku = cartLine.GetPropertyValue("VariantSku").ToString();
                }
                if (cartLine.Total.TaxTotal != null)
                {
                    orderLineViewModel.Tax = new Money(cartLine.Total.TaxTotal.Amount, currency).ToString();
                }

                basketPreviewViewModel.OrderLines.Add(orderLineViewModel);
            }

            basketPreviewViewModel.DiscountTotal  = new Money(cart.Adjustments.Sum(x => x.Amount), currency).ToString();
            basketPreviewViewModel.DiscountAmount = cart.Adjustments.Sum(x => x.Amount);
            basketPreviewViewModel.SubTotal       = new Money((cart.Total.Amount - cart.Total.TaxTotal.Amount), currency).ToString();
            basketPreviewViewModel.OrderTotal     = new Money(cart.Total.Amount, currency).ToString();
            if (cart.Total.TaxTotal != null)
            {
                basketPreviewViewModel.TaxTotal = new Money(cart.Total.TaxTotal.Amount, currency).ToString();
            }
            basketPreviewViewModel.ShippingTotal = new Money(purchaseOrder.ShippingTotal.GetValueOrDefault(), currency).ToString();
            basketPreviewViewModel.PaymentTotal  = new Money(purchaseOrder.PaymentTotal.GetValueOrDefault(), currency).ToString();


            var shipment = purchaseOrder.Shipments.FirstOrDefault();

            if (shipment != null)
            {
                basketPreviewViewModel.ShipmentName   = shipment.ShipmentName;
                basketPreviewViewModel.ShipmentAmount = purchaseOrder.ShippingTotal.GetValueOrDefault();
            }

            var payment = purchaseOrder.Payments.FirstOrDefault();

            if (payment != null)
            {
                basketPreviewViewModel.PaymentName   = payment.PaymentMethodName;
                basketPreviewViewModel.PaymentAmount = purchaseOrder.PaymentTotal.GetValueOrDefault();
            }

            ViewBag.RowSpan = 4;
            if (cart.Adjustments.Sum(x => x.Amount) > 0)
            {
                ViewBag.RowSpan++;
            }
            if (purchaseOrder.ShippingTotal > 0)
            {
                ViewBag.RowSpan++;
            }
            if (purchaseOrder.PaymentTotal > 0)
            {
                ViewBag.RowSpan++;
            }

            return(basketPreviewViewModel);
        }
        private static void MapAddresses(Ucommerce.EntitiesV2.PurchaseOrder purchaseOrder, BasketPreviewViewModel basketPreviewViewModel)
        {
            if (purchaseOrder.BillingAddress != null)
            {
                if (!purchaseOrder.BillingAddress.FirstName.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.FirstName = purchaseOrder.BillingAddress.FirstName;
                }

                if (!purchaseOrder.BillingAddress.LastName.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.LastName = purchaseOrder.BillingAddress.LastName;
                }

                if (!purchaseOrder.BillingAddress.EmailAddress.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.EmailAddress = purchaseOrder.BillingAddress.EmailAddress;
                }

                if (!purchaseOrder.BillingAddress.PhoneNumber.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.PhoneNumber = purchaseOrder.BillingAddress.PhoneNumber;
                }

                if (!purchaseOrder.BillingAddress.MobilePhoneNumber.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.MobilePhoneNumber = purchaseOrder.BillingAddress.MobilePhoneNumber;
                }

                if (!purchaseOrder.BillingAddress.Line1.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.Line1 = purchaseOrder.BillingAddress.Line1;
                }

                if (!purchaseOrder.BillingAddress.Line2.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.Line2 = purchaseOrder.BillingAddress.Line2;
                }

                if (!purchaseOrder.BillingAddress.PostalCode.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.PostalCode = purchaseOrder.BillingAddress.PostalCode;
                }

                if (!purchaseOrder.BillingAddress.City.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.City = purchaseOrder.BillingAddress.City;
                }

                if (!purchaseOrder.BillingAddress.State.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.State = purchaseOrder.BillingAddress.State;
                }

                if (!purchaseOrder.BillingAddress.Attention.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.Attention = purchaseOrder.BillingAddress.Attention;
                }

                if (!purchaseOrder.BillingAddress.CompanyName.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.CompanyName = purchaseOrder.BillingAddress.CompanyName;
                }

                if (purchaseOrder.BillingAddress.Country.CountryId > 0)
                {
                    basketPreviewViewModel.BillingAddress.Country.CountryId = purchaseOrder.BillingAddress.Country.CountryId;
                }

                if (!purchaseOrder.BillingAddress.Country.Name.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.BillingAddress.Country.Name = purchaseOrder.BillingAddress.Country.Name;
                }
            }

            var shipmentAddress = purchaseOrder.GetShippingAddress(Ucommerce.Constants.DefaultShipmentAddressName);

            if (shipmentAddress != null)
            {
                if (!shipmentAddress.FirstName.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.FirstName = shipmentAddress.FirstName;
                }

                if (!shipmentAddress.LastName.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.LastName = shipmentAddress.LastName;
                }

                if (!shipmentAddress.EmailAddress.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.EmailAddress = shipmentAddress.EmailAddress;
                }

                if (!shipmentAddress.PhoneNumber.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.PhoneNumber = shipmentAddress.PhoneNumber;
                }

                if (!shipmentAddress.MobilePhoneNumber.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.MobilePhoneNumber = shipmentAddress.MobilePhoneNumber;
                }

                if (!shipmentAddress.Line1.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.Line1 = shipmentAddress.Line1;
                }

                if (!shipmentAddress.Line2.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.Line2 = shipmentAddress.Line2;
                }

                if (!shipmentAddress.PostalCode.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.PostalCode = shipmentAddress.PostalCode;
                }

                if (!shipmentAddress.City.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.City = shipmentAddress.City;
                }

                if (!shipmentAddress.State.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.State = shipmentAddress.State;
                }

                if (!shipmentAddress.Attention.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.Attention = shipmentAddress.Attention;
                }

                if (!shipmentAddress.CompanyName.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.CompanyName = shipmentAddress.CompanyName;
                }

                if (shipmentAddress.Country.CountryId > 0)
                {
                    basketPreviewViewModel.ShipmentAddress.Country.CountryId = shipmentAddress.Country.CountryId;
                }

                if (!shipmentAddress.Country.Name.IsNullOrWhitespace())
                {
                    basketPreviewViewModel.ShipmentAddress.Country.Name = shipmentAddress.Country.Name;
                }
            }
        }