示例#1
0
        public static LineItem ToShopifyModel(this StorefrontModel.Order.LineItem lineItem, IStorefrontUrlBuilder urlBuilder)
        {
            var result = new LineItem
            {
                Fulfillment = null,
                Grams       = lineItem.Weight ?? 0m,
                Id          = lineItem.Id,
                Quantity    = lineItem.Quantity ?? 0,
                Price       = lineItem.Price.Amount,
                ProductId   = lineItem.ProductId,
                Sku         = lineItem.Name,
                Title       = lineItem.Name,
                Url         = urlBuilder.ToAppAbsolute("/product/" + lineItem.ProductId),
            };

            result.LinePrice = result.Price * result.Quantity;

            result.Product = new Product
            {
                Id  = result.ProductId,
                Url = result.Url
            };

            //result.Image = lineItem.Product.PrimaryImage != null ? lineItem.Product.PrimaryImage.ToShopifyModel() : null;
            //result.RequiresShipping = lineItem.RequiredShipping;
            //result.Taxable = lineItem.TaxIncluded;

            return(result);
        }
示例#2
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);
        }
        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);
        }
示例#4
0
        public static LineItem ToShopifyModel(this StorefrontModel.Order.LineItem lineItem, StorefrontModel.Language language, IStorefrontUrlBuilder urlBuilder)
        {
            var converter = new ShopifyModelConverter();

            return(converter.ToLiquidLineItem(lineItem, language, urlBuilder));
        }
        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));
        }