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))); } }
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); }