private CanvasEnrollmentModel UnEnrollStudentFromSection(string canvasUserId, string canvasCourseId) { //get the enrollmentId CanvasEnrollmentModel enrollment = GetUserEnrollment(canvasUserId, canvasCourseId); if (enrollment != null) { string unEnrollmentJson = "{\"task\": \"conclude\"}"; //send the data string removeEnrollmentURL = CanvasUrl + "courses/" + canvasCourseId + "/enrollments/" + enrollment.id + "?access_token=" + OAuthKey; var httpWebRequest = (HttpWebRequest)WebRequest.Create(removeEnrollmentURL); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "DELETE"; CanvasEnrollmentModel newEnrollment = new CanvasEnrollmentModel(); try { using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(unEnrollmentJson); streamWriter.Flush(); streamWriter.Close(); var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var serializer = new JsonSerializer(); using (var jsonTextReader = new JsonTextReader(streamReader)) { newEnrollment = serializer.Deserialize <CanvasEnrollmentModel>(jsonTextReader); } } } } catch (Exception e) { newEnrollment = null; } return(newEnrollment); } return(null); }
private void AssignTeacherToCourse(int funiq, string courseId, int schuniq) { User facUser = SISdb.Users.FirstOrDefault(u => u.funiq == funiq); CanvasUserModel teacher = GetUserBySISId(facUser.Username); if (teacher == null) { teacher = CreateCanvasTeacher(funiq, schuniq); } string enrollmentJson = "{\"enrollment\": {" + "\"user_id\": \"" + teacher.id + "\"," + "\"type\": \"TeacherEnrollment\"," + "\"enrollment_state\": \"active\"," + //when we go live this should be true. "\"notify\": \"false\"}}"; //send the data string createEnrollmentURL = CanvasUrl + "courses/" + courseId + "/enrollments?access_token=" + OAuthKey; var httpWebRequest = (HttpWebRequest)WebRequest.Create(createEnrollmentURL); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; CanvasEnrollmentModel newEnrollment = new CanvasEnrollmentModel(); using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(enrollmentJson); streamWriter.Flush(); streamWriter.Close(); var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var serializer = new JsonSerializer(); using (var jsonTextReader = new JsonTextReader(streamReader)) { newEnrollment = serializer.Deserialize <CanvasEnrollmentModel>(jsonTextReader); } } } }