Example #1
0
        public virtual IRenderingModel <TPageItem, TRenderingItem, TRenderingParametersItem> GetRenderingContextItems <TPageItem, TRenderingItem, TRenderingParametersItem>(IItemFactory factory = null)
            where TPageItem : IItemWrapper
            where TRenderingItem : IItemWrapper
            where TRenderingParametersItem : IRenderingParameterWrapper
        {
            var pageWrapper                     = SpawnProvider.FromItem <TPageItem>(ContextProvider.PageContextItem);
            var renderingWrapper                = SpawnProvider.FromItem <TRenderingItem>(ContextProvider.RenderingContextItem);
            var renderingParametersWrapper      = SpawnProvider.FromRenderingParameters <TRenderingParametersItem>(ContextProvider.RenderingItem, ContextProvider.RenderingParameters);
            var validPageWrapper                = (TPageItem)(pageWrapper is TPageItem ? pageWrapper : null);
            var validRenderingWrapper           = (TRenderingItem)(renderingWrapper is TRenderingItem ? renderingWrapper : null);
            var validRenderingParametersWrapper = (TRenderingParametersItem)(renderingParametersWrapper is TRenderingParametersItem ? renderingParametersWrapper : null);

            return(new RenderingModel <TPageItem, TRenderingItem, TRenderingParametersItem>(validPageWrapper, validRenderingWrapper, validRenderingParametersWrapper, factory));
        }