public TeamResponseDTO GetOneByUuid(string uuid) { TeamResponseDTO response = this._autoMapper.Map <TeamResponseDTO>(this.FindOneByUUID(uuid)); if (response == null) { throw new EntityAlreadyExistsException($"Team with uuid {uuid} doesn't exist!", GeneralConsts.MICROSERVICE_NAME); } TeacherDTO teacher = this._httpClientService.SendRequest <TeacherDTO>(HttpMethod.Get, "http://localhost:40001/api/users/teachers/" + response.teacher.uuid, new UserPrincipal(_httpContextAccessor.HttpContext).token).Result; if (teacher == null) { throw new EntityAlreadyExistsException($"Teacher with uuid {response.teacher.uuid} doesn't exist!", GeneralConsts.MICROSERVICE_NAME); } response.teacher = teacher; CourseDTO course = this._httpClientService.SendRequest <CourseDTO>(HttpMethod.Get, "http://localhost:40005/api/courses/" + response.course.uuid, new UserPrincipal(_httpContextAccessor.HttpContext).token).Result; if (course == null) { throw new EntityAlreadyExistsException($"Course with uuid {response.course.uuid} doesn't exist!", GeneralConsts.MICROSERVICE_NAME); } response.course = course; return(response); }
public TeamResponseDTO Update(UpdateTeamRequestDTO requestDTO) { var old = this.FindOneByUUID(requestDTO.uuid); if (old == null) { throw new EntityNotFoundException($"Team with uuid {requestDTO.uuid} doesn't exist!", GeneralConsts.MICROSERVICE_NAME); } var similar = this.FindOneByNameAndCourse(requestDTO.name, requestDTO.courseUUID); if (similar != null && similar.name != old.name) { 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() { uuid = requestDTO.uuid, 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.UPDATE_TEAM(team), this._modelMapper.MapToTeam); TeamResponseDTO response = this._autoMapper.Map <TeamResponseDTO>(team); response.teacher = teacher; response.course = course; return(response); }
public TeamResponseDTO Delete(string uuid) { if (this.FindOneByUUID(uuid) == null) { throw new EntityNotFoundException($"Team with uuid {uuid} doesn't exist!", GeneralConsts.MICROSERVICE_NAME); } TeamResponseDTO response = this.GetOneByUuid(uuid); this._queryExecutor.Execute <Team>(DatabaseConsts.USER_SCHEMA, this._sqlCommands.DELETE_TEAM(uuid), this._modelMapper.MapToTeam); return(response); }