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