예제 #1
0
        //POST METHODS
        CourseResponseDTO ICourseService.Create(CreateCourseRequestDTO requestDTO)
        {
            //provera da li postoji subject
            SubjectResponseDTO subject;

            try
            {
                subject = this._httpClientService.SendRequest <SubjectResponseDTO>(HttpMethod.Get, "http://localhost:40006/api/subjects/" + requestDTO.subjectUUID, new UserPrincipal(_httpContextAccessor.HttpContext).token).Result;
            }
            catch
            {
                throw new EntityNotFoundException("Subject with uuid " + requestDTO.subjectUUID + " doesn't exist", GeneralConsts.MICROSERVICE_NAME);
            }

            Course course = new Course()
            {
                name         = requestDTO.name,
                description  = requestDTO.description,
                active       = requestDTO.active,
                maxStudents  = requestDTO.maxStudents,
                minStudents  = requestDTO.minStudents,
                creationDate = requestDTO.creationDate,
                subject      = new Subject()
                {
                    uuid = requestDTO.subjectUUID
                }
            };

            this._queryExecutor.Execute <Course>(DatabaseConsts.USER_SCHEMA, this._sqlCommands.CREATE_COURSE(course), this._modelMapper.MapToCourseAfterInsert);

            CreateCourseArchiveRequestDTO archive = new CreateCourseArchiveRequestDTO()
            {
                courseUUID    = course.uuid,
                name          = course.name,
                description   = course.description,
                active        = course.active,
                maxStudents   = course.maxStudents,
                minStudents   = course.minStudents,
                creationDate  = course.creationDate,
                subjectUUID   = subject.uuid,
                changeDate    = DateTime.Now,
                moderatorUUID = new UserPrincipal(_httpContextAccessor.HttpContext).uuid
            };

            CreateCourseArchiveRequestDTO req = this._autoMapper.Map <CreateCourseArchiveRequestDTO>(archive);

            _ = this._courseArchiveService.CreateCourseArchive(archive);
            CourseResponseDTO response = this._autoMapper.Map <CourseResponseDTO>(course);

            response.subject = subject;
            return(response);
        }
 public ActionResult <CourseResponseDTO> HandleCreateCourse(CreateCourseRequestDTO requestDTO)
 {
     return(Ok(this._courseService.Create(requestDTO)));
 }