public Task <BaseFindResponse <Media> > FindAsync(MediaFindRequest request) { return(Task.Run(() => { var query = context.MediaAsQueryable; if (!string.IsNullOrEmpty(request.Name)) { query = query.Where(a => a.Title.ToLowerInvariant().Contains(request.Name.ToLowerInvariant())); } if (request.Type.HasValue) { query = query.Where(a => a.Type == request.Type); } var response = query.OrderByDescending(a => a.CreatedDate) .Skip(request.Skip) .Take(request.PageSize) .ToList(); return new BaseFindResponse <Media> { Results = response, TotalRecords = query.Count() }; })); }
public Task <BaseFindResponse <Media> > FindAsync(MediaFindRequest request) { return(_mediaRepository.FindAsync(request)); }