public static LineItem ToWebModel(this VirtoCommerceCartModuleWebModelLineItem serviceModel, Currency currency, Language language)
        {
            var webModel = new LineItem(currency, language);

            webModel.InjectFrom<NullableAndEnumValueInjecter>(serviceModel);

            if (serviceModel.TaxDetails != null)
            {
                webModel.TaxDetails = serviceModel.TaxDetails.Select(td => td.ToWebModel()).ToList();
            }

            if (serviceModel.DynamicProperties != null)
            {
                webModel.DynamicProperties = serviceModel.DynamicProperties.Select(dp => dp.ToWebModel()).ToList();
            }

            webModel.DiscountTotal = new Money(serviceModel.DiscountTotal ?? 0, currency.Code);
            webModel.ExtendedPrice = new Money(serviceModel.ExtendedPrice ?? 0, currency.Code);
            webModel.IsGift = (bool)serviceModel.IsGift;
            webModel.IsReccuring = (bool)serviceModel.IsReccuring;
            webModel.Length = (decimal)(serviceModel.Length ?? 0);
            webModel.ListPrice = new Money(serviceModel.ListPrice ?? 0, currency.Code);
            webModel.PlacedPrice = new Money(serviceModel.PlacedPrice ?? 0, currency.Code);
            webModel.RequiredShipping = (bool)serviceModel.RequiredShipping;
            webModel.SalePrice = new Money(serviceModel.SalePrice ?? 0, currency.Code);
            webModel.TaxIncluded = (bool)serviceModel.TaxIncluded;
            webModel.Weight = (decimal)(serviceModel.Weight ?? 0);
            webModel.Width = (decimal)(serviceModel.Width ?? 0);

            return webModel;
        }
        public static LineItem ToWebModel(this VirtoCommerceOrderModuleWebModelLineItem lineItem, IEnumerable<Currency> availCurrencies, Language language)
        {
            var webModel = new LineItem();

            var currency = availCurrencies.FirstOrDefault(x => x.Equals(lineItem.Currency)) ?? new Currency(language, lineItem.Currency);
         
            webModel.InjectFrom(lineItem);

            webModel.Currency = currency;
            webModel.DiscountAmount = new Money(lineItem.DiscountAmount ?? 0, currency);

            if (lineItem.DynamicProperties != null)
            {
                webModel.DynamicProperties = lineItem.DynamicProperties.Select(dp => dp.ToWebModel()).ToList();
            }

            webModel.BasePrice = new Money(lineItem.BasePrice ?? 0, currency);
            webModel.Price = new Money(lineItem.Price ?? 0, currency);
            webModel.Tax = new Money(lineItem.Tax ?? 0, currency);

            if (lineItem.TaxDetails != null)
            {
                webModel.TaxDetails = lineItem.TaxDetails.Select(td => td.ToWebModel(currency)).ToList();
            }

            return webModel;
        }
        public static PaymentIn ToWebModel(this VirtoCommerceOrderModuleWebModelPaymentIn paymentIn, IEnumerable<Currency> availCurrencies, Language language)
        {
            var webModel = new PaymentIn();

            var currency = availCurrencies.FirstOrDefault(x => x.Equals(paymentIn.Currency)) ?? new Currency(language, paymentIn.Currency);

            webModel.InjectFrom(paymentIn);

            if (paymentIn.ChildrenOperations != null)
            {
                webModel.ChildrenOperations = paymentIn.ChildrenOperations.Select(co => co.ToWebModel(availCurrencies, language)).ToList();
            }

            webModel.Currency = currency;

            if (paymentIn.DynamicProperties != null)
            {
                webModel.DynamicProperties = paymentIn.DynamicProperties.Select(dp => dp.ToWebModel()).ToList();
            }

            webModel.Sum = new Money(paymentIn.Sum ?? 0, currency);
            webModel.Tax = new Money(paymentIn.Tax ?? 0, currency);

            return webModel;
        }
        public static Operation ToWebModel(this VirtoCommerceOrderModuleWebModelOperation operation, IEnumerable<Currency> availCurrencies, Language language)
        {
            var operationWebModel = new Operation();

            var currency = availCurrencies.FirstOrDefault(x => x.Equals(operation.Currency)) ?? new Currency(language, operation.Currency); ;

            operationWebModel.InjectFrom(operation);

            operationWebModel.Currency = currency;

            if (operation.ChildrenOperations != null)
            {
                operationWebModel.ChildrenOperations = operation.ChildrenOperations.Select(co => co.ToWebModel(availCurrencies, language)).ToList();
            }

            if (operation.DynamicProperties != null)
            {
                operationWebModel.DynamicProperties = operation.DynamicProperties.Select(dp => dp.ToWebModel()).ToList();
            }

            operationWebModel.Sum = new Money(operation.Sum ?? 0, currency);
            operationWebModel.Tax = new Money(operation.Tax ?? 0, currency);

            return operationWebModel;
        }
        public string ToAppRelative(string virtualPath, Store store, Language language)
        {
            var result = new StringBuilder("~");
            //Do not add storeId to Url if it single or have strict  defined Url
            if (store != null && !store.IsStoreUri(_workContext.RequestUrl))
            {
                //Do not use store in url if it single
                if (_workContext.AllStores.Length > 1)
                {
                    //Check that store exist for not exist store use current
                    store = _workContext.AllStores.Contains(store) ? store : _workContext.CurrentStore;
                    if (!virtualPath.Contains("/" + store.Id + "/"))
                    {
                        result.Append("/");
                        result.Append(store.Id);
                    }
                }
            }

            //Do not use language in url if it single for store
            if (language != null && store != null && store.Languages.Count > 1)
            {
                language = store.Languages.Contains(language) ? language : store.DefaultLanguage;
                if (!virtualPath.Contains("/" + language.CultureName + "/"))
                {
                    result.Append("/");
                    result.Append(language.CultureName);
                }
            }

            result.Append("/");
            result.Append(virtualPath.TrimStart('~', '/'));

            return result.ToString();
        }
