示例#1
0
        public async Task <ActionResult> GetPlayerSchedule(Guid playerId)
        {
            var query = new PlayerScheduleQuery()
            {
                PlayerId = playerId
            };
            var results = await _queryDispatcher.QueryAsync <IEnumerable <ScheduledTrainingDto> >(query);

            if (results == null)
            {
                return(NotFound());
            }
            else
            {
                return(Ok(results));
            }
        }
        public async Task <IEnumerable <ScheduledTrainingDto> > HandleAsync(PlayerScheduleQuery query)
        {
            var groups = await _dbContext.TrainingGroups.Include(g => g.Coach)
                         .Include(g => g.PlayerTrainingGroups)
                         .Where(g => g.PlayerTrainingGroups.Any(ptg => ptg.PlayerId == query.PlayerId))
                         .Select(g => new ScheduledTrainingDto()
            {
                GroupName = g.Name,
                CoachName = $"{g.Coach.Name} {g.Coach.Surname}",
                LevelName = g.LevelName,
                Day       = g.Day,
                Hour      = g.Hour.ToString()
            })
                         .OrderByDescending(t => t.Day)
                         .ThenBy(t => t.Hour)
                         .ToListAsync();

            return(groups);
        }