public virtual CartRenderingViewModel GetViewModel(string refreshUrl, string removeOrderLineUrl) { var basketVM = new CartRenderingViewModel(); if (!TransactionLibrary.HasBasket()) { return(basketVM); } var basket = TransactionLibrary.GetBasket(false); basketVM.OrderLines = GetOrderLineList(basket, this.productDetailsPageId); this.GetDiscounts(basketVM, basket); var currencyIsoCode = basket.BillingCurrency.ISOCode; basketVM.OrderTotal = new Money(basket.OrderTotal.GetValueOrDefault(), currencyIsoCode).ToString(); basketVM.DiscountTotal = basket.DiscountTotal.GetValueOrDefault() > 0 ? new Money(basket.DiscountTotal.GetValueOrDefault(), currencyIsoCode).ToString() : ""; basketVM.TaxTotal = new Money(basket.TaxTotal.GetValueOrDefault(), currencyIsoCode).ToString(); basketVM.SubTotal = new Money(basket.SubTotal.GetValueOrDefault(), currencyIsoCode).ToString(); basketVM.NextStepUrl = GetNextStepUrl(nextStepId); basketVM.RedirectUrl = GetRedirectUrl(redirectPageId); basketVM.RefreshUrl = refreshUrl; basketVM.RemoveOrderlineUrl = removeOrderLineUrl; basketVM.Discounts = basket.Discounts.Select(d => d.CampaignItemName).ToList(); return(basketVM); }
private void GetDiscounts(CartRenderingViewModel basketVM, Ucommerce.EntitiesV2.PurchaseOrder basket) { foreach (var item in basket.Discounts) { if (!string.IsNullOrWhiteSpace(item.Description)) { if (item.Description.Contains(",")) { basketVM.Discounts = item.Description.Split(',').ToList(); } else { basketVM.Discounts.Add(item.Description); } } } }
public virtual CartRenderingViewModel GetViewModel(string refreshUrl, string removeOrderLineUrl) { var basketVM = new CartRenderingViewModel(); if (!_transactionLibraryInternal.HasBasket()) { return(basketVM); } PurchaseOrder basket = _transactionLibraryInternal.GetBasket(false).PurchaseOrder; foreach (var orderLine in basket.OrderLines) { var orderLineViewModel = new OrderlineViewModel { Quantity = orderLine.Quantity, ProductName = orderLine.ProductName, Sku = orderLine.Sku, VariantSku = orderLine.VariantSku, Total = new Money(orderLine.Total.GetValueOrDefault(), basket.BillingCurrency).ToString(), Discount = orderLine.Discount, Tax = new Money(orderLine.VAT, basket.BillingCurrency).ToString(), Price = new Money(orderLine.Price, basket.BillingCurrency).ToString(), ProductUrl = GetProductUrl(CatalogLibrary.GetProduct(orderLine.Sku), this.productDetailsPageId), PriceWithDiscount = new Money(orderLine.Price - orderLine.UnitDiscount.GetValueOrDefault(), basket.BillingCurrency).ToString(), OrderLineId = orderLine.OrderLineId }; basketVM.OrderLines.Add(orderLineViewModel); } basketVM.OrderTotal = new Money(basket.OrderTotal.GetValueOrDefault(), basket.BillingCurrency).ToString(); basketVM.DiscountTotal = new Money(basket.DiscountTotal.GetValueOrDefault(), basket.BillingCurrency).ToString(); basketVM.TaxTotal = new Money(basket.TaxTotal.GetValueOrDefault(), basket.BillingCurrency).ToString(); basketVM.SubTotal = new Money(basket.SubTotal.GetValueOrDefault(), basket.BillingCurrency).ToString(); basketVM.NextStepUrl = GetNextStepUrl(nextStepId); basketVM.RefreshUrl = refreshUrl; basketVM.RemoveOrderlineUrl = removeOrderLineUrl; return(basketVM); }