Exemplo n.º 6
0
        /// <summary>
        /// Get app absolute storefront url with specified store and language
        /// </summary>
        /// <param name="input"></param>
        /// <param name="storeId"></param>
        /// <param name="languageCode"></param>
        /// <returns></returns>
        public static string AbsoluteUrl(string input, string storeId = null, string languageCode = null)
        {
            if (input == null)
            {
                return(string.Empty);
            }

            var   themeAdaptor = (ShopifyLiquidThemeEngine)Template.FileSystem;
            Store store        = null;

            storefrontModel.Language language = null;
            if (!string.IsNullOrEmpty(storeId))
            {
                store = themeAdaptor.WorkContext.AllStores.FirstOrDefault(x => string.Equals(x.Id, storeId, StringComparison.InvariantCultureIgnoreCase));
            }
            store = store ?? themeAdaptor.WorkContext.CurrentStore;

            if (!string.IsNullOrEmpty(languageCode))
            {
                language = store.Languages.FirstOrDefault(x => string.Equals(x.CultureName, languageCode, StringComparison.InvariantCultureIgnoreCase));
            }
            language = language ?? themeAdaptor.WorkContext.CurrentLanguage;

            var retVal = themeAdaptor.UrlBuilder.ToAppAbsolute(input, store, language);

            return(retVal);
        }
        public virtual Language ToLiquidLanguage(StorefrontModel.Language language)
        {
            var result = new Language();

            result.InjectFrom <StorefrontModel.Common.NullableAndEnumValueInjecter>(language);

            return(result);
        }
