Ejemplo n.º 1
0
        public async Task <ActionResult> GetGroups([FromQuery] IEnumerable <Guid> ids)
        {
            var query = new GetGroupsByIdQuery()
            {
                GroupIds = ids
            };
            var result = await _queryDispatcher.QueryAsync <IEnumerable <ScheduledTrainingDto> >(query);

            if (result == null)
            {
                return(NotFound());
            }
            return(Ok(result));
        }
        public async Task <IEnumerable <ScheduledTrainingDto> > HandleAsync(GetGroupsByIdQuery query)
        {
            var groups = _dbContext.TrainingGroups.Include(g => g.Coach).ToList();

            if (query.GroupIds.Any())
            {
                groups = groups.Where(g => query.GroupIds.Contains(g.Id)).ToList();
            }

            return(groups.Select(g => new ScheduledTrainingDto
            {
                GroupId = g.Id.ToString(),
                GroupName = g.Name,
                CoachName = $"{g.Coach?.Name} {g.Coach?.Surname}",
                LevelName = g.LevelName,
                Day = g.Day,
                Hour = g.Hour.ToString()
            }).ToList());
        }