コード例 #1
0
 public GetScoresViewModel()
 {
     Input    = new GetScoresInput();
     Value    = new ListResultDto <ScoreItemDto>();
     Subjects = new List <AcademicSubjectSimpleItemDto>();
     Days     = new List <DayItemDto>();
 }
コード例 #2
0
 public GetScoresViewModel()
 {
     Input    = new GetScoresInput();
     Value    = new ListResultDto <ScoreItemDto>();
     Students = new List <StudentItemDto>();
     Days     = new List <DayItemDto>();
 }
コード例 #3
0
        public async Task <Result <ListResultDto <ScoreItemDto> > > GetScores(GetScoresInput input)
        {
            var query = _academicSubjectScoreRepository.GetAll();

            var scores = await query.ToListAsync();

            if (input.StudentId.HasValue)
            {
                scores = scores.Where(score => score.StudentId == input.StudentId.Value).ToList();
            }
            if (input.TeacherId.HasValue)
            {
                scores = scores.Where(score => score.TeacherId == input.TeacherId.Value).ToList();
            }
            if (input.Date.HasValue)
            {
                scores = scores.Where(score =>
                                      score.Date.Month == input.Date.Value.Month && score.Date.Year == input.Date.Value.Year).ToList();
            }
            if (input.StudyGroupId.HasValue)
            {
                var resultGetStudents = await _studentService.GetStudents(new GetStudentsInput { StudyGroupId = input.StudyGroupId });

                if (resultGetStudents.IsSuccessed)
                {
                    var students = resultGetStudents.Value;
                    scores = (from score in scores
                              from student in students.Items
                              where score.StudentId == student.Id
                              select score).ToList();
                }
            }
            var scoreDtos = new List <ScoreItemDto>();

            foreach (var score in scores)
            {
                var scoreDto = await MapEntityToEntityDto(score);

                scoreDtos.Add(scoreDto);
            }
            return(Result <ListResultDto <ScoreItemDto> > .Success(new ListResultDto <ScoreItemDto>(scoreDtos)));
        }