public async Task <Result <ListResultDto <StudyGroupItemDto> > > GetStudyGroups(GetStudyGroupsInput input) { var query = _studyGroupRepository.GetAllIncluding( studyGroup => studyGroup.StudyGroupAcademicSubjects, studyGroup => studyGroup.TeacherStudyGroups); var studyGroups = await query.ToListAsync(); if (input.AcademicSubjectId.HasValue || input.TeacherId.HasValue) { studyGroups = studyGroups. Where(studyGroup => studyGroup.StudyGroupAcademicSubjects.Any( prop => prop.AcademicSubjectId == input.AcademicSubjectId) || studyGroup.TeacherStudyGroups.Any( prop => prop.TeacherId == input.TeacherId)).ToList(); } var studyGroupDtos = new List <StudyGroupItemDto>(); foreach (var studyGroup in studyGroups) { var studyGroupDto = await MapEntityToEntityDto(studyGroup); studyGroupDtos.Add(studyGroupDto); } return(Result <ListResultDto <StudyGroupItemDto> > . Success(new ListResultDto <StudyGroupItemDto>(studyGroupDtos))); }
public GetStudyGroupsViewModel() { Input = new GetStudyGroupsInput(); Value = new ListResultDto <StudyGroupItemDto>(); }