private void AddTabbedContent(PageRoot cmsContent, Page <Article> model)
        {
            if (cmsContent.Article?.TabbedContents == null)
            {
                return;
            }

            var tabbedContents = new List <TabbedContent>();

            foreach (var responseTabbedContent in cmsContent.Article.TabbedContents)
            {
                var content = new TabbedContent
                {
                    TabName         = responseTabbedContent.TabName,
                    TabTitle        = responseTabbedContent.TabTitle,
                    FindTraineeShip = responseTabbedContent.FindTraineeship
                };

                var pageContent = new List <IHtmlControl>();

                foreach (var tabContent in responseTabbedContent.Content.Items)
                {
                    var factory = _controlAbstractFactory.CreateControlFactoryFor(tabContent);

                    if (factory == null)
                    {
                        continue;
                    }

                    pageContent.Add(factory.Create(tabContent));
                }

                content.Content = pageContent;
                tabbedContents.Add(content);
            }

            model.Content.TabbedContents = tabbedContents;
        }
Ejemplo n.º 2
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;
        }