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 PageSeoController(IPageService pageService, IPageLinkGenerator pageLinkGenerator) { this.pageService = pageService ?? throw new ArgumentNullException(nameof(pageService)); this.pageLinkGenerator = pageLinkGenerator ?? throw new ArgumentNullException(nameof(pageLinkGenerator)); }
public HyperLinkTagHelper(IPageLinkGenerator pageLinkGenerator, IPageService pageService, HtmlEncoder htmlEncoder) { this.pageLinkGenerator = pageLinkGenerator ?? throw new ArgumentNullException(nameof(pageLinkGenerator)); this.pageService = pageService ?? throw new ArgumentNullException(nameof(pageService)); this.htmlEncoder = htmlEncoder ?? throw new ArgumentNullException(nameof(htmlEncoder)); }
public async Task <IActionResult> SitemapXmlAsync([FromServices] IPageService pageService, [FromServices] IPageLinkGenerator pageLinkGenerator) { if (pageService == null) { throw new ArgumentNullException(nameof(pageService)); } if (pageLinkGenerator == null) { throw new ArgumentNullException(nameof(pageLinkGenerator)); } var request = Request; var dateNow = DateTime.Now.ToString("s"); var model = new SitemapModel { Urls = new List <SitemapUrl>() }; var pages = await pageService.GetPublishedPagesAsync(HttpContext.RequestAborted); foreach (var page in pages) { var url = await pageLinkGenerator.GetUriAsync(page); model.Urls.Add(new SitemapUrl { Location = url, LastMod = dateNow, ChangeFreq = "daily", Priority = "1" }); } model.Urls = model.Urls.OrderBy(it => it.Location).ToList(); model.Urls[0].ChangeFreq = "daily"; model.Urls[0].Priority = "1"; return(new XmlResult(model)); }