public async Task <IActionResult> IndexAsync(CancellationToken token) { var query = new SiteMapQuery(_configurationService.GetSiteName() == ConfigurationService.Site.Frymo); var result = await _queryBus.QueryAsync(query, token); result.Add(new SiteMapCountDto(SeoType.Static, 1)); XNamespace nameSpace = "http://www.sitemaps.org/schemas/sitemap/0.9"; // ReSharper disable once StringLiteralTypo var root = new XElement(nameSpace + "sitemapindex"); foreach (var elem in result) { for (var i = 0; i <= elem.Count / PageSize; i++) { var url = Url.RouteUrl("siteMapDescription", new { type = elem.Type, index = i }, Request.GetUri().Scheme); root.Add( new XElement(nameSpace + "sitemap", new XElement(nameSpace + "loc", url) ) ); } } var document = new XDocument( new XDeclaration("1.0", "utf-8", ""), root); return(new FileCallbackResult("application/xml", async(stream, context) => { await document.SaveAsync(stream, SaveOptions.OmitDuplicateNamespaces, token); })); }
public async Task SiteMapQuery_Ok(bool country) { var query = new SiteMapQuery(country); var _ = await fixture.QueryBus.QueryAsync(query, default); }