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); }
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); }
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; } } }