public async Task <List <Blog> > GetAllBlogsByUsernameAsync(BlogParams blogParams, string username) { var query = _context.Blogs.Where(u => u.Username == username); return(await PagedList <Blog> .CreateAsync( query.ProjectTo <Blog>(_mapper.ConfigurationProvider), blogParams.PageNumber, blogParams.PageSize)); }
public async Task <PagedList <Blog> > GetBlogs(BlogParams blogParams) { var blogs = _context.Blogs.OrderByDescending(c => c.Created).AsQueryable(); // PagedList is a custom class to support pagination on the client return(await PagedList <Blog> .CreateAsync(blogs, blogParams.PageNumber, blogParams.PageSize)); }
public async Task <PagedList <Blog> > GetAllBlogsAsync(BlogParams blogParams) { var query = _context.Blogs.AsQueryable(); return(await PagedList <Blog> .CreateAsync(query.ProjectTo <Blog>(_mapper.ConfigurationProvider) .AsNoTracking(), blogParams.PageNumber, blogParams.PageSize)); }
public async Task <ActionResult <PagedList <BlogDto> > > GetBlogs([FromQuery] BlogParams blogParams) { var blogs = await _unitOfWork.BlogRepository.GetAllBlogsAsync(blogParams); var blogsToReturn = _mapper.Map <IEnumerable <BlogDto> >(blogs); Response.AddPaginationHeader(blogs.CurrentPage, blogs.PageSize, blogs.TotalCount, blogs.TotalPages); return(Ok(blogsToReturn)); }
public async Task <IActionResult> GetBlogs([FromQuery] BlogParams blogParams) { var blogs = await _repo.GetBlogs(blogParams); var blogsToReturn = _mapper.Map <List <BlogForListDto> >(blogs); // adding new headers to response for pagination // static method from Extension class in "Helpers" folder Response.AddPagination(blogs.CurrentPage, blogs.PageSize, blogs.TotalCount, blogs.TotalPages); return(Ok(blogsToReturn)); }
public async Task <PagedList <Blog> > GetBlogs(BlogParams userParams) { var blogs = _context.Blogs.OrderByDescending(u => u.CreatedTime).AsQueryable(); var userFollowings = await GetUserFollowings(userParams.UserId); blogs = blogs.Where(u => userFollowings.Contains(u.UserId) || u.UserId == userParams.UserId).Include(c => c.CommentsReceived).Include(b => b.BlogLikes).Include(u => u.User).ThenInclude(p => p.Photos); if (userParams.BlogCategoryId != 0) { blogs = blogs.Where(b => b.BlogCategoryId == userParams.BlogCategoryId); } return(await PagedList <Blog> .CrateAsync(blogs, userParams.PageNumber, userParams.PageSize)); }
public async Task <IActionResult> GetBlogs(int userId, [FromQuery] BlogParams blogParams) { //if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) //{ // return Unauthorized(); //} //var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var userFromRepo = await _repo.GetUser(userId); blogParams.UserId = userId; var blogs = await _repo.GetBlogs(blogParams); Response.AddPagination(blogs.CurrentPage, blogs.PageSize, blogs.TotalCount, blogs.TotalPages); var blogToReturn = _mapper.Map <IEnumerable <BlogForListDto> >(blogs); return(Ok(blogToReturn)); }
public async Task <ActionResult <List <Blog> > > GetAllBlogsByUsername([FromForm] BlogParams blogParams, string username) { var blogs = await _unitOfWork.BlogRepository.GetAllBlogsByUsernameAsync(blogParams, username); return(blogs); }