public async Task SitemapXml() { var host = Request.Scheme + "://" + Request.Host; Response.ContentType = "application/xml"; using (var xml = XmlWriter.Create(Response.Body, new XmlWriterSettings { Indent = true })) { xml.WriteStartDocument(); xml.WriteStartElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9"); var blogPosts = await _qp.ProcessAsync(new GetBlogPostsQuery()); foreach (var bp in blogPosts) { xml.WriteStartElement("url"); xml.WriteElementString("loc", host + bp.GetUrl()); xml.WriteElementString("lastmod", bp.ModifiedAt.ToString("yyyy-MM-ddThh:mmzzz")); xml.WriteEndElement(); } xml.WriteEndElement(); } }
private Author getAuthor(string username) { return(_qp.ProcessAsync(new GetAuthorByAppUserIdQuery { Id = _userManager.Users.FirstOrDefault(u => u.Email == username)?.Id }) .GetAwaiter() .GetResult()); }
public async Task <IActionResult> ManagePosts() { AuthorManagePostsViewModel ampvm = new AuthorManagePostsViewModel(); var curUser = await _userManager.GetUserAsync(User); var gbpbauid = new GetBlogPostsByAppUserIdQuery { AppUserId = curUser.Id }; var posts = await _qpa.ProcessAsync(gbpbauid); ampvm.posts = posts; return(View(ampvm)); }
protected override async Task HandleRequirementAsync(AuthorizationHandlerContext context, AuthorIsUserRequirement requirement, Author resource) { var user = await _userManager.GetUserAsync(context.User); var author = await _qpa.ProcessAsync(new GetAuthorByAppUserIdQuery { Id = user.Id }); if (author != null && author.Id == resource.Id) { context.Succeed(requirement); } }
public async Task <IActionResult> EditProfile() { var gabauid = new GetAuthorByAppUserIdQuery { Id = await _userManager.GetUserIdAsync( await _userManager.GetUserAsync(User) ) }; var author = await _qpa.ProcessAsync(gabauid); var profileViewModel = new ProfileViewModel { Id = author.Id, FirstName = author.FirstName, LastName = author.LastName, Blurb = author.Blurb, Biography = author.Biography }; return(View(profileViewModel)); }
public async Task <IActionResult> Index(int?page) { var curPage = page ?? 1; var gbpfhp = new GetBlogPostsForHomePageQuery { CurrentPage = curPage, PageSize = _settings.PostsOnHomePage }; var recentPosts = await _qpa.ProcessAsync(gbpfhp); var categories = await _qpa.ProcessAsync(new GetCategoriesQuery()); var vhvm = new HomeViewModel { Categories = categories, RecentPosts = recentPosts }; return(View(vhvm)); }
public async Task <IActionResult> Index() { GetRecentBlogPostsQuery grbp = new GetRecentBlogPostsQuery() { NumberOfPostsToGet = 7 }; var recentPosts = await _qpa.ProcessAsync(grbp); var vhvm = new HomeViewModel() { RecentPosts = recentPosts }; return(View(vhvm)); }
public async Task <IActionResult> Index() { var grbp = new GetRecentBlogPostsQuery() { NumberOfPostsToGet = 7 }; var recentPosts = await _qpa.ProcessAsync(grbp); var gtphp = new GetTopicPostsForHomePageViewModelQuery(); var topicPostsViewModel = await _qpa.ProcessAsync(gtphp); var vhvm = new HomeViewModel() { RecentPosts = recentPosts, TopicPosts = topicPostsViewModel }; return(View(vhvm)); }
public async Task <IActionResult> EditFeature(long id) { var gfbivm = new GetFeatureByIdQuery() { Id = id }; var f = await _qpa.ProcessAsync(gfbivm); if (f != null) { return(View(new FeatureViewModel() { Id = f.Id, Title = f.Title, Description = f.Description })); } else { // need better exception and error handling return(NotFound()); } }
public async Task <IActionResult> EditTopic(long id) { var gfbivm = new GetTopicByIdQuery() { Id = id }; var f = await _qpa.ProcessAsync(gfbivm); if (f != null) { return(View(new TopicViewModel() { Id = f.Id, Title = f.Title, Description = f.Description, ShowOnHomePage = f.ShowOnHomePage })); } else { _logger.LogWarning("EditTopic called with non-existant Id {0}", id); // need better exception and error handling return(NotFound()); } }
protected override async Task HandleRequirementAsync(AuthorizationHandlerContext context, SameAuthorRequirement requirement, BlogPost resource) { var user = await _userManager.GetUserAsync(context.User); var blogPostUserId = await _qpa.ProcessAsync( new GetUserIdFromBlogPost { blogpost = resource } ); if (!string.IsNullOrEmpty(blogPostUserId) && blogPostUserId == user.Id) { context.Succeed(requirement); } }
public async Task <TResult> GetResultAsync <TQuery, TResult>(TQuery query) where TQuery : IQuery { return(await _queryProcessorAsync.ProcessAsync <TQuery, TResult>(query)); }
public void DispatchThrowsExceptionWhenQueryIsNull() { _getSomething = null; Assert.ThrowsAsync <ArgumentNullException>(async() => await _sut.ProcessAsync <GetSomething, Something>(_getSomething)); }