コード例 #1
0
        public StudentDTOOutSingle GetStudentByUserName(string username, string role, string userId)
        {
            logger.Info("Accssesing db over Student rep, get student by username");
            Student student = new Student();

            if (role == "parents")
            {
                student = db.StudentsRepository.Get(filter: x => x.UserName == username).Where(x => x.Parents.Any(y => y.Id == userId)).FirstOrDefault();
            }
            else if (role == "teachers")
            {
                student = db.StudentsRepository.Get(filter: x => x.UserName == username).Where(x => x.StudentDepartments.Teaches.Any(y => y.Teachers.Id == userId)).FirstOrDefault();
            }
            else if (role == "students")
            {
                student = db.StudentsRepository.Get(filter: x => x.UserName == username).Where(x => x.Id == userId).FirstOrDefault();
            }
            else
            {
                student = db.StudentsRepository.Get(filter: x => x.UserName == username).FirstOrDefault();
            }

            //Student student = db.StudentsRepository.Get(filter: x => x.UserName == username).FirstOrDefault();
            if (student == null)
            {
                throw new StudentNotFoundException($"Student with username {username} doesn't exists");
            }
            logger.Info("converting student with StudentDTOConverter, get student by username");
            StudentDTOOutSingle studentDTO = Utilities.ConverterDTO.StudentDTOConverter(student);

            return(studentDTO);
        }
コード例 #2
0
        public IHttpActionResult PutParent(string id, StudentDTOInAddParent student)
        {
            if (id != student.StudentID)
            {
                return(BadRequest());
            }

            StudentDTOOutSingle studentDTO = studentsService.AddParentToStudent(id, student);

            return(Ok(studentDTO));
        }
コード例 #3
0
ファイル: ConverterDTO.cs プロジェクト: kezara/school_diary
 public static StudentDTOOutSingle StudentDTOConverter(Student x)
 {
     if (x.StudentDepartments == null)
     {
         StudentDTOOutSingle studentDTO = new StudentDTOOutSingle()
         {
             Id            = x.Id,
             FirstName     = x.FirstName,
             LastName      = x.LastName,
             UserName      = x.UserName,
             ClassName     = $"Student with username {x.UserName} is registered, but not enrolled",
             EnrolmentTime = null,
             Grade         = 0,
             Subjects      = null,
             Parents       = x.Parents.Select(z => SimpleDTOConverter <ParentDTOOut>(z))
         };
         return(studentDTO);
     }
     else
     {
         StudentDTOOutSingle studentDTO = new StudentDTOOutSingle()
         {
             Id            = x.Id,
             FirstName     = x.FirstName,
             LastName      = x.LastName,
             UserName      = x.UserName,
             ClassName     = x.StudentDepartments.Departments.DepartmentName,
             EnrolmentTime = x.StudentDepartments.EnrolmentTime,
             Grade         = x.StudentDepartments.Departments.Grades.GradeYear,
             Subjects      = x.StudentDepartments.Teaches.Select(y => new SubjectDTOOut()
             {
                 Id              = y.Subject.Id,
                 SubjectFond     = y.Subject.SubjectFond,
                 SubjectName     = y.Subject.SubjectName,
                 TeacherName     = y.Teachers.FirstName,
                 TeacherLastName = y.Teachers.LastName,
                 TeacherID       = y.Teachers.Id,
                 Marks           = y.Marks.Select(m => SimpleDTOConverter <MarkDTO>(m))
             }),
             Parents = x.Parents.Select(z => SimpleDTOConverter <ParentDTOOut>(z))
         };
         return(studentDTO);
     }
 }
コード例 #4
0
        public StudentDTOOutSingle AddParentToStudent(string id, StudentDTOInAddParent student)
        {
            Student          studentToUp = GetStudent(student.StudentID);
            HashSet <Parent> parents     = new HashSet <Parent>();

            foreach (var ID in student.ParentID)
            {
                var parent = parentsService.GetParentID(ID);
                parents.Add(parent);
            }

            studentToUp.Parents = parents;

            db.StudentsRepository.Update(studentToUp);
            db.Save();
            IEnumerable <ParentDTOOut> parentsDTO = parents.Select(x => Utilities.ConverterDTO.SimpleDTOConverter <ParentDTOOut>(x));

            StudentDTOOutSingle studentDTO = new StudentDTOOutSingle()
            {
                Parents = parentsDTO
            };

            return(studentDTO);
        }