public async Task <List <OutcomeOverviewModel> > HandleAsync(SearchOutcomes query) { using (ReadModelContext db = readModelContextFactory.Create()) { var sql = db.Outcomes .Include(o => o.Categories) .WhereUserKey(query.UserKey) .Where(o => EF.Functions.Like(o.Description, $"%{query.Text}%")) .TakePage(query.PageIndex, PageSize); sql = SortOverviewOutcomes(sql, query.SortDescriptor); List <OutcomeEntity> entities = await sql.ToListAsync(); List <OutcomeOverviewModel> models = entities .Select(e => e.ToOverviewModel()) .ToList(); return(models); } }
public async Task <List <OutcomeOverviewModel> > HandleAsync(SearchOutcomes query) { using (ReadModelContext db = dbFactory.Create()) { var sql = db.Outcomes .Include(o => o.Categories) .WhereUserKey(query.UserKey) .Where(o => EF.Functions.Like(o.Description, $"%{query.Text}%")); sql = ApplySorting(sql, query); sql = ApplyPaging(sql, query); List <OutcomeEntity> entities = await sql.ToListAsync(); List <OutcomeOverviewModel> models = entities .Select(e => e.ToOverviewModel(query.Version)) .ToList(); return(models); } }