Ejemplo n.º 1
0
        public void DeletePreviousCourse(string courseID, HttpRCB <SuccessResponse> callback)
        {
            if (_session_token == "")
            {
                return;
            }

            var req = new RestRequest(Method.POST)
            {
                Resource = "api/user/deletePrevious"
            };

            req.AddParameter("uuid", _session_token);
            req.AddParameter("courseID", courseID);
            var             res  = _client.Execute <SuccessResponse>(req);
            SuccessResponse succ = res.Data;

            if (succ == null)
            {
                ErrorPrinter.BadData("Parsing delete previous class failed");
                return;
            }

            callback(succ);
        }
Ejemplo n.º 2
0
        public void EnrollInCourse(int courseKey, HttpRCB <FullEnrollResponse> callback)
        {
            if (_session_token == "")
            {
                return;
            }

            var req = new RestRequest(Method.POST)
            {
                Resource = "api/user/enroll/"
            };

            req.AddParameter("uuid", _session_token);
            req.AddParameter("key", courseKey);
            var res = _client.Execute <FullEnrollResponse>(req);
            FullEnrollResponse succ = res.Data;

            if (succ == null)
            {
                ErrorPrinter.BadData("Parsing enrolled class failed");
                return;
            }

            callback(succ);
        }
Ejemplo n.º 3
0
        public void DropCourse(int courseKey, HttpRCB <SuccessResponse> callback)
        {
            if (_session_token == "")
            {
                return;
            }

            var req = new RestRequest(Method.POST)
            {
                Resource = "api/user/dropEnrolledCourse"
            };

            req.AddParameter("uuid", _session_token);
            req.AddParameter("courseID", courseKey);

            var             res  = _client.Execute <SuccessResponse>(req);
            SuccessResponse succ = res.Data;

            if (succ == null)
            {
                ErrorPrinter.BadData("Parsing drop course failed");
                return;
            }

            callback(succ);
        }
Ejemplo n.º 4
0
        public List <AvailableCourse> GetAvailableCourses()
        {
            if (_session_token == "")
            {
                return(null);
            }

            var req = new RestRequest(Method.GET)
            {
                Resource = "api/courses/available/" + _session_token
            };
            var res = _client.Execute <FullAvailableCourseResponse>(req);
            FullAvailableCourseResponse courses = res.Data;

            if (courses == null)
            {
                ErrorPrinter.BadData("Parsing Available courses failed");
                return(null);
            }

            if (courses.errorCode != null)
            {
                ErrorPrinter.Code(courses);
                return(null);
            }

            return(courses.ToCourses());
        }
Ejemplo n.º 5
0
        public User GetUser()
        {
            Console.WriteLine("LOADING USER");
            var getRequest = new RestRequest(Method.GET)
            {
                Resource = "api/user/getData/" + _session_token
            };
            var          response = _client.Execute <UserResponse>(getRequest);
            UserResponse user     = response.Data;

            if (user == null)
            {
                ErrorPrinter.BadData("Parsing User failed");
                return(null);
            }

            if (user.errorCode != null)
            {
                ErrorPrinter.Code(user);
                //Handle the different error codes for a user here
                return(null);
            }

            return(user.ToUser());
        }
Ejemplo n.º 6
0
        public List <Course> GetEnrolledCourses()
        {
            if (_session_token == "")
            {
                return(null);
            }

            var getRequest = new RestRequest(Method.GET)
            {
                Resource = "api/courses/enrolled/" + _session_token
            };
            var response = _client.Execute <FullCourseResponse>(getRequest);
            FullCourseResponse courses = response.Data;

            if (courses == null)
            {
                ErrorPrinter.BadData("Parsing Enrolled Courses failed");
                return(null);
            }

            if (courses.errorCode != null)
            {
                ErrorPrinter.Code(courses);
                //Properly handle errors
                return(null);
            }

            return(courses.ToCourses());
        }
