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); }
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); }
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); }
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()); }
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()); }
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()); }
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); } }
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); } }
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); }
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 = ""; } }
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()); }
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); }