Exemplo n.º 8
0
        public static Language ToShopifyModel(this StorefrontModel.Language storefrontModel)
        {
            var shopifyModel = new Language();

            shopifyModel.InjectFrom <StorefrontModel.Common.NullableAndEnumValueInjecter>(storefrontModel);

            return(shopifyModel);
        }
        public static Model.Order.Shipment ToWebModel(this VirtoCommerceOrderModuleWebModelShipment shipment, IEnumerable<Currency> availCurrencies, Language language)
        {
            var webModel = new Model.Order.Shipment();

            var currency = availCurrencies.FirstOrDefault(x => x.Equals(shipment.Currency)) ?? new Currency(language, shipment.Currency);

            webModel.InjectFrom(shipment);

            if (shipment.ChildrenOperations != null)
            {
                webModel.ChildrenOperations = shipment.ChildrenOperations.Select(co => co.ToWebModel(availCurrencies, language)).ToList();
            }

            webModel.Currency = currency;

            if (shipment.DeliveryAddress != null)
            {
                webModel.DeliveryAddress = shipment.DeliveryAddress.ToWebModel();
            }

            if (shipment.Discount != null)
            {
                webModel.Discount = shipment.Discount.ToWebModel(availCurrencies, language);
            }

            webModel.DiscountAmount = new Money(shipment.DiscountAmount ?? 0, currency);

            if (shipment.DynamicProperties != null)
            {
                webModel.DynamicProperties = shipment.DynamicProperties.Select(dp => dp.ToWebModel()).ToList();
            }

            if (shipment.InPayments != null)
            {
                webModel.InPayments = shipment.InPayments.Select(p => p.ToWebModel(availCurrencies, language)).ToList();
            }

            if (shipment.Items != null)
            {
                webModel.Items = shipment.Items.Select(i => i.ToWebModel(availCurrencies, language)).ToList();
            }

            if (shipment.Packages != null)
            {
                webModel.Packages = shipment.Packages.Select(p => p.ToWebModel(availCurrencies, language)).ToList();
            }

            webModel.Sum = new Money(shipment.Sum ?? 0, currency);
            webModel.Tax = new Money(shipment.Tax ?? 0, currency);

            if (shipment.TaxDetails != null)
            {
                webModel.TaxDetails = shipment.TaxDetails.Select(td => td.ToWebModel(currency)).ToList();
            }

            return webModel;
        }
Exemplo n.º 10
0
        public virtual Language ToLiquidLanguage(StorefrontModel.Language language)
        {
            var factory = ServiceLocator.Current.GetInstance <ShopifyModelFactory>();
            var result  = factory.CreateLanguage();

            result.InjectFrom <StorefrontModel.Common.NullableAndEnumValueInjecter>(language);

            return(result);
        }
        public static QuoteRequest ToWebModel(this VirtoCommerceQuoteModuleWebModelQuoteRequest serviceModel, IEnumerable<Currency> availCurrencies, Language language)
        {
            var currency = availCurrencies.FirstOrDefault(x => x.Equals(serviceModel.Currency)) ?? new Currency(language, serviceModel.Currency);
            var webModel = new QuoteRequest(currency, language);

            webModel.InjectFrom<NullableAndEnumValueInjecter>(serviceModel);
           
            webModel.Currency = currency;
            webModel.Language = language;
            webModel.ManualRelDiscountAmount = new Money(serviceModel.ManualRelDiscountAmount ?? 0, currency);
            webModel.ManualShippingTotal = new Money(serviceModel.ManualShippingTotal ?? 0, currency);
            webModel.ManualSubTotal = new Money(serviceModel.ManualSubTotal ?? 0, currency);

            if (serviceModel.Addresses != null)
            {
                webModel.Addresses = serviceModel.Addresses.Select(a => a.ToWebModel()).ToList();
            }

            if (serviceModel.Attachments != null)
            {
                webModel.Attachments = serviceModel.Attachments.Select(a => a.ToWebModel()).ToList();
            }

            if (!string.IsNullOrEmpty(serviceModel.Coupon))
            {
                webModel.Coupon = new Coupon { AppliedSuccessfully = true, Code = serviceModel.Coupon };
            }

            if (serviceModel.DynamicProperties != null)
            {
                webModel.DynamicProperties = serviceModel.DynamicProperties.Select(dp => dp.ToWebModel()).ToList();
            }

            if (serviceModel.Items != null)
            {
                webModel.Items = serviceModel.Items.Select(i => i.ToWebModel(currency)).ToList();
            }

            // TODO
            if (serviceModel.ShipmentMethod != null)
            {
                
            }

            if (serviceModel.TaxDetails != null)
            {
                webModel.TaxDetails = serviceModel.TaxDetails.Select(td => td.ToWebModel(currency)).ToList();
            }

            if (serviceModel.Totals != null)
            {
                webModel.Totals = serviceModel.Totals.ToWebModel(currency);
            }

            return webModel;
        }
