Beispiel #1
0
        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;
 }