Ejemplo n.º 1
0
        /// <summary>
        /// adds a Course to DB (+ relations to trainers and Contents)
        /// </summary>
        /// <param name="jsonCourse"></param>
        /// <returns>the created Course as JSONCourseSend</returns>
        public JSONCourseSend PostCourse(JSONCourseReceive jsonCourse)
        {
            Course course = jsonConverter.ConvertJSONToCourse(jsonCourse);

            entities.Courses.Add(course);
            entities.SaveChanges();
            // create trainer relations
            foreach (var trainerid in jsonCourse.TrainerArr)
            {
                relCourseTrainerController.CreateRelation(course.Id, trainerid);
            }
            // create content relations
            foreach (var content in jsonCourse.ContentArr)
            {
                relCourseContentController.CreateRelation(course.Id, content);
            }
            // create classroom relations
            foreach (var classroomId in jsonCourse.ClassroomArr)
            {
                relCourseClassroomController.CreateRelation(course.Id, classroomId);
            }
            // create subvention relations
            foreach (var subvention in jsonCourse.SubventionArr)
            {
                relCourseSubventionController.CreateRelation(course.Id, subvention);
            }
            return(jsonConverter.ConvertCourseToJSON(course));
        }
Ejemplo n.º 2
0
        public JSONCourseSend Post([FromBody] JSONCourseReceive course)
        {
            JSONCourseSend returnCourse = null;

            try
            {
                returnCourse        = courseController.PostCourse(course);
                Response.StatusCode = 200;
            }
            catch (Exception ex)
            {
                Response.StatusCode = 500;
                Response.WriteAsync(ex.Message);
            }
            return(returnCourse);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// converts a JSONCourseReceive to Course
        /// </summary>
        /// <returns></returns>
        public Course ConvertJSONToCourse(JSONCourseReceive jsonCourse)
        {
            var course = new Course();

            course.Title           = jsonCourse.Title;
            course.CourseNumber    = jsonCourse.CourseNumber;
            course.Description     = jsonCourse.Description;
            course.Category        = jsonCourse.Category;
            course.Start           = DateTime.ParseExact(jsonCourse.Start.Replace('T', ' '), "yyyy-MM-dd HH:mm:ss", null);
            course.End             = DateTime.ParseExact(jsonCourse.End.Replace('T', ' '), "yyyy-MM-dd HH:mm:ss", null);
            course.Unit            = jsonCourse.Unit;
            course.Price           = jsonCourse.Price;
            course.MaxParticipants = jsonCourse.MaxParticipants;
            course.MinParticipants = jsonCourse.MinParticipants;
            course.CreatedAt       = DateTime.Now;
            course.ModifiedAt      = DateTime.Now;
            return(course);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// updates an existing Course in DB
 /// </summary>
 /// <param name="courseId"></param>
 /// <param name="courseReceive"></param>
 /// <returns>the updated Course as JSONCourseSend</returns>
 public JSONCourseSend UpdateCourse(int courseId, JSONCourseReceive courseReceive)
 {
     if (entities.Courses.FirstOrDefault(x => x.Id == courseId) != null)
     {
         Course courseNew = jsonConverter.ConvertJSONToCourse(courseReceive);
         courseNew.Id = courseId;
         entities.Entry(entities.Courses.FirstOrDefault(x => x.Id == courseId)).CurrentValues.SetValues(courseNew);
         entities.SaveChanges();
         // update trainer relations
         relCourseTrainerController.UpdateRelations(courseId, courseReceive.TrainerArr);
         // update content relations
         relCourseContentController.UpdateRelations(courseId, courseReceive.ContentArr);
         // update classroom relations
         relCourseClassroomController.UpdateRelations(courseId, courseReceive.ClassroomArr);
         // update subvention relations
         relCourseSubventionController.UpdateRelations(courseId, courseReceive.SubventionArr);
         return(jsonConverter.ConvertCourseToJSON(entities.Courses.FirstOrDefault(x => x.Id == courseId)));
     }
     else
     {
         throw new EntryCouldNotBeFoundException("The course you want to update could not be found in database");
     }
 }