public async Task <PaginatedOutput <LiquorOutput> > GetPaginatedData(PaginatedDataInput input) { return(await PaginationHelper <LiquorOutput> .ToPagedList(LiquorStoreContext.Liquors .Where(m => m.LiquorName.Contains(string.IsNullOrWhiteSpace(input.SearchKeyWord) ? string.Empty : input.SearchKeyWord)) .Select(m => new LiquorOutput() { LiquorType = m.LiquorType.LiquorTypeName, LiquorId = m.LiquorId, LiquorName = m.LiquorName }).OrderBy(m => m.LiquorId), input)); }
public static async Task <PaginatedOutput <T> > ToPagedList(IQueryable <T> source, PaginatedDataInput input) { var count = source.Count(); var items = await source .Skip((input.PageNumber - 1) *input.PageSize) .Take(input.PageSize) .ToListAsync(); return(new PaginatedOutput <T>(items, count, input.PageNumber, input.PageSize)); }