コード例 #1
0
        public async Task <IViewComponentResult> InvokeAsync()
        {
            var userId = HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier);

            if (userId == null)
            {
                var value      = Request.Cookies[KEY];
                var collection = string.IsNullOrEmpty(value) ? new List <CartHolder>() :
                                 (await _json.DeserializeAsync <IReadOnlyList <CartHolder> >(value));
                return(View("Default", await _header.GetViewModel(collection)));
            }
            else
            {
                return(View("Default", await _header.GetViewModel(userId)));
            }
        }
コード例 #2
0
        public BannerViewModel GetViewModel(IPublishedContent componentContent)
        {
            var viewModel = new BannerViewModel
            {
                BackgroundImage = new MediaModel(),
                BannerSlides    = new List <BannerSlide>()
            };

            if (componentContent == null)
            {
                return(viewModel);
            }

            PopulateComponentBaseProperties(viewModel, componentContent);

            var headerContent = componentContent
                                .GetPropertyValue <IEnumerable <IPublishedContent> >(PropertyAliases.Banner.Header);

            if (!headerContent.IsNullOrEmpty())
            {
                viewModel.HeaderViewModel = _headerService.GetViewModel(headerContent.First());
            }

            viewModel.BackgroundImage = _mediaModelService
                                        .GetMediaModel(componentContent.GetPropertyValue <IPublishedContent>(PropertyAliases.Banner.BackgroundImage));

            var bannerSlidesContent = componentContent
                                      .GetPropertyValue <IEnumerable <IPublishedContent> >(PropertyAliases.Banner.BannerSlides);

            if (bannerSlidesContent != null)
            {
                viewModel.BannerSlides = GetBannerSlides(bannerSlidesContent);
            }

            return(viewModel);
        }