Exemplo n.º 12
0
        public static Discount ToWebModel(this VirtoCommerceOrderModuleWebModelDiscount serviceModel, IEnumerable<Currency> availCurrencies, Language language)
        {
            var webModel = new Discount();

            webModel.InjectFrom(serviceModel);
            var currency = availCurrencies.FirstOrDefault(x => x.Equals(serviceModel.Currency)) ?? new Currency(language, serviceModel.Currency);
            webModel.Amount = new Money(serviceModel.DiscountAmount ?? 0, currency);

            return webModel;
        }
Exemplo n.º 13
0
 public static ProductPrice ToWebModel(this VirtoCommercePricingModuleWebModelPrice price, IEnumerable<Currency> availCurrencies, Language language)
 {
     var currency = availCurrencies.FirstOrDefault(x => x.Equals(price.Currency)) ?? new Currency(language, price.Currency);
     var retVal = new ProductPrice(currency);
     retVal.InjectFrom(price);
     retVal.Currency = currency;
     retVal.ListPrice = new Money(price.List ?? 0d, currency);
     retVal.SalePrice = price.Sale == null ? retVal.ListPrice : new Money(price.Sale ?? 0d, currency);
     retVal.ActiveDiscount = new Discount { Amount = new Money(currency) };
     return retVal;
 }
Exemplo n.º 14
0
        public virtual Cart ToLiquidCart(StorefrontModel.Cart.ShoppingCart cart, StorefrontModel.Language language, IStorefrontUrlBuilder urlBuilder)
        {
            var result = new Cart();

            result.Items       = cart.Items.Select(x => ToLiquidLineItem(x, language, urlBuilder)).ToList();
            result.ItemCount   = cart.Items.Count();
            result.Note        = cart.Comment;
            result.TotalPrice  = cart.SubTotal.Amount * 100;
            result.TotalWeight = cart.Weight;

            return(result);
        }
Exemplo n.º 15
0
        public static CustomerOrder ToWebModel(this VirtoCommerceOrderModuleWebModelCustomerOrder order, IEnumerable<Currency> availCurrencies, Language language)
        {
            var webModel = new CustomerOrder();

            var currency = availCurrencies.FirstOrDefault(x=> x.Equals(order.Currency)) ?? new Currency(language, order.Currency);

            webModel.InjectFrom(order);

            if (order.Addresses != null)
            {
                webModel.Addresses = order.Addresses.Select(a => a.ToWebModel()).ToList();
            }

            if (order.ChildrenOperations != null)
            {
                webModel.ChildrenOperations = order.ChildrenOperations.Select(co => co.ToWebModel(availCurrencies, language)).ToList();
            }

            webModel.Currency = currency;

            webModel.DiscountAmount = new Money(order.DiscountAmount ?? 0, currency);

            if (order.DynamicProperties != null)
            {
                webModel.DynamicProperties = order.DynamicProperties.Select(dp => dp.ToWebModel()).ToList();
            }

            if (order.InPayments != null)
            {
                webModel.InPayments = order.InPayments.Select(p => p.ToWebModel(availCurrencies, language)).ToList();
            }

            if (order.Items != null)
            {
                webModel.Items = order.Items.Select(i => i.ToWebModel(availCurrencies, language)).ToList();
            }

            if (order.Shipments != null)
            {
                webModel.Shipments = order.Shipments.Select(s => s.ToWebModel(availCurrencies, language)).ToList();
            }

            webModel.Sum = new Money(order.Sum ?? 0, currency);
            webModel.Tax = new Money(order.Tax ?? 0, currency);

            if (order.TaxDetails != null)
            {
                webModel.TaxDetails = order.TaxDetails.Select(td => td.ToWebModel(currency)).ToList();
            }

            return webModel;
        }
        public virtual Language ToLiquidLanguage(StorefrontModel.Language language)
        {
            var result = new Language();

            result.CultureName            = language.CultureName;
            result.NativeName             = language.NativeName;
            result.ThreeLeterLanguageName = language.ThreeLeterLanguageName;
            result.ThreeLetterRegionName  = language.ThreeLetterRegionName;
            result.TwoLetterLanguageName  = language.TwoLetterLanguageName;
            result.TwoLetterRegionName    = language.TwoLetterRegionName;

            return(result);
        }
        public static ShipmentItem ToWebModel(this VirtoCommerceOrderModuleWebModelShipmentItem shipmentItem, IEnumerable<Currency> availCurrencies, Language language)
        {
            var webModel = new ShipmentItem();

            webModel.InjectFrom(shipmentItem);

            if (shipmentItem.LineItem != null)
            {
                webModel.LineItem = shipmentItem.LineItem.ToWebModel(availCurrencies, language);
            }

            return webModel;
        }
        public static ShipmentPackage ToWebModel(this VirtoCommerceOrderModuleWebModelShipmentPackage shipmentPackage, IEnumerable<Currency> currencies, Language language)
        {
            var webModel = new ShipmentPackage();

            webModel.InjectFrom(shipmentPackage);

            if (shipmentPackage.Items != null)
            {
                webModel.Items = shipmentPackage.Items.Select(i => i.ToWebModel(currencies, language)).ToList();
            }

            return webModel;
        }
