public TeamResponseDTO Create(CreateTeamRequestDTO requestDTO) { if (this.FindOneByNameAndCourse(requestDTO.name, requestDTO.courseUUID) != null) { throw new EntityAlreadyExistsException($"Team with name {requestDTO.name} already exists in Course {requestDTO.courseUUID}!", GeneralConsts.MICROSERVICE_NAME); } TeacherDTO teacher = this._httpClientService.SendRequest <TeacherDTO>(HttpMethod.Get, "http://localhost:40001/api/users/teachers/" + requestDTO.teacherUUID, new UserPrincipal(_httpContextAccessor.HttpContext).token).Result; if (teacher == null) { throw new EntityAlreadyExistsException($"Teacher with uuid {requestDTO.teacherUUID} doesn't exist!", GeneralConsts.MICROSERVICE_NAME); } CourseDTO course = this._httpClientService.SendRequest <CourseDTO>(HttpMethod.Get, "http://localhost:40005/api/courses/" + requestDTO.courseUUID, new UserPrincipal(_httpContextAccessor.HttpContext).token).Result; if (course == null) { throw new EntityAlreadyExistsException($"Course with uuid {requestDTO.courseUUID} doesn't exist!", GeneralConsts.MICROSERVICE_NAME); } Team team = new Team() { name = requestDTO.name, description = requestDTO.description, teacher = new Teacher() { uuid = requestDTO.teacherUUID }, course = new Course() { uuid = requestDTO.courseUUID } }; team = this._queryExecutor.Execute <Team>(DatabaseConsts.USER_SCHEMA, this._sqlCommands.CREATE_TEAM(team), this._modelMapper.MapToTeam); TeamResponseDTO response = this._autoMapper.Map <TeamResponseDTO>(team); response.teacher = teacher; response.course = course; return(response); }
public ActionResult <TeamResponseDTO> HandleCreateTeam(CreateTeamRequestDTO requestDTO) { return(Ok(this._teamService.Create(requestDTO))); }