Exemple #1
0
        public T GetRepository <T>()
        {
            var inner = innerRepositoryFactory.GetRepository <T>();

            if (inner is ISiteProvider)
            {
                return((T)(object)(new SiteProvider((ISiteProvider)inner)));
            }
            if (inner is IPageProvider)
            {
                return((T)(object)(new PageProvider((IPageProvider)inner)));
            }
            if (inner is ILayoutProvider)
            {
                return((T)(object)(new LayoutProvider((ILayoutProvider)inner)));
            }
            if (inner is IViewProvider)
            {
                return((T)(object)(new ViewProvider((IViewProvider)inner)));
            }
            if (inner is IUrlKeyMapProvider)
            {
                return((T)(object)(new UrlKeyMapProvider((IUrlKeyMapProvider)inner)));
            }
            if (inner is IHtmlBlockProvider)
            {
                return((T)(object)(new HtmlBlockProvider((IHtmlBlockProvider)inner)));
            }
            return(inner);
        }