internal static void AddBannerContent <T>(this Page <T> model, IHtmlControlAbstractFactory controlAbstractFactory, ResponseBanner cmsContentBanner) where T : IContentType { if (cmsContentBanner == null) { model.BannerModels = new List <Banner>(); return; } var banners = new List <Banner>(); foreach (var banner in cmsContentBanner.MainContent) { var bannerModel = new Banner { AllowUserToHideTheBanner = banner.AllowUserToHideTheBanner, BackgroundColour = banner.BackgroundColour, ShowOnTheHomepageOnly = banner.ShowOnTheHomepageOnly, Title = banner.Title, Id = banner.Id }; var pageContent = new List <IHtmlControl>(); foreach (var content in banner.Items) { var factory = controlAbstractFactory.CreateControlFactoryFor(content); if (factory == null) { continue; } pageContent.Add(factory.Create(content)); } bannerModel.Content = pageContent; banners.Add(bannerModel); } model.BannerModels = banners; }
public LandingPageJsonConverter(IHtmlControlAbstractFactory controlAbstractFactory) { _controlAbstractFactory = controlAbstractFactory; }
public ArticleJsonConverter(IHtmlControlAbstractFactory controlAbstractFactory) { _controlAbstractFactory = controlAbstractFactory; }
public BannerJsonConverter(IHtmlControlAbstractFactory controlAbstractFactory) { _controlAbstractFactory = controlAbstractFactory; }