コード例 #1
0
        public CourseTeacherResponseDTO CreateTeacherOnCourse(CreateCourseTeacherRequestDTO request)
        {
            //provera da li postoji kurs
            CourseResponseDTO course = this._courseService.GetOneByUuid(request.courseUUID);

            //provera da li postoji profesor
            try
            {
                TeacherResponseDTO newTeacher = this._httpClientService.SendRequest <TeacherResponseDTO>(HttpMethod.Get, "http://localhost:40001/api/users/" + request.teacherUUID, new UserPrincipal(_httpContextAccessor.HttpContext).token).Result;
            }
            catch
            {
                throw new EntityNotFoundException($"Teacher with uuid: {request.teacherUUID} does not exist!", GeneralConsts.MICROSERVICE_NAME);
            }

            //provera da li vec postoji profesor na kursu
            CourseTeacher existingCourseTeacher = FindTeacherOnCourse(request.courseUUID, request.teacherUUID);

            if (existingCourseTeacher != null)
            {
                if (existingCourseTeacher.activeTeacher == false)
                {
                    CourseTeacher updatedTeacher = this._autoMapper.Map <CourseTeacher>(request);
                    updatedTeacher.activeTeacher = true;
                    updatedTeacher.course        = new Course()
                    {
                        uuid = request.courseUUID
                    };
                    updatedTeacher.teacher = new Teacher()
                    {
                        uuid = request.teacherUUID
                    };
                    updatedTeacher = this._queryExecutor.Execute <CourseTeacher>(DatabaseConsts.USER_SCHEMA, this._sqlCommands.UPDATE_TEACHER_COURSE(updatedTeacher), this._modelMapper.MapToCourseTeacher);
                    CourseTeacherResponseDTO updatedResponse = this._autoMapper.Map <CourseTeacherResponseDTO>(updatedTeacher);
                    return(connectWithUser(updatedResponse));
                }
                else
                {
                    throw new EntityAlreadyExistsException("Teacher with uuid " + request.courseUUID + " already exists in course with uuid " + request.teacherUUID, GeneralConsts.MICROSERVICE_NAME);
                }
            }
            CourseTeacher courseTeacher = this._autoMapper.Map <CourseTeacher>(request);

            courseTeacher.course = new Course()
            {
                uuid = request.courseUUID
            };
            courseTeacher.teacher = new Teacher()
            {
                uuid = request.teacherUUID
            };
            courseTeacher.activeTeacher = true;
            this._queryExecutor.Execute <CourseTeacher>(DatabaseConsts.USER_SCHEMA, this._sqlCommands.CREATE_TEACHER_COURSE(courseTeacher), this._modelMapper.MapToCourseTeacher);
            CourseTeacherResponseDTO response = this._autoMapper.Map <CourseTeacherResponseDTO>(courseTeacher);

            return(connectWithUser(response));
        }
コード例 #2
0
 public ActionResult <CourseTeacherResponseDTO> HandleCreateTeacherOnCourse(CreateCourseTeacherRequestDTO request)
 {
     return(Ok(this._courseTeacherService.CreateTeacherOnCourse(request)));
 }