Ejemplo n.º 1
0
        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")));
        }
Ejemplo n.º 2
0
        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")));
            }
        }