Ejemplo n.º 7
0
        public void Login(string email, string password, HttpRCB <LoginResponse> callback)
        {
            Console.WriteLine("LOGGING IN");
            var postRequest = new RestRequest(Method.POST)
            {
                Resource = "api/user/login"
            };

            postRequest.AddParameter("email", email);
            postRequest.AddParameter("password", password);

            var response = _client.Execute <LoginResponse>(postRequest);

            if (response.Data == null)
            {
                ErrorPrinter.BadData("Failed to login");
                return;
            }

            bool worked = callback(response.Data);

            if (worked)
            {
                Console.Write("Setting session token: ");

                _session_token = response.Data.uuid;

                Console.WriteLine(_session_token);
            }
        }
Ejemplo n.º 8
0
        public List <AvailableCourse> SearchForCourses(string term, string prefix, string number, string ilastname, int startTime, int endTime, int slots, HttpRCB <FullAvailableCourseResponse> callback)
        {
            if (_session_token == "")
            {
                return(null);
            }

            var req = new RestRequest(Method.GET)
            {
                Resource = "api/courses/search/" + _session_token
            };

            if (term != "")
            {
                req.AddParameter("term", term);
            }
            if (prefix != "")
            {
                req.AddParameter("prefix", prefix);
            }
            if (number != "")
            {
                req.AddParameter("number", number);
            }
            if (ilastname != "")
            {
                req.AddParameter("instructor", ilastname);
            }
            if (startTime != -1 && endTime != -1)
            {
                if (startTime < endTime)
                {
                    req.AddParameter("startTime", startTime);
                    req.AddParameter("endTime", endTime);
                }
            }
            if (slots >= 0)
            {
                req.AddParameter("slotsAvailable", slots);
            }

            var res = _client.Execute <FullAvailableCourseResponse>(req);
            FullAvailableCourseResponse courses = res.Data;

            if (courses == null)
            {
                ErrorPrinter.BadData("Parsing searched courses failed");
                return(null);
            }

            if (callback(courses))
            {
                return(courses?.ToCourses());
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 9
0
        public void ChangePassword(string oldPass, string newPass, HttpRCB <SuccessResponse> callback)
        {
            var req = new RestRequest(Method.POST)
            {
                Resource = "api/user/changePassword"
            };

            req.AddParameter("uuid", _session_token);
            req.AddParameter("currentPassword", oldPass);
            req.AddParameter("newPassword", newPass);
            var             res  = _client.Execute <SuccessResponse>(req);
            SuccessResponse succ = res.Data;

            if (succ == null)
            {
                ErrorPrinter.BadData("Parsing change password failed");
                return;
            }

            callback(succ);
        }
Ejemplo n.º 10
0
        public void DeleteUser(Func <SuccessResponse, bool> callback)
        {
            var req = new RestRequest(Method.POST)
            {
                Resource = "api/user/delete"
            };

            req.AddParameter("uuid", _session_token);
            var             res  = _client.Execute <SuccessResponse>(req);
            SuccessResponse succ = res.Data;

            if (succ == null)
            {
                ErrorPrinter.BadData("Deleteing user failed");
                return;
            }

            if (callback(succ))
            {
                _session_token = "";
            }
        }
Ejemplo n.º 11
0
        public List <PreviousCourse> GetPreviousCourses()
        {
            var getRequest = new RestRequest(Method.GET)
            {
                Resource = "api/courses/previous/" + _session_token
            };
            var response = _client.Execute <FullPreviousCourseResponse>(getRequest);
            FullPreviousCourseResponse courses = response.Data;

            if (courses == null)
            {
                ErrorPrinter.BadData("Parsing Previous Courses failed");
                return(null);
            }

            if (courses.errorCode != null)
            {
                ErrorPrinter.Code(courses);
                return(null);
            }

            return(courses?.ToCourses());
        }
Ejemplo n.º 12
0
        public void NewUser(string email, string password, string first, string last, HttpRCB <SuccessResponse> callback)
        {
            Console.WriteLine("CREATING NEW USER");
            var req = new RestRequest(Method.POST)
            {
                Resource = "api/user/newUser"
            };

            req.AddParameter("email", email);
            req.AddParameter("password", password);
            req.AddParameter("firstName", first);
            req.AddParameter("lastName", last);

            var res = _client.Execute <SuccessResponse>(req);

            if (res.Data == null)
            {
                ErrorPrinter.BadData("Failed to add new user");
                return;
            }

            callback(res.Data);
        }