public FindProduct GetFindProduct(Mediachase.Commerce.IMarket market)
        {
            var language    = (Language == null ? string.Empty : Language.Name);
            var findProduct = new FindProduct(this, language);

            findProduct.Description = Description;
            findProduct.Overview    = Overview;
            EPiServer.Commerce.SpecializedProperties.Price defaultPrice = this.GetDefaultPrice();
            findProduct.DefaultPrice       = this.GetDisplayPrice(market);
            findProduct.DefaultPriceAmount = this.GetDefaultPriceAmount(market);

            PriceAndMarket discountPrice = this.GetDiscountPrice(market);

            findProduct.DiscountedPriceAmount = GetPriceWithCheck(discountPrice);
            findProduct.DiscountedPrice       = GetDisplayPriceWithCheck(discountPrice);

            PriceAndMarket customerClubPrice = this.GetCustomerClubPrice(market);

            findProduct.CustomerClubPriceAmount = GetPriceWithCheck(customerClubPrice);
            findProduct.CustomerClubPrice       = GetDisplayPriceWithCheck(customerClubPrice);

            findProduct.Brand          = Facet_Brand;
            findProduct.Resolution     = Resolution;
            findProduct.LensMount      = LensMount;
            findProduct.CameraFormat   = CameraFormat;
            findProduct.FileFormat     = FileFormat;
            findProduct.Connectivity   = Connectivity;
            findProduct.Battery        = Battery;
            findProduct.MemoryCardType = MemoryCardType;
            findProduct.Weight         = Weight;


            return(findProduct);
        }
        public FindProduct GetFindProduct(Mediachase.Commerce.IMarket market)
        {
            var language    = (Language == null ? string.Empty : Language.Name);
            var findProduct = new FindProduct(this, language);

            findProduct.Color = Color != null ? new List <string>()
            {
                Color
            } : new List <string>();
            findProduct.Description = Description;
            findProduct.Overview    = Overview;
            EPiServer.Commerce.SpecializedProperties.Price defaultPrice = this.GetDefaultPrice();
            findProduct.DefaultPrice       = this.GetDisplayPrice(market);
            findProduct.DefaultPriceAmount = this.GetDefaultPriceAmount(market);

            PriceAndMarket discountPrice = this.GetDiscountPrice(market);

            findProduct.DiscountedPriceAmount = GetPriceWithCheck(discountPrice);
            findProduct.DiscountedPrice       = GetDisplayPriceWithCheck(discountPrice);

            PriceAndMarket customerClubPrice = this.GetCustomerClubPrice(market);

            findProduct.CustomerClubPriceAmount = customerClubPrice != null ? (double)customerClubPrice.UnitPrice.Amount : 0;
            findProduct.CustomerClubPrice       = customerClubPrice != null ? customerClubPrice.Price : string.Empty;

            findProduct.Brand = this.Facet_Brand;
            return(findProduct);
        }
        public FindProduct GetFindProduct(IMarket market)
        {
            List <VariationContent> productVariants = this.GetVaritions().ToList();
            var variations = GetGenericVariants(productVariants, market);

            var language = (Language == null ? string.Empty : Language.Name);

            var findProduct = new FindProduct(this, language);

            findProduct.Description = Description;
            findProduct.Color       = Color != null ? new List <string>()
            {
                Color
            } : new List <string>();
            findProduct.Sizes =
                variations.Select(x => x.Size ?? string.Empty).Distinct().ToList();
            findProduct.Brand = this.Facet_Brand;

            EPiServer.Commerce.SpecializedProperties.Price defaultPrice = productVariants.GetDefaultPrice(market);

            findProduct.DefaultPrice       = productVariants.GetDisplayPrice(market);
            findProduct.DefaultPriceAmount = productVariants.GetDefaultPriceAmount(market);

            PriceAndMarket discountPrice = productVariants.GetDiscountPrice(market);

            findProduct.DiscountedPrice       = GetDisplayPriceWithCheck(discountPrice);
            findProduct.DiscountedPriceAmount = GetPriceWithCheck(discountPrice);

            PriceAndMarket customerClubPrice = productVariants.GetCustomerClubPrice(market);

            findProduct.CustomerClubPriceAmount = GetPriceWithCheck(customerClubPrice);
            findProduct.CustomerClubPrice       = GetDisplayPriceWithCheck(customerClubPrice);

            findProduct.GenericVariants = variations;

            return(findProduct);
        }
 private string GetDisplayPriceWithCheck(PriceAndMarket price)
 {
     return(price != null?price.UnitPrice.ToString() : string.Empty);
 }
 private double GetPriceWithCheck(PriceAndMarket price)
 {
     return(price != null ? (double)price.UnitPrice.Amount : 0);
 }
 public static string GetDisplayPriceWithCheck(this PriceAndMarket price)
 {
     return(price != null?price.UnitPrice.ToString() : string.Empty);
 }
 public static decimal GetPriceWithCheck(this PriceAndMarket price)
 {
     return(price != null ? price.UnitPrice.Amount : 0);
 }