private UcommerceProductDto ConvertProductToUcommerceProductDto(Product product)
        {
            var imageService = ObjectFactory.Instance.Resolve <IImageService>();

            var url   = CatalogLibrary.GetNiceUrlForProduct(product);
            var price = CatalogLibrary.CalculatePrice(product);

            var ucommerceProduct = new UcommerceProductDto
            {
                ProductName = product.Name,
                ProductSku  = product.Sku,
                ProductUrl  = url,
                Price       = "-",
                Tax         = "-"
            };

            if (price.YourPrice != null)
            {
                ucommerceProduct.Price = price.YourPrice.Amount.ToString();
                ucommerceProduct.Tax   = price.YourTax.ToString();
            }

            if (string.IsNullOrWhiteSpace(product.PrimaryImageMediaId) == false)
            {
                ucommerceProduct.ImageUrl = imageService.GetImage(product.PrimaryImageMediaId).Url;
            }

            return(ucommerceProduct);
        }
        public List <UcommerceProductDto> ConvertToUcommerceProduct(ICollection <Product> _products)
        {
            var data         = new List <UcommerceProductDto>();
            var imageService = ObjectFactory.Instance.Resolve <IImageService>();

            foreach (Product product in _products)
            {
                var url   = CatalogLibrary.GetNiceUrlForProduct(product, SiteContext.Current.CatalogContext.CurrentCategory, SiteContext.Current.CatalogContext.CurrentCatalog);
                var price = CatalogLibrary.CalculatePrice(product);

                var ucommerceProduct = new UcommerceProductDto
                {
                    ProductName = product.DisplayName(),
                    ProductSku  = product.Sku,
                    ProductUrl  = url,
                    Price       = "-",
                    Tax         = "-"
                };

                if (price.YourPrice != null)
                {
                    ucommerceProduct.Price = price.YourPrice.Amount.ToString();
                }
                if (price.YourTax != null)
                {
                    ucommerceProduct.Tax = price.YourTax.ToString();
                }

                data.Add(ucommerceProduct);

                if (!string.IsNullOrWhiteSpace(product.PrimaryImageMediaId))
                {
                    ucommerceProduct.ImageUrl = imageService.GetImage(product.PrimaryImageMediaId).Url;
                }
            }

            return(data);
        }