Пример #1
0
        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);
        }
Пример #2
0
 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);
             }
         }
     }
 }
Пример #3
0
        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);
        }