예제 #1
0
 private IEnumerable <FashionVariant> GetVariants(FashionBundle currentContent)
 {
     return(_contentLoader
            .GetItems(currentContent.GetEntries(_relationRepository), _languageResolver.GetPreferredCulture())
            .OfType <FashionVariant>()
            .Where(v => v.IsAvailableInCurrentMarket(_currentMarket) && !_filterPublished.ShouldFilter(v))
            .ToArray());
 }
 public virtual FashionBundleViewModel Create(FashionBundle currentContent)
 {
     return(new FashionBundleViewModel
     {
         Bundle = currentContent,
         Images = currentContent.GetAssets <IContentImage>(_contentLoader, _urlResolver),
         Entries = _catalogContentService.GetVariants <FashionVariant>(currentContent).ToList()
     });
 }
예제 #3
0
        public virtual FashionBundleViewModel Create(FashionBundle currentContent)
        {
            var variants  = GetVariants(currentContent).ToList();
            var viewModel = new FashionBundleViewModel
            {
                Bundle  = currentContent,
                Images  = currentContent.GetAssets <IContentImage>(_contentLoader, _urlResolver),
                Entries = variants
            };

            return(viewModel);
        }
예제 #4
0
        public ActionResult Index(FashionBundle currentContent, bool useQuickview = false)
        {
            var viewModel = _viewModelFactory.Create(currentContent);

            if (_isInEditMode && !viewModel.Entries.Any())
            {
                var emptyViewName = "BundleWithoutEntries";
                return(Request.IsAjaxRequest() ? PartialView(emptyViewName, viewModel) : (ActionResult)View(emptyViewName, viewModel));
            }

            if (useQuickview)
            {
                return(PartialView("_Quickview", viewModel));
            }

            return(Request.IsAjaxRequest() ? PartialView(viewModel) : (ActionResult)View(viewModel));
        }
예제 #5
0
        public ActionResult Index(FashionBundle currentContent, bool useQuickview = false)
        {
            var viewModel = _viewModelFactory.Create(currentContent);

            if (_isInEditMode && !viewModel.Entries.Any())
            {
                var emptyViewName = "BundleWithoutEntries";
                return(Request.IsAjaxRequest() ? PartialView(emptyViewName, viewModel) : (ActionResult)View(emptyViewName, viewModel));
            }

            if (useQuickview)
            {
                return(PartialView("_Quickview", viewModel));
            }

            viewModel.AlternativeProducts = this.GetAlternativeProductsRecommendations().Take(3);
            viewModel.CrossSellProducts   = this.GetCrossSellProductsRecommendations();
            return(Request.IsAjaxRequest() ? PartialView(viewModel) : (ActionResult)View(viewModel));
        }
예제 #6
0
        public async Task <ActionResult> Index(FashionBundle currentContent, bool useQuickview = false)
        {
            var viewModel = _viewModelFactory.Create(currentContent);

            if (_isInEditMode && !viewModel.Entries.Any())
            {
                var emptyViewName = "BundleWithoutEntries";
                return(Request.IsAjaxRequest() ? PartialView(emptyViewName, viewModel) : (ActionResult)View(emptyViewName, viewModel));
            }

            var trackingResults = await _recommendationService.TrackProductAsync(HttpContext, currentContent.Code, useQuickview);

            if (useQuickview)
            {
                return(PartialView("_Quickview", viewModel));
            }

            viewModel.AlternativeProducts = trackingResults?.GetAlternativeProductsRecommendations(_referenceConverter).Take(3);
            viewModel.CrossSellProducts   = trackingResults?.GetCrossSellProductsRecommendations(_referenceConverter);

            return(Request.IsAjaxRequest() ? PartialView(viewModel) : (ActionResult)View(viewModel));
        }
예제 #7
0
 public virtual IEnumerable <T> GetVariants <T>(FashionBundle currentContent) where T : VariationContent
 {
     return(GetVariants <T>(currentContent.GetEntries(_relationRepository), _languageResolver.GetPreferredCulture()));
 }