public StudentTeamResponseDTO AddStudentIntoTeam(AddStudentIntoTeamDTO requestDTO)
        {
            if (this._teamService.GetOneByUuid(requestDTO.teamUUID) == null)
            {
                throw new EntityAlreadyExistsException($"Team with uuid {requestDTO.teamUUID} doesn't exist!", GeneralConsts.MICROSERVICE_NAME);
            }

            List <StudentCourseDTO> studentCourse = this._httpClientService.SendRequest <List <StudentCourseDTO> >(HttpMethod.Get, "http://localhost:40005/api/courses/students/" + requestDTO.courseUUID, new UserPrincipal(_httpContextAccessor.HttpContext).token).Result;
            bool flag = false;

            foreach (var sc in studentCourse)
            {
                if (sc.studentUUID == requestDTO.studentUUID)
                {
                    flag = true;
                }
            }

            if (!flag)
            {
                throw new EntityAlreadyExistsException($"Student with uuid {requestDTO.studentUUID} is not on Course with uuid {requestDTO.courseUUID}!", GeneralConsts.MICROSERVICE_NAME);
            }

            StudentDTO student = this._httpClientService.SendRequest <StudentDTO>(HttpMethod.Get, "http://localhost:40001/api/users/students/" + requestDTO.studentUUID, new UserPrincipal(_httpContextAccessor.HttpContext).token).Result;

            if (student == null)
            {
                throw new EntityAlreadyExistsException($"Student with uuid {requestDTO.studentUUID} doesn't exist!", GeneralConsts.MICROSERVICE_NAME);
            }

            StudentTeam studentTeam = new StudentTeam()
            {
                team = new Team()
                {
                    uuid   = requestDTO.teamUUID,
                    course = new Course()
                    {
                        uuid = requestDTO.courseUUID
                    }
                },
                student = new Student()
                {
                    uuid = requestDTO.studentUUID
                }
            };

            studentTeam = this._queryExecutor.Execute <StudentTeam>(DatabaseConsts.USER_SCHEMA, this._sqlCommands.ADD_STUDENT_INTO_TEAM(studentTeam), this._modelMapper.MapToStudentTeam);

            StudentTeamResponseDTO response = this._autoMapper.Map <StudentTeamResponseDTO>(studentTeam);

            response.team    = this._teamService.GetOneByUuid(requestDTO.teamUUID);
            response.student = student;
            return(response);
        }
Пример #2
0
 public ActionResult <StudentTeamResponseDTO> HandleCreateStudentTeam(AddStudentIntoTeamDTO requestDTO)
 {
     return(Ok(this._studentTeamService.AddStudentIntoTeam(requestDTO)));
 }