Exemplo n.º 19
0
        public virtual Cart ToLiquidCart(StorefrontModel.Cart.ShoppingCart cart, StorefrontModel.Language language, IStorefrontUrlBuilder urlBuilder)
        {
            var factory = ServiceLocator.Current.GetInstance <ShopifyModelFactory>();
            var result  = factory.CreateCart();

            result.Items       = cart.Items.Select(x => ToLiquidLineItem(x, language, urlBuilder)).ToList();
            result.ItemCount   = cart.Items.Count();
            result.Note        = cart.Comment;
            result.TotalPrice  = cart.SubTotal.Amount * 100;
            result.TotalWeight = cart.Weight;

            return(result);
        }
        public static ShippingMethod ToWebModel(this VirtoCommerceCartModuleWebModelShippingMethod shippingMethod, IEnumerable<Currency> availCurrencies, Language language)
        {
            var shippingMethodModel = new ShippingMethod();

            shippingMethodModel.InjectFrom(shippingMethod);

            var currency = availCurrencies.FirstOrDefault(x=> x.Equals(shippingMethod.Currency)) ?? new Currency(language, shippingMethod.Currency); 
            if (shippingMethod.Discounts != null)
            {
                shippingMethodModel.Discounts = shippingMethod.Discounts.Select(d => d.ToWebModel(availCurrencies, language)).ToList();
            }

            shippingMethodModel.Price = new Money(shippingMethod.Price ?? 0, currency);

            return shippingMethodModel;
        }
Exemplo n.º 21
0
        public static Category ToWebModel(this VirtoCommerceCatalogModuleWebModelCategory category, Language currentLanguage, VirtoCommerceCatalogModuleWebModelProduct[] products = null)
        {
            var retVal = new Category();
            retVal.InjectFrom<NullableAndEnumValueInjecter>(category);

            if (category.SeoInfos != null)
                retVal.SeoInfo = category.SeoInfos.Select(s => s.ToWebModel()).FirstOrDefault(x => x.Language == currentLanguage);

            if (category.Images != null)
            {
                retVal.Images = category.Images.Select(i => i.ToWebModel()).ToArray();
                retVal.PrimaryImage = retVal.Images.FirstOrDefault();
            }


            return retVal;
        }
        public static LineItem ToLineItem(this Product product, Language language, int quantity)
        {
            var lineItemWebModel = new LineItem(product.Price.Currency, language);

            lineItemWebModel.InjectFrom<NullableAndEnumValueInjecter>(product);

            var currency = product.Price.Currency;

            lineItemWebModel.ImageUrl = product.PrimaryImage != null ? product.PrimaryImage.Url : null;
            lineItemWebModel.ListPrice = product.Price.ListPrice;
            lineItemWebModel.SalePrice = product.Price.GetTierPrice(quantity).Price;
            lineItemWebModel.ProductId = product.Id;
            lineItemWebModel.Quantity = quantity;

            lineItemWebModel.ThumbnailImageUrl = product.PrimaryImage != null ? product.PrimaryImage.Url : null;

            return lineItemWebModel;
        }
