public Task <BaseFindResponse <Post> > FindAsync(PostFindRequest request)
        {
            return(Task.Run(() =>
            {
                var query = context.PostsAsQueryable;
                if (request.CategoryId.HasValue())
                {
                    query = query.Where(a => a.CategoryId == request.CategoryId);
                }
                if (!string.IsNullOrEmpty(request.Title))
                {
                    query = query.Where(a => a.Title.ToLowerInvariant().Contains(request.Title.ToLowerInvariant()));
                }

                var response = query.OrderByDescending(a => a.CreatedDate)
                               .Skip(request.Skip)
                               .Take(request.PageSize)
                               .ToList();

                return new BaseFindResponse <Post>
                {
                    Results = response,
                    TotalRecords = query.Count()
                };
            }));
        }
Exemple #2
0
 public Task <BaseFindResponse <Post> > FindAsync(PostFindRequest request)
 {
     return(_blogRepository.FindAsync(request));
 }