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); }
public ActionResult <StudentTeamResponseDTO> HandleCreateStudentTeam(AddStudentIntoTeamDTO requestDTO) { return(Ok(this._studentTeamService.AddStudentIntoTeam(requestDTO))); }