public PageCollectionService(IPageCollectionRepository repositiry, IPageRepository pageRepositiry, IPageMetadataManager pageMetadataManager, IWebsiteContext websiteContext)
 {
     this.repositiry          = repositiry ?? throw new ArgumentNullException(nameof(repositiry));
     this.pageRepositiry      = pageRepositiry ?? throw new ArgumentNullException(nameof(pageRepositiry));
     this.pageMetadataManager = pageMetadataManager ?? throw new ArgumentNullException(nameof(pageMetadataManager));
     this.websiteContext      = websiteContext ?? throw new ArgumentNullException(nameof(websiteContext));
 }
예제 #2
0
 public PageCollectionCreateController(IPageService pageService, IPageCollectionService pageCollectionService, IPageLinkGenerator pageLinkGenerator, IPageMetadataManager pageMetadataManager)
 {
     this.pageService           = pageService ?? throw new ArgumentNullException(nameof(pageService));
     this.pageCollectionService = pageCollectionService ?? throw new ArgumentNullException(nameof(pageCollectionService));
     this.pageLinkGenerator     = pageLinkGenerator ?? throw new ArgumentNullException(nameof(pageLinkGenerator));
     this.pageMetadataManager   = pageMetadataManager ?? throw new ArgumentNullException(nameof(pageMetadataManager));
 }
        public static PageMetadataProvider GetMetadata(this IPageMetadataManager pageMetadataManager, string name)
        {
            var pageMetadataProvider = pageMetadataManager.FindPageMetadataByName(name);

            if (pageMetadataProvider == null)
            {
                throw new ArgumentException($"Тип страницы {name} не найден.", nameof(pageMetadataProvider));
            }
            return(pageMetadataProvider);
        }
        public static PageMetadataProvider GetMetadata(this IPageMetadataManager pageMetadataManager, Type modelType)
        {
            var pageMetadataProvider = pageMetadataManager.FindPageMetadataByContentType(modelType);

            if (pageMetadataProvider == null)
            {
                throw new ArgumentException($"Тип страницы с типом {modelType.AssemblyQualifiedName} не найден.", nameof(pageMetadataProvider));
            }
            return(pageMetadataProvider);
        }
        public PageCollectionServiceTests()
        {
            var services = new ServiceCollection();

            services.AddPages()
            .AddContentTypesFromAssemblies(typeof(TestPageContent).Assembly)
            .AddFakes();

            services.AddSingleton <IWebsiteContext>(new TestWebsiteContext("test", "test"));

            serviceProvider = services.BuildServiceProvider();
            serviceScope    = serviceProvider.CreateScope();

            pageService           = serviceScope.ServiceProvider.GetService <IPageService>();
            pageCollectionService = serviceScope.ServiceProvider.GetService <IPageCollectionService>();
            pageMetadataManager   = serviceScope.ServiceProvider.GetService <IPageMetadataManager>();
        }
예제 #6
0
        async Task IAsyncLifetime.InitializeAsync()
        {
            pageMetadataManager = serviceScope.ServiceProvider.GetService <IPageMetadataManager>();
            var pageCollectionRepository = serviceScope.ServiceProvider.GetService <IPageCollectionRepository>();
            var pageRepository           = serviceScope.ServiceProvider.GetService <IPageRepository>();

            var pageType = pageMetadataManager.FindPageMetadataByContentType(typeof(TestPageContent));

            var pageCollection = await pageCollectionRepository.CreateCollectionAsync("test", "Test collection", pageType.Name, PageSortMode.FirstOld, null);

            var mainPage = await pageRepository.CreatePageAsync("test", pageCollection.Id, pageType.Name, "test", pageType.ContentMetadata.ConvertContentModelToDictionary(TestPageContent.CreateWithOnlyTitle("test")));

            await pageRepository.SetUrlPathAsync(mainPage, "index");

            await pageRepository.UpdatePageAsync(mainPage);

            var testPage = await pageRepository.CreatePageAsync("test", pageCollection.Id, pageType.Name, "test", pageType.ContentMetadata.ConvertContentModelToDictionary(TestPageContent.CreateWithOnlyTitle("test")));

            await pageRepository.SetUrlPathAsync(testPage, "test");

            await pageRepository.UpdatePageAsync(testPage);
        }
예제 #7
0
        public PageService(
            IPageRepository pageRepositiry,
            IPageCollectionRepository pageCollectionRepositiry,
            IPageMetadataManager pageMetadataManager,
            IWebsiteContext websiteContext,
            Url.IPageUrlHelper pageUrlHelper,
            Views.IViewLocator viewLocator,
            IOptions <PagesOptions> options)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            this.pageRepositiry           = pageRepositiry ?? throw new ArgumentNullException(nameof(pageRepositiry));
            this.pageCollectionRepositiry = pageCollectionRepositiry ?? throw new ArgumentNullException(nameof(pageCollectionRepositiry));
            this.pageMetadataManager      = pageMetadataManager ?? throw new ArgumentNullException(nameof(pageMetadataManager));
            this.websiteContext           = websiteContext ?? throw new ArgumentNullException(nameof(websiteContext));
            this.pageUrlHelper            = pageUrlHelper ?? throw new ArgumentNullException(nameof(pageUrlHelper));
            this.viewLocator = viewLocator ?? throw new ArgumentNullException(nameof(viewLocator));
            this.options     = options.Value;
        }
예제 #8
0
 public PageTypeController(IPageMetadataManager pageMetadataManager)
 {
     this.pageMetadataManager = pageMetadataManager ?? throw new ArgumentNullException(nameof(pageMetadataManager));
 }
 public static PageMetadataProvider GetMetadata <TModel>(this IPageMetadataManager pageMetadataManager)
 {
     return(GetMetadata(pageMetadataManager, typeof(TModel)));
 }
예제 #10
0
 public SetupController(IPageCollectionService pageCollectionService, IPageMetadataManager pageMetadataManager, IPageService pageService)
 {
     this.pageCollectionService = pageCollectionService ?? throw new ArgumentNullException(nameof(pageCollectionService));
     this.pageMetadataManager   = pageMetadataManager ?? throw new ArgumentNullException(nameof(pageMetadataManager));
     this.pageService           = pageService ?? throw new ArgumentNullException(nameof(pageService));
 }