Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        //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>();
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        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));
        }
Exemplo n.º 9
0
        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));
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        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);
            }
        }
Exemplo n.º 12
0
        //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);
            }
        }