public HttpResponseMessage Put(Student student) { var user = TokenHelper.Authorize(this.Request); if (user == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } if (student.org != 0 && student.org != user.org) { // TODO log unauthorized return(Request.CreateResponse(HttpStatusCode.InternalServerError)); } student.org = user.org; var helper = new SqlHelper(); var success = helper.UpdateStudent(student); if (success == 0) { } if (student.stid == 0) { student.stid = success; } return(Request.CreateResponse(HttpStatusCode.OK, student)); }
public HttpResponseMessage Put(Parent parent) { var user = TokenHelper.Authorize(this.Request); if (user == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } var helper = new SqlHelper(); parent.org = user.org; var success = helper.UpdateParent(parent); if (success == 0) { return(Request.CreateResponse(HttpStatusCode.InternalServerError)); } if (parent.pid == 0) { parent.pid = success; } Parent responseBody = parent; return(Request.CreateResponse(HttpStatusCode.OK, parent)); }
public HttpResponseMessage Get(uint id) { var user = TokenHelper.Authorize(this.Request); if (user == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } var helper = new SqlHelper(); var parent = helper.GetParent(user.org, id); if (parent == null) { return(Request.CreateResponse(HttpStatusCode.InternalServerError)); } return(Request.CreateResponse(HttpStatusCode.OK, parent)); //var parents = new List<Parent>(); //parents.Add(parent); //IEnumerable<Parent> responseBody = parents; //return Request.CreateResponse(HttpStatusCode.OK, responseBody); }
public HttpResponseMessage Get(uint id = 0) { var user = TokenHelper.Authorize(this.Request); if (user == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } var helper = new SqlHelper(); var students = helper.StudentList(user.org, id); return(ReturnStudents(id, students)); }
public HttpResponseMessage Get(string namepart) { var user = TokenHelper.Authorize(this.Request); if (user == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } var helper = new SqlHelper(); var students = helper.FindStudent(user.org, namepart); return(ReturnStudents(0, students)); }
//public IEnumerable<Prayer> Prayers() public HttpResponseMessage Prayers() { var user = TokenHelper.Authorize(this.Request); if (user == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } MySqlCommand cmd = db.CreateCommand(); cmd.CommandText = "select taskid, taskname, ordinal, groupa, groupb, groupx from task where org = @org and active = 1 order by ordinal"; cmd.Parameters.AddWithValue("@org", user.org); List <Prayer> prayers = new List <Prayer>(); try { db.Open(); MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { var p = new Prayer { taskid = reader.GetUInt32("taskid"), ordinal = reader.GetInt32("ordinal"), groupa = reader.GetBoolean("groupa"), groupb = reader.GetBoolean("groupb"), groupx = reader.GetBoolean("groupx"), description = reader.GetString("taskname") }; prayers.Add(p); } //IEnumerable<Prayer> responseBody = prayers; //return Request.CreateResponse(HttpStatusCode.OK, responseBody); //return prayers; } catch (Exception r) { Console.WriteLine("Error: " + r); prayers = new List <Prayer>(); // make sure it's empty } IEnumerable <Prayer> responseBody = prayers; return(Request.CreateResponse(HttpStatusCode.OK, responseBody)); //return new List<Prayer>(); }
public HttpResponseMessage Delete(uint pid, string phone) { var user = TokenHelper.Authorize(this.Request); if (user == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } var sql = new SqlHelper(); var result = sql.DeletePhone(pid, phone); if (result > 0) { return(Request.CreateResponse(HttpStatusCode.OK, "{}")); } return(new HttpResponseMessage(HttpStatusCode.InternalServerError)); }
public HttpResponseMessage Get(uint id) { var user = TokenHelper.Authorize(this.Request); if (user == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } var helper = new SqlHelper(); var phones = helper.GetPhones(id); if (phones != null) { IEnumerable <Phone> responseBody = phones; return(Request.CreateResponse(HttpStatusCode.OK, responseBody)); } return(Request.CreateResponse(HttpStatusCode.InternalServerError)); }
public HttpResponseMessage Get(string namepart) { var user = TokenHelper.Authorize(this.Request); if (user == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } var helper = new SqlHelper(); var parents = helper.FindParent(user.org, namepart); if (parents == null) { return(Request.CreateResponse(HttpStatusCode.InternalServerError)); } IEnumerable <Parent> responseBody = parents; return(Request.CreateResponse(HttpStatusCode.OK, responseBody)); }
public HttpResponseMessage Progress(Progress progress) { var user = TokenHelper.Authorize(this.Request); if (user == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } var helper = new SqlHelper(); var err = helper.UpdateProgress(progress); if (err == string.Empty) { return(new HttpResponseMessage(HttpStatusCode.OK)); } var eresp = new HttpResponseMessage(HttpStatusCode.InternalServerError); eresp.ReasonPhrase = err; return(eresp); }
public HttpResponseMessage Post() { var user = TokenHelper.Authorize(this.Request); if (user == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } SqlHelper sql = new SqlHelper(); try { var slist = sql.StudentList(user.org); // all students var students = new List <Student>(); foreach (var s in slist) { if (s.present) { students.Add(s); } // if (!s.present) { slist.Remove(s); } } IEnumerable <Student> responseBody = students; return(Request.CreateResponse(HttpStatusCode.OK, responseBody)); } catch (Exception e) { var response = Request.CreateResponse(HttpStatusCode.InternalServerError); // DO NOT DO THIS IN PRODUCTION! var replacement = e.ToString().Replace('\n', '*').Replace('\r', '*').Substring(0, 255); //Regex.Replace(r.ToString(), @"\t|\n|\r", "*"); response.ReasonPhrase = replacement; // TODO: Log error return(response); } }
//public IEnumerable<Progress> Prayers(List<uint> students) public HttpResponseMessage Prayers(List <uint> students) { var user = TokenHelper.Authorize(this.Request); if (user == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } List <Progress> prayers = new List <Progress>(); var slist = String.Join(",", students); MySqlCommand cmd = db.CreateCommand(); cmd.CommandText = @"SELECT o.* FROM `progress` o LEFT JOIN `progress` b " + " ON o.stid = b.stid AND o.taskid = b.taskid AND o.date < b.date " + "WHERE o.stid in (" + slist + ") and b.date is NULL"; try { db.Open(); MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { var p = new Progress { stid = reader.GetUInt32("stid"), taskid = reader.GetUInt32("taskid"), changed = reader.GetDateTime("date"), rating = SqlHelper.SafeInt(reader, "rating"), scomment = SqlHelper.SafeString(reader, "scomment"), tcomment = SqlHelper.SafeString(reader, "tcomment"), // assigned = true }; prayers.Add(p); } reader.Close(); cmd.CommandText = @"select date from progress where stid = @stid and taskid = @taskid order by date limit 1"; foreach (var p in prayers) { cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@stid", p.stid); cmd.Parameters.AddWithValue("@taskid", p.taskid); var d = cmd.ExecuteScalar(); if (d != null) { p.assigned = (DateTime)d; } } IEnumerable <Progress> responseBody = prayers; return(Request.CreateResponse(HttpStatusCode.OK, responseBody)); } catch (Exception ex) { var response = Request.CreateResponse(HttpStatusCode.InternalServerError); // DO NOT DO THIS IN PRODUCTION! var replacement = ex.ToString().Replace('\n', '*').Replace('\r', '*').Substring(0, 255); response.ReasonPhrase = replacement; return(response); } }