public IActionResult AllPosts() { try { var CurrentUser = _context.Users.Find(userManager.GetUserId(User)); if (CurrentUser is null) { return(RedirectToAction("Login", "Accounts")); } var existingAccount = _userStore.GetByIdentityUserId(CurrentUser.Id); if (existingAccount.AccountStatus.Equals(Status.Suspended)) { signInManager.SignOutAsync(); } var GetAllPostsQuery = new GetAllPostsQuery(CurrentUser, existingAccount, _FriendListStore, _notificationBox, _userStore, _postStore); return(View(GetAllPostsQuery.Handle())); } catch (Exception ex) { _logger.LogError(ex.Message); return(RedirectToAction(ActionName.ServerError, ControllerName.Accounts)); } }
public async Task <IActionResult> GetAll([FromQuery] GetAllPostsQuery query, [FromQuery] PaginationQuery paginationQuery) { var paginationFilter = new PaginationFilter { PageNumber = paginationQuery.PageNumber, PageSize = paginationQuery.PageSize }; var getAllPostsFilter = new GetAllPostsFilter { UserId = query.UserId }; var posts = await _postService.GetPostsAsync(getAllPostsFilter, paginationFilter); var postResponse = posts.Select(post => new PostResponse { Id = post.Id, Name = post.Name }).ToList(); if (paginationFilter is null || paginationFilter.PageNumber < 1 || paginationFilter.PageSize < 1) { return(Ok(new PagedResponse <PostResponse>(postResponse))); } var paginationResponse = PaginationHelpers.CreatePaginatedResponse(_uriService, paginationFilter, postResponse); return(Ok(paginationResponse)); }
public async Task <IActionResult> Get() { var query = new GetAllPostsQuery(User.GetUserId()); var result = await mediator.Send(query); return(Ok(result)); }
public async Task <IEnumerable <GetAllPostsDto> > Handle(GetAllPostsQuery request, CancellationToken cancellationToken) { var result = await _dbContext.Posts .ProjectTo <GetAllPostsDto>(ObjectMapper.Mapper.ConfigurationProvider) .ToListAsync(); return(result); }
//[Route("getallposts")] public async Task <ActionResult <List <Post> > > GetAllPosts() { var request = new GetAllPostsQuery { OrderBy = OrderByPostOptions.ByDate }; var result = await _mediator.Send(request); return(result); }
public async Task <IActionResult> Get(PagedCollectionParameters parameters) { var getAllQuery = new GetAllPostsQuery(_context, _defaultPagingOptions, Endpoint); var results = await getAllQuery.Execute(parameters); // Attach form definitions for discoverability results.Forms = new[] { Form.FromModel <PostCreateModel>(Endpoint, "POST", "create-form") }; return(new ObjectResult(results)); }
//[Cached(600)] public async Task<IActionResult> GetAllAsync([FromQuery] GetAllPostsQuery postQuery, [FromQuery]PaginationQuery query) { var pagination = _mapper.Map<PaginationFilter>(query); var filter = _mapper.Map<GetAllPostsFilter>(postQuery); var posts = await _postService.GetPostsAsync(filter, pagination); var postResponse = _mapper.Map<List<PostResponse>>(posts); if (pagination == null || pagination.PageNumber < 1 || pagination.PageSize < 1) { return Ok(new PagedResponse<PostResponse>(postResponse)); } var paginationResponse = PaginationHelpers.CreatePaginatedResponse(_uriService, pagination, postResponse); return Ok(paginationResponse); }
public async Task ShouldReturnPosts() { var getAllPostsQuery = new GetAllPostsQuery() { PageNumber = 1, PageSize = 20, }; var result = await SendAsync(getAllPostsQuery); Assert.IsNotNull(result); Assert.IsNotNull(result.Items); }
public async Task <IEnumerable <PostDto> > Handle(GetAllPostsQuery request, CancellationToken cancellationToken) { var posts = await _unitOfWork.Posts .Include(p => p.Person) .Select(p => new PostDto { Id = p.Id, CreatedAt = p.CreatedAt, PersonName = p.Person.FirstName + " " + p.Person.LastName, PersonId = p.PersonId, PersonImage = p.Person.Image, Image = p.Image, Text = p.Text, LikesCount = p.Likes.Count, CommentsCount = p.Comments.Count }) .OrderByDescending(p => p.CreatedAt) .ToListAsync(); return(posts); }
public async Task <IActionResult> GetAll([FromQuery] GetAllPostsQuery query, [FromQuery] PaginationQuery paginationQuery) { //for paginated result var pagination = _mapper.Map <PaginationFilter>(paginationQuery); var filter = _mapper.Map <GetAllPostsFilter>(query); var posts = await _postService.GetPostsAsync(filter, pagination); //for without paginated result //var posts = await _postService.GetPostsAsync(); //without using AutoMapper //var postResponses = posts.Select(post => new PostResponse //{ // Id = post.Id, // Name = post.Name, // UserId = post.UserId, // Tags = post.Tags.Select(x => new TagResponse { Name = x.TagName }).ToList() //}).ToList(); //return Ok(postResponses); //Using AutoMapper //return Ok(_mapper.Map<List<PostResponse>>(posts)); //using response wrapper //return Ok(new Response<List<PostResponse>>(_mapper.Map<List<PostResponse>>(posts))); //using response wrapper for pagination var postsResponse = _mapper.Map <List <PostResponse> >(posts); if (pagination == null || pagination.PageNumber < 1 || pagination.PageSize < 1) { return(Ok(new PagedResponse <PostResponse>(postsResponse))); } var paginationResponse = PaginationHelpers.CreatePaginatedResponse(_uriService, pagination, postsResponse); return(Ok(paginationResponse)); }
public async Task <List <PostDTO> > Handle(GetAllPostsQuery request, CancellationToken cancellationToken) { List <Post> posts = await postRepository.GetPosts(request.MyGuid); return(posts.Select(p => postMapper.GeneratePost(p)).ToList()); }
public async Task <IEnumerable <GetAllPostsDto> > Handle(GetAllPostsQuery request, CancellationToken cancellationToken) { var posts = await _postsApi.GetAllPosts(); return(_mapper.Map <IEnumerable <GetAllPostsDto> >(posts)); }
public async Task <IEnumerable <PostResponse> > Handle(GetAllPostsQuery query, CancellationToken cancellationToken) { var posts = await api.GetPosts(); return(posts); }
public async Task <ActionResult <long> > GetPosts([FromQuery] GetAllPostsQuery getAllPostsQuery) { var posts = await Mediator.Send(getAllPostsQuery); return(Ok(posts)); }