Beispiel #1
0
        public IEventDetailsPage GetFeaturedEvent()
        {
            var page = _context.GetDataSourceItem <IEventDetailsPage>();

            Throw.IfNull(page, nameof(page));

            return(page);
        }
Beispiel #2
0
        // GET: PageStructure
        public ActionResult Header()
        {
            var dataSourceItem = _mvcContext.GetDataSourceItem <ISiteHeader>();

            if (dataSourceItem == null && !Sitecore.Context.PageMode.IsExperienceEditorEditing)
            {
                return(new EmptyResult());
            }



            return(View(dataSourceItem));
        }
Beispiel #3
0
        public ActionResult CommentSection()
        {
            _logger.Debug($"{nameof(CommentSection)} has been called.");

            var dataSourceItem = _mvcContext.GetDataSourceItem <IComment>();

            Throw.IfNull(dataSourceItem, nameof(dataSourceItem));

            var model = new CommentSectionViewModel
            {
                EventId         = Guid.Empty,
                CommentSettings = dataSourceItem
            };

            var context = RenderingContext.CurrentOrNull;

            if (!(context is null))
            {
                model.EventId = RenderingContext.Current.ContextItem.ID.Guid;
            }

            model.Comments = GetLasts(model.CommentSettings.DisplayedCommentCount, model.EventId);

            return(View(model));
        }
Beispiel #4
0
        /// <summary>
        /// Getting 2 variants of ImageText components(Left,Right )
        /// </summary>
        /// <returns>ImageText component variation based on parameter selected from Sitecore</returns>

        public IImageText GetImageText()
        {
            IMvcContext mvcContext = _mvcContext();
            IImageText  imageText  = mvcContext.GetDataSourceItem <IImageText>();

            return(imageText ?? _imageText);
        }
Beispiel #5
0
        /// <summary>
        /// Getting 2 variants of Parallax components(background image )
        /// </summary>
        /// <returns>Parallax</returns>
        public IParallax GetParallax()
        {
            IMvcContext mvcContext = _mvcContext();
            IParallax   parallax   = mvcContext.GetDataSourceItem <IParallax>();

            return(parallax ?? _parallax);
        }
Beispiel #6
0
        /// <summary>
        /// Getting all Home Carousel component asigned in Sitecore with the Background CSS (eg:explore)
        /// </summary>
        /// <returns>Home Carousel content Slides details</returns>
        public IHomepage_Carousels HomePageCarousels()
        {
            IMvcContext         mvcContext         = _mvcContext();
            IHomepage_Carousels homepage_Carousels = mvcContext.GetDataSourceItem <IHomepage_Carousels>();

            return(homepage_Carousels ?? _homepage_Carousels);
        }
        public LanguageSelectorViewModel GetViewModel(Language currentLanguage, Item currentItem, Database currentDatabase)
        {
            Throw.IfNull(currentLanguage, nameof(currentLanguage));
            Throw.IfNull(currentItem, nameof(currentItem));
            Throw.IfNull(currentDatabase, nameof(currentDatabase));

            var dataSource = _mvcContext.GetDataSourceItem <ILanguageSelectorSettings>();

            Throw.IfCondition(dataSource is null, nameof(dataSource),
                              Translate.Text(DictionaryKeys.ErrorMessages.DataSourceNotExist));

            var languages  = _languageManager.GetLanguages(currentDatabase);
            var viewModels = languages
                             .Select(x =>
            {
                var url = _linkManager.GetItemUrl(currentItem, new ItemUrlBuilderOptions
                {
                    Language          = x,
                    LanguageEmbedding = LanguageEmbedding.Always
                });

                return(new LanguageViewModel
                {
                    DisplayName = GetLanguageDisplayName(x.GetDisplayName()),
                    Link = url
                });
            });

            return(new LanguageSelectorViewModel
            {
                CurrentLanguageName = GetLanguageDisplayName(currentLanguage.GetDisplayName()),
                Languages = viewModels,
                LanguageSelectorSettings = dataSource
            });
        }
Beispiel #8
0
        /// <summary>
        /// Getting all Hero component asigned in Sitecore on field (Hero Metrics)
        /// </summary>
        /// <returns>HeroBannerList</returns>
        public IHero GetHero()
        {
            IMvcContext mvcContext = _mvcContext();
            IHero       hero       = mvcContext.GetDataSourceItem <IHero>();

            return(hero ?? _hero);
        }
