Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
                    }
                }
            }
        }