Exemplo n.º 23
0
        public static LineItem ToLineItem(this Product product, Language language, int quantity)
        {
            var lineItemWebModel = new LineItem(product.Price.Currency, language);

            lineItemWebModel.InjectFrom<NullableAndEnumValueInjecter>(product);

            var currency = product.Price.Currency;

            lineItemWebModel.ImageUrl = product.PrimaryImage.Url;
            lineItemWebModel.ListPrice = product.Price.ListPrice;
            lineItemWebModel.SalePrice = product.Price.SalePrice;
            lineItemWebModel.PlacedPrice = product.Price.ActualPrice;
            lineItemWebModel.ExtendedPrice = lineItemWebModel.PlacedPrice * quantity;
            lineItemWebModel.ProductId = product.Id;
            lineItemWebModel.Quantity = quantity;
            lineItemWebModel.TaxTotal = new Money(0, currency.Code);
            lineItemWebModel.ThumbnailImageUrl = product.PrimaryImage.Url;

            return lineItemWebModel;
        }
Exemplo n.º 24
0
        public static LineItem ToShopifyModel(this StorefrontModel.Cart.LineItem lineItem, StorefrontModel.Language language, IStorefrontUrlBuilder urlBuilder)
        {
            var converter = new ShopifyModelConverter();

            return(converter.ToLiquidLineItem(lineItem, language, urlBuilder));
        }
Exemplo n.º 25
0
 public string ToAppAbsolute(string virtualPath, Store store, Language language)
 {
     var retVal = VirtualPathUtility.ToAbsolute(ToAppRelative(virtualPath, store, language));
     return retVal;
 }
Exemplo n.º 26
0
        public static LineItem ToShopifyModel(this StorefrontModel.Order.LineItem lineItem, StorefrontModel.Language language, IStorefrontUrlBuilder urlBuilder)
        {
            var converter = ServiceLocator.Current.GetInstance <ShopifyModelConverter>();

            return(converter.ToLiquidLineItem(lineItem, language, urlBuilder));
        }
Exemplo n.º 27
0
        public virtual LineItem ToLiquidLineItem(StorefrontModel.Cart.LineItem lineItem, StorefrontModel.Language language, IStorefrontUrlBuilder urlBuilder)
        {
            var factory = ServiceLocator.Current.GetInstance <ShopifyModelFactory>();
            var result  = factory.CreateLineItem();

            result.InjectFrom <StorefrontModel.Common.NullableAndEnumValueInjecter>(lineItem);

            //shopifyModel.Product = lineItem.Product.ToShopifyModel();
            result.Fulfillment = null; // TODO
            result.Grams       = lineItem.Weight ?? 0m;
            result.Image       = new Image
            {
                Alt       = lineItem.Name,
                Name      = lineItem.Name,
                ProductId = lineItem.ProductId,
                Src       = lineItem.ImageUrl
            };
            result.LinePrice        = lineItem.ExtendedPrice.Amount * 100;
            result.LinePriceWithTax = lineItem.ExtendedPriceWithTax.Amount * 100;
            result.Price            = lineItem.PlacedPrice.Amount * 100;
            result.PriceWithTax     = lineItem.PlacedPriceWithTax.Amount * 100;
            result.Title            = lineItem.Name;
            result.VariantId        = lineItem.ProductId;

            result.Properties = new MetafieldsCollection("properties", language, lineItem.DynamicProperties);

            return(result);
        }
Exemplo n.º 28
0
        public virtual LineItem ToLiquidLineItem(StorefrontModel.Order.LineItem lineItem, StorefrontModel.Language language, IStorefrontUrlBuilder urlBuilder)
        {
            var factory = ServiceLocator.Current.GetInstance <ShopifyModelFactory>();
            var result  = factory.CreateLineItem();

            result.InjectFrom <StorefrontModel.Common.NullableAndEnumValueInjecter>(lineItem);

            result.Fulfillment = null; // TODO
            result.Grams       = lineItem.Weight ?? 0m;
            result.Image       = new Image
            {
                Alt       = lineItem.Name,
                Name      = lineItem.Name,
                ProductId = lineItem.ProductId,
                Src       = lineItem.ImageUrl
            };
            result.LinePrice        = lineItem.ExtendedPrice.Amount * 100;
            result.LinePriceWithTax = lineItem.ExtendedPriceWithTax.Amount * 100;
            result.Price            = lineItem.PlacedPrice.Amount * 100;
            result.PriceWithTax     = lineItem.PlacedPriceWithTax.Amount * 100;
            result.Title            = lineItem.Name;
            result.Type             = lineItem.ObjectType;
            result.Url     = urlBuilder.ToAppAbsolute("/product/" + lineItem.ProductId);
            result.Product = new Product
            {
                Id  = result.ProductId,
                Url = result.Url
            };

            return(result);
        }
