Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
            }
        }