コード例 #1
0
        public async Task <StudentDisciplineVO> AddTaskAsync(StudentVO student)
        {
            StudentModel studentEntity = _studentConverter.Parse(student);

            if (!(GuidFormat.TryParseList(studentEntity.Disciplines, ';', out List <Guid> result)))
            {
                return(null);
            }

            //checando se não existe nenhuma disciplina repetida.
            foreach (Guid disc in result)
            {
                if (result.Count(x => x.Equals(disc)) > 1)
                {
                    return(null);
                }
            }

            if (!(await _disciplineBusiness.FindAllByDisciplineIdsTaskAsync(result) is List <DisciplineVO> disciplines))
            {
                return(null);
            }

            if (!(await _studentRepository.AddTaskAsync(studentEntity) is StudentModel addedStudent))
            {
                return(null);
            }

            //await _emailSender.SendEmailTaskAsync(addedStudent.Email);

            return(_studentDisciplineConverter.Parse((addedStudent, _disciplineConverter.ParseList(disciplines))));
        }
コード例 #2
0
        public async Task <List <StudentDisciplineVO> > FindAllByCourseIdTaskAsync(Guid courseId)
        {
            if (!(await _studentRepository.FindAllByCourseIdTaskAsync(courseId) is List <StudentModel> students))
            {
                return(null);
            }

            var studentDisciplines = new List <(StudentModel student, List <DisciplineModel> discipline)>();

            foreach (StudentModel student in students)
            {
                if (!GuidFormat.TryParseList(student.Disciplines, ';', out List <Guid> result))
                {
                    return(null);
                }

                if (!(await _disciplineBusiness.FindAllByDisciplineIdsTaskAsync(result) is List <DisciplineVO> disciplines))
                {
                    return(null);
                }

                studentDisciplines.Add((student, _disciplineConverter.ParseList(disciplines)));
            }

            return(_studentDisciplineConverter.ParseList(studentDisciplines));
        }
コード例 #3
0
        public async Task <StudentDisciplineVO> FindByStudentIdTaskAsync(Guid studentId)
        {
            if (!(await _studentRepository.FindByStudentIdTaskAsync(studentId) is StudentModel studentModel))
            {
                return(null);
            }

            if (!GuidFormat.TryParseList(studentModel.Disciplines, ';', out List <Guid> result))
            {
                return(null);
            }

            if (!(await _disciplineBusiness.FindAllByDisciplineIdsTaskAsync(result) is List <DisciplineVO> disciplines))
            {
                return(null);
            }

            return(_studentDisciplineConverter.Parse((studentModel, _disciplineConverter.ParseList(disciplines))));
        }
コード例 #4
0
        public async Task <StudentDisciplineVO> UpdateTaskAsync(StudentVO newStudent)
        {
            if (!(await _studentRepository.FindByStudentIdTaskAsync(newStudent.StudentId) is StudentModel studentModel))
            {
                return(null);
            }

            if (!(await _studentRepository.UpdateTaskAsync(studentModel, _studentConverter.Parse(newStudent)) is StudentModel newStudentModel))
            {
                return(null);
            }

            if (!GuidFormat.TryParseList(newStudentModel.Disciplines, ';', out List <Guid> disciplineIDs))
            {
                return(null);
            }

            if (!(await _disciplineBusiness.FindAllByDisciplineIdsTaskAsync(disciplineIDs) is List <DisciplineVO> disciplines))
            {
                return(null);
            }

            return(_studentDisciplineConverter.Parse((newStudentModel, _disciplineConverter.ParseList(disciplines))));
        }