Exemplo n.º 29
0
        public static Cart ToShopifyModel(this StorefrontModel.Cart.ShoppingCart cart, StorefrontModel.Language language, IStorefrontUrlBuilder urlBuilder)
        {
            var converter = ServiceLocator.Current.GetInstance <ShopifyModelConverter>();

            return(converter.ToLiquidCart(cart, language, urlBuilder));
        }
Exemplo n.º 30
0
        public static Cart ToShopifyModel(this StorefrontModel.Cart.ShoppingCart cart, StorefrontModel.Language language, IStorefrontUrlBuilder urlBuilder)
        {
            var converter = new ShopifyModelConverter();

            return(converter.ToLiquidCart(cart, language, urlBuilder));
        }
        public static Language ToShopifyModel(this StorefrontModel.Language language)
        {
            var converter = ServiceLocator.Current.GetInstance <ShopifyModelConverter>();

            return(converter.ToLiquidLanguage(language));
        }
        public static Language ToShopifyModel(this StorefrontModel.Language language)
        {
            var converter = new ShopifyModelConverter();

            return(converter.ToLiquidLanguage(language));
        }
Exemplo n.º 33
0
        public virtual LineItem ToLiquidLineItem(StorefrontModel.Cart.LineItem lineItem, StorefrontModel.Language language, IStorefrontUrlBuilder urlBuilder)
        {
            var result = new LineItem();

            result.Id               = lineItem.Id;
            result.Quantity         = lineItem.Quantity;
            result.RequiresShipping = lineItem.RequiredShipping;
            result.Quantity         = lineItem.Quantity;
            result.Sku              = lineItem.Sku;
            result.Title            = lineItem.Name;
            result.Type             = lineItem.ProductType;
            result.Url              = lineItem.ImageUrl;

            result.Fulfillment = null; // TODO
            result.Grams       = lineItem.Weight ?? 0m;
            result.Image       = new Image
            {
                Alt       = lineItem.Name,
                Name      = lineItem.Name,
                ProductId = lineItem.ProductId,
                Src       = lineItem.ImageUrl
            };
            result.LinePrice        = lineItem.ExtendedPrice.Amount * 100;
            result.LinePriceWithTax = lineItem.ExtendedPriceWithTax.Amount * 100;
            result.Price            = lineItem.PlacedPrice.Amount * 100;
            result.PriceWithTax     = lineItem.PlacedPriceWithTax.Amount * 100;
            result.Title            = lineItem.Name;
            result.VariantId        = lineItem.ProductId;

            result.Properties = new MetafieldsCollection("properties", language, lineItem.DynamicProperties);

            return(result);
        }
Exemplo n.º 34
0
        public virtual LineItem ToLiquidLineItem(StorefrontModel.Order.LineItem lineItem, StorefrontModel.Language language, IStorefrontUrlBuilder urlBuilder)
        {
            var result = new LineItem();

            result.Id       = lineItem.Id;
            result.Quantity = lineItem.Quantity ?? 1;
            result.Sku      = lineItem.Sku;
            result.Title    = lineItem.Name;
            result.Url      = lineItem.ImageUrl;

            result.Fulfillment = null; // TODO
            result.Grams       = (decimal?)lineItem.Weight ?? 0m;
            result.Image       = new Image
            {
                Alt       = lineItem.Name,
                Name      = lineItem.Name,
                ProductId = lineItem.ProductId,
                Src       = lineItem.ImageUrl
            };
            result.LinePrice        = lineItem.ExtendedPrice.Amount * 100;
            result.LinePriceWithTax = lineItem.ExtendedPriceWithTax.Amount * 100;
            result.Price            = lineItem.PlacedPrice.Amount * 100;
            result.PriceWithTax     = lineItem.PlacedPriceWithTax.Amount * 100;
            result.Title            = lineItem.Name;
            result.Type             = lineItem.ObjectType;
            result.Url     = urlBuilder.ToAppAbsolute("/product/" + lineItem.ProductId);
            result.Product = new Product
            {
                Id  = result.ProductId,
                Url = result.Url
            };

            return(result);
        }