Beispiel #1
0
        public HttpResponseMessage CreateCourse([FromBody] MinimizedCourseModel course, string sessionKey)
        {
            var responseMsg = PerformOperation(() =>
            {
                this.CheckIfUserIsAdmin(sessionKey);

                var courseToAdd = new Course()
                {
                    Name            = course.Title,
                    Description     = course.Description,
                    StartDate       = course.StartDate ?? DateTime.Now,
                    EndDate         = course.EndDate ?? DateTime.Now,
                    SignUpDeadline  = course.SignUpDeadline ?? (course.StartDate ?? DateTime.Now),
                    LecturesPerWeek = course.LecturesPerWeek,
                    IsVisible       = true
                };

                context.Courses.Add(courseToAdd);
                context.SaveChanges();

                var response = this.Request.CreateResponse(HttpStatusCode.Created);

                return(response);
            });

            return(responseMsg);
        }
Beispiel #2
0
        public HttpResponseMessage UpdateCourse([FromBody] MinimizedCourseModel courseToUpdate, int id, string sessionKey)
        {
            var responseMsg = this.PerformOperation(() =>
            {
                this.CheckIfUserIsAdmin(sessionKey);

                var course = (from currentCourse in context.Courses
                              where currentCourse.Id == id
                              select currentCourse).FirstOrDefault();

                if (course == null)
                {
                    throw new ArgumentException("Course not found!");
                }

                course.Name            = courseToUpdate.Title ?? course.Name;
                course.Description     = courseToUpdate.Description ?? course.Description;
                course.StartDate       = courseToUpdate.StartDate ?? course.StartDate;
                course.EndDate         = courseToUpdate.EndDate ?? course.EndDate;
                course.LecturesPerWeek = courseToUpdate.LecturesPerWeek;
                course.SignUpDeadline  = courseToUpdate.SignUpDeadline ?? course.SignUpDeadline;

                context.SaveChanges();
                return(Request.CreateResponse(HttpStatusCode.Accepted));
            });

            return(responseMsg);
        }