public ActionResult Index(MyProduct currentContent, string variationCode = "")
        {
            ProductService ps         = new ProductService();
            var            variations = ps.GetVariations(currentContent);

            MyVariantion variation;

            if (!TryGetFashionVariant(variations, variationCode, out variation))
            {
                return(HttpNotFound());
            }
            var _currentMarket = ServiceLocator.Current.GetInstance <ICurrentMarket>();

            var market       = _currentMarket.GetCurrentMarket();
            var curency      = market.Currencies.Where(x => x.CurrencyCode == market.DefaultCurrency).Cast <Currency>().FirstOrDefault();
            var defaultPrice = GetDefaultPrice(variation, market, curency);

            MyProductVM model = new MyProductVM();

            model.Product     = currentContent;
            model.VariantName = variation.Name;
            model.Price       = defaultPrice.UnitPrice;
            model.VariantCode = variationCode;
            model.Image       = AssetHelper.GetAssetUrl(variation.CommerceMediaCollection);

            var _cartService = new CartService();

            model.CartItemNumber = _cartService.GetLineItemsTotalQuantity();

            var _contentLoader = ServiceLocator.Current.GetInstance <IContentLoader>();

            model.CheckoutPage = _contentLoader.Get <StartPage>(ContentReference.StartPage).CheckoutPage;

            return(View(model));
        }
Exemplo n.º 2
0
        public override ActionResult Index(ProductContent currentContent)
        {
            var model = new MyProductVM()
            {
                Name  = currentContent.Name,
                Image = AssetHelper.GetAssetUrl(currentContent.CommerceMediaCollection)
            };
            ProductService ps             = new ProductService();
            var            variantProduct = ps.GetProductViewModel(currentContent);

            model.Link = variantProduct.Link;
            return(PartialView("_Product", model));
        }
        public virtual MyProductVM GetProductViewModel(ProductContent product)
        {
            var variations = _contentLoader.GetItems(product.GetVariants(), _preferredCulture).
                             Cast <VariationContent>()
                             .ToList();

            var variation = variations.FirstOrDefault();
            var productVM = new MyProductVM();

            productVM.Name = variation.Name;
            productVM.Link = variation.GetUrl();
            return(productVM);
        }