Пример #1
0
        public async Task <IEnumerable <CreatureReadModel> > Handle(FindPartyQuery query, CancellationToken cancellationToken)
        {
            var party = await _database.GetCollection <Party>("parties").AsQueryable()
                        .Where(x => x.Name == query.Party)
                        .SingleOrDefaultAsync(cancellationToken);

            var collection = _database.GetCollection <Player>("players");
            var q          = collection.AsQueryable();

            q = party == null ? q : q.Where(x => party.Members.Contains(x.Name));

            var players = await q
                          .OrderBy(x => x.Name)
                          .ToListAsync(cancellationToken);

            await LoadGear(players.ToArray());

            return(_mapper.Map <IEnumerable <CreatureReadModel> >(players));
        }
Пример #2
0
 public Task <IEnumerable <CreatureReadModel> > Find(FindPartyQuery query, CancellationToken cancellationToken)
 {
     return(_mediator.Send(query ?? new FindPartyQuery(), cancellationToken));
 }