public IHttpActionResult GetStudentSignupInfo(int activity_id, int student_id) { StudentSignupInfo info = null; try { info = new StudentSignupInfo(activity_id, student_id); } catch (Exception e) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e))); } return(ResponseMessage(Request.CreateResponse(HttpStatusCode.OK, info, "text/json"))); }
public IHttpActionResult PutOverrideSignup(int activity_id, int student_id, [FromBody] StudentSignupInfo info) { using (WebhostEntities db = new WebhostAPI.WebhostEntities()) { WeekendActivity activity = db.WeekendActivities.Find(activity_id); if (activity == null) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, new InvalidOperationException("Invalid Activity Id.")))); } Student student = db.Students.Find(student_id); if (student == null) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, new InvalidOperationException("Invalid Student Id.")))); } StudentSignup signup = db.StudentSignups.Find(activity_id, student_id); if (signup == null) // Create a new one. { signup = new WebhostAPI.StudentSignup() { ActivityId = activity_id, StudentId = student_id, IsBanned = info.IsBanned, IsRescended = info.IsRescended, Attended = false, TimeStamp = DateTime.Now }; db.StudentSignups.Add(signup); db.SaveChanges(); return(ResponseMessage(Request.CreateResponse(HttpStatusCode.Created, new StudentSignupInfo(activity_id, student_id), "text/json"))); } signup.IsBanned = info.IsBanned; signup.IsRescended = info.IsRescended; signup.TimeStamp = DateTime.Now; db.SaveChanges(); return(ResponseMessage(Request.CreateResponse(HttpStatusCode.OK, new StudentSignupInfo(activity_id, student_id), "text/json"))); } }