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); }
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); }