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); }