Beispiel #9
0
        public static T GetDataSourceItem <T>(this IMvcContext context, Action <GetKnownItemBuilder> config) where T : class
        {
            var builder = new GetKnownItemBuilder();

            config(builder);
            return(context.GetDataSourceItem <T>(builder));
        }
Beispiel #10
0
        /// <summary>
        /// Getting all Interactive Map component asigned in Sitecore on field (Interactive Maps)
        /// </summary>
        /// <returns>InteractiveMapList</returns>
        public IInteractive_Map InteractiveMaps()
        {
            IMvcContext      mvcContext      = _mvcContext();
            IInteractive_Map interactive_Map = mvcContext.GetDataSourceItem <IInteractive_Map>();

            return(interactive_Map ?? _interactive_Map);
        }
Beispiel #11
0
        public ISubscriptionForm GetSubscriptionForm()
        {
            var subscriptionForm = _context.GetDataSourceItem <ISubscriptionForm>();

            Throw.IfNull(subscriptionForm, nameof(subscriptionForm));

            return(subscriptionForm);
        }
Beispiel #12
0
        public T GetDataSourceItem <T>(IMvcContext context = null) where T : class
        {
            if (context == null)
            {
                context = _currentContext;
            }

            return(context.GetDataSourceItem <T>());
        }
        public ActionResult FeaturedBooks()
        {
            IFeaturedBooks model = null;

            if (_mvcContext.HasDataSource)
            {
                model = _mvcContext.GetDataSourceItem <IFeaturedBooks>();
            }
            return(View(model));
        }
Beispiel #14
0
        public ActionResult Menu()
        {
            _logger.Debug($"{nameof(Menu)} has been called.");

            var dataSource          = _mvcContext.GetDataSourceItem <INavigationComponentSettings>();
            var contextItem         = RenderingContext.Current.ContextItem;
            var navigationComponent = _navigationService.GetMenu(contextItem, dataSource);

            return(ExecuteSafe(() => View(navigationComponent)));
        }
        public override IRenderingModelBase GetModel()
        {
            NavigationRenderingModel navigationRenderingModel = new NavigationRenderingModel();

            this.FillBaseProperties((object)navigationRenderingModel);
            INavigableList navigableList = mvcContext.GetDataSourceItem <INavigableList>();

            if (navigableList != null && navigableList.NavigableItems != null && navigableList.NavigableItems.Any())
            {
                navigationRenderingModel.Navigations = navigableList.NavigableItems.Select(item => ConvertToNavItem(item)).ToList();
            }
            return((IRenderingModelBase)navigationRenderingModel);
        }
Beispiel #16
0
        public ActionResult RegisterForm()
        {
            _logger.Debug($"{nameof(RegisterForm)} has been called.");

            var model = new RegistrationPageViewModel
            {
                RegistrationPage = _mvcContext.GetContextItem <IRegistrationPage>(),
                AssetsService    = _assetsService,
                DataSourceId     = _mvcContext.GetDataSourceItem <IEmail>()?.Id ?? Guid.Empty
            };

            return(ExecuteSafe(() => View(model)));
        }
Beispiel #17
0
        /// <summary>
        /// Getting all amenities  when adding as rendering component
        /// </summary>
        /// <returns>Amenities</returns>
        public IAmenities GetAmenities()
        {
            IMvcContext mvcContext = _mvcContext();
            IAmenities  amenities  = mvcContext.GetDataSourceItem <IAmenities>();

            _amenities.Page_Amenities = null;
            //First check the datasource item if empty then get the details from context template item
            if (amenities == null)
            {
                IGeneric_ContentPage generic_ContentPage = mvcContext.GetContextItem <IGeneric_ContentPage>();
                if (generic_ContentPage?.Amenities?.Count() > 0)
                {
                    _amenities.Page_Amenities = generic_ContentPage.Amenities;
                }
            }
            return(amenities?.Page_Amenities != null ? amenities : _amenities);
        }
Beispiel #18
0
        /// <summary>
        /// Getting all Faqs  when adding as rendering component
        /// </summary>
        /// <returns>Faqs</returns>
        public IFaqs GetFaqs()
        {
            IMvcContext mvcContext = _mvcContext();
            IFaqs       faqs       = mvcContext.GetDataSourceItem <IFaqs>();

            _faqs.Page_Faqs = null;
            //First check the datasource item if empty then get the details from context template item
            if (faqs == null)
            {
                IGeneric_ContentPage generic_ContentPage = mvcContext.GetContextItem <IGeneric_ContentPage>();
                if (generic_ContentPage?.Faqs?.Count() > 0)
                {
                    _faqs.Page_Faqs = generic_ContentPage.Faqs;
                }
            }
            return(faqs?.Page_Faqs != null ? faqs : _faqs);
        }
Beispiel #19
0
        ///// <summary>
        ///// Getting all Related pages component asigned in Sitecore   when adding as rendering component
        ///// </summary>
        ///// <returns>Related Pages details</returns>
        public IRelated_Pages RelatedPages()
        {
            IRelated_Pages related_Pages = null;
            IMvcContext    mvcContext    = _mvcContext();

            _related_Pages.Pages = null;
            //First check the datasource item if empty then get the details from context template item
            related_Pages = mvcContext.GetDataSourceItem <IRelated_Pages>();
            if (related_Pages == null)
            {
                IGeneric_ContentPage generic_ContentPage = mvcContext.GetContextItem <IGeneric_ContentPage>();
                if (generic_ContentPage?.Related_Pages?.Count() > 0)
                {
                    _related_Pages.Pages = generic_ContentPage.Related_Pages;
                }
            }
            return(related_Pages?.Pages != null ? related_Pages : _related_Pages);
        }
        // GET: Carousel
        public ActionResult Slider()
        {
            SliderModel model = new SliderModel();

            if (_mvcContext.HasDataSource)
            {
                //Sitecore.Mvc.Presentation.RequestContextExtensions.Current.

                _mvcContext.GetDataSourceItem <SliderModel>();
                var dataSource = RenderingContext.Current.Rendering.Item;
                //var datasourceItem = Sitecore.Context.Database.GetItem(new Sitecore.Data.ID(dataSourceID));

                MultilistField slidesField = dataSource.Fields["{3AC463B0-DE1F-4D98-842A-C750897C24D6}"];
                if (slidesField?.Count > 0)
                {
                    model.Slides = slidesField.GetItems().ToList();
                }
            }
            return(View(model));
        }
        public ActionResult SearchComponent()
        {
            _logger.Debug($"{nameof(SearchComponent)} has been called.");

            var dataSource = _mvcContext.GetDataSourceItem <IEventSearchSettings>();
            var model      = new EventListViewModel
            {
                PageNumber = DefaultPageNumber,
                PageSize   = DefaultPageSize,
                AllTags    = _eventSearchService.GetAllTags()
            };

            model.PageSizeOptions = dataSource is null || !dataSource.PageSizeOptions.Any()
                ? new List <int> {
                model.PageSize
            }
                : dataSource.PageSizeOptions.Select(x => x.Value);

            return(ExecuteSafe(() => View(model)));
        }
        public ActionResult SchemaOrg()
        {
            var viewModel = new SchemaViewModel();

            try
            {
                var Scope = _sitecoreService.GetDataSourceItem <SchemaScope>();

                if (Scope != null && Scope.SchemaProperties != null)
                {
                    UpdateSchemaProperties(Scope.SchemaProperties);
                    viewModel.Scope = Scope;
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, ex, this);
            }

            return(PartialView(viewModel));
        }
        public ActionResult TileListHorizontal()
        {
            var model = _mvcContext.GetDataSourceItem <TileListHorizontalModel>();

            return(View(model));
        }
        public ActionResult ProductList()
        {
            var model = _mvcContext.GetDataSourceItem <ProductListModel>();

            return(View(model));
        }
Beispiel #25
0
        public ActionResult Footer()
        {
            var model = _mvcContext.GetDataSourceItem <FooterModel>();

            return(View(model));
        }
 // Standard Carousel
 public ActionResult GetCarousel() => _context.GetDataSourceItem <ICarousel>() == null ? null : View(new CarouselViewModel(_context.GetDataSourceItem <ICarousel>()));
        public ActionResult DemoArticle()
        {
            var dataSource = _mvcContext.GetDataSourceItem <DemoArticle>();

            return(View(dataSource));
        }
 public T GetDataSourceItem <T>(GetKnownOptions options) where T : class
 {
     return(_mvcContext.GetDataSourceItem <T>(options));
 }
Beispiel #29
0
        public ActionResult Hero()
        {
            var model = _mvcContext.GetDataSourceItem <HeroModel>();

            return(View(model));
        }