protected void btn_CreateCourse_Click(object sender, EventArgs e)
        {
            string contents = core_course_create_courses(txt_fullname.Text.Trim(), txt_shortname.Text.Trim(), txt_categoryid.Text.Trim(), txt_Idnumber.Text.Trim(), txt_Summary.Text.Trim(), txt_summaryformat.Text.Trim(), txt_format.Text.Trim(), txt_showgrades.Text.Trim(), txt_NewsItems.Text.Trim(), txt_StatrtDate.Text.Trim(), txt_EndDate.Text.Trim(), txt_numsections.Text.Trim(), txt_maxbytes.Text.Trim(), txt_ShowReports.Text.Trim(), txt_visible.Text.Trim(), txt_groupmode.Text.Trim(), txt_groupmodeforce.Text.Trim(), txt_defaultgroupingid.Text.Trim(), txt_enablecompletion.Text.Trim(), txt_completionnotify.Text.Trim(), txt_lang.Text.Trim());
            // Deserialize
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            if (contents.Contains("exception"))
            {
                // Error
                MoodleException moodleError = serializer.Deserialize <MoodleException>(contents);
                lbl_results.Text = contents;
            }
            else
            {
                // Good
                List <MoodleCreateCourseResponse> newCourses = serializer.Deserialize <List <MoodleCreateCourseResponse> >(contents);
                string id        = "";
                string shortname = "";
                foreach (var value in newCourses)
                {
                    id        = value.id;
                    shortname = value.shortname;
                }
                lbl_results.Text = "Course Created Successfuly-" + id + "/" + shortname + "";
            }
        }
        protected void btn_CreateGroup_Click(object sender, EventArgs e)
        {
            string idimportcourse            = "";
            string contentsimport            = core_course_get_courses_by_field("idnumber", txt_courseid.Text.Trim());
            JavaScriptSerializer serializer1 = new JavaScriptSerializer();

            if (contentsimport.Contains("exception"))
            {
                // Error
                MoodleException moodleError = serializer1.Deserialize <MoodleException>(contentsimport);
                lbl_results.Text = contentsimport;
            }
            else
            {
                // Good
                //List<MoodleCourses_Get> newCourses1 = serializer.Deserialize<List<MoodleCourses_Get>>(contents1);
                //string fullname1 = "";
                //foreach (var value in newCourses1)
                //{
                //    idimportcourse = value.id;
                //    fullname1 = value.fullname;
                //}

                //object yourOjbect = new JavaScriptSerializer().DeserializeObject(contentsimport);
                DataSet importobject = JsonConvert.DeserializeObject <DataSet>(contentsimport);
                idimportcourse = importobject.Tables[0].Rows[0]["id"].ToString();
            }


            string contents = core_group_create_groups(idimportcourse, txt_groupname.Text.Trim(), txt_groupdesc.Text.Trim(), txt_descformat.Text.Trim(), txt_enrolkey.Text.Trim(), txt_idnumber.Text.Trim());
            // Deserialize
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            if (contents.Contains("exception"))
            {
                // Error
                MoodleException moodleError = serializer.Deserialize <MoodleException>(contents);
                lbl_results.Text = contents;
            }
            else
            {
                // Good
                List <MoodleCreateGroupResponse> newGroups = serializer.Deserialize <List <MoodleCreateGroupResponse> >(contents);
                string id   = "";
                string name = "";
                foreach (var value in newGroups)
                {
                    id   = value.id;
                    name = value.name;
                }
                lbl_results.Text = "Group Created Successfully-" + id + "/" + name + "";
            }
        }
Пример #3
0
        protected void btn_CreateCourse_Click(object sender, EventArgs e)
        {
            ServicePointManager.Expect100Continue      = true;
            ServicePointManager.DefaultConnectionLimit = 9999;
            ServicePointManager.SecurityProtocol       = (SecurityProtocolType)3072;

            String token = "1b4cb9114197a84985695b19b1164d0a";


            String postData = String.Format("options[ids][0]=2215");


            string createRequest = string.Format("https://lms.ectmoodle.ae/webservice/rest/server.php?wstoken={0}&wsfunction={1}&moodlewsrestformat=json", token, "core_course_get_courses");

            // Call Moodle REST Service
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(createRequest);

            req.Method      = "POST";
            req.ContentType = "application/x-www-form-urlencoded";

            // Encode the parameters as form data:
            byte[] formData =
                UTF8Encoding.UTF8.GetBytes(postData);
            req.ContentLength = formData.Length;

            // Write out the form Data to the request:
            using (Stream post = req.GetRequestStream())
            {
                post.Write(formData, 0, formData.Length);
            }


            // Get the Response
            HttpWebResponse resp      = (HttpWebResponse)req.GetResponse();
            Stream          resStream = resp.GetResponseStream();
            StreamReader    reader    = new StreamReader(resStream);
            string          contents  = reader.ReadToEnd();

            // Deserialize
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            if (contents.Contains("exception"))
            {
                // Error
                MoodleException moodleError = serializer.Deserialize <MoodleException>(contents);
                lbl_results.Text = contents;
            }
            else
            {
                // Good
                List <String> newCourses = serializer.Deserialize <List <String> >(contents);
            }
        }
        protected void btn_UnEnroll_Click(object sender, EventArgs e)
        {
            string contents = enrol_manual_unenrol_users(txt_userid.Text.Trim(), txt_Courseid.Text.Trim(), txt_roleid.Text.Trim());
            // Deserialize
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            if (contents.Contains("exception"))
            {
                // Error
                MoodleException moodleError = serializer.Deserialize <MoodleException>(contents);
                lbl_results.Text = contents;
            }
            else
            {
                // Good
                List <string> newGroups = serializer.Deserialize <List <string> >(contents);
                lbl_results.Text = "User UnEnrolled Successfully";
            }
        }
Пример #5
0
        protected void btn_Delete_Click(object sender, EventArgs e)
        {
            string contents = core_group_delete_groups(txt_groupid.Text.Trim());
            // Deserialize
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            if (contents.Contains("exception"))
            {
                // Error
                MoodleException moodleError = serializer.Deserialize <MoodleException>(contents);
                lbl_results.Text = contents;
            }
            else
            {
                // Good
                List <string> newGroups = serializer.Deserialize <List <string> >(contents);
                lbl_results.Text = "Group Deleted Successfuly";
            }
        }
        public void PostCreateRequest(string createRequest, string postData)
        {
            // Call Moodle REST Service
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(createRequest);

            request.Method      = "POST";
            request.ContentType = "application/x-www-form-urlencoded";

            // Encode the parameters as form data:
            byte[] formData = UTF8Encoding.UTF8.GetBytes(postData);
            request.ContentLength = formData.Length;

            // Write out the form Data to the request:
            using (Stream post = request.GetRequestStream())
            {
                post.Write(formData, 0, formData.Length);
            }

            // Get the Response
            HttpWebResponse response       = (HttpWebResponse)request.GetResponse();
            Stream          responseStream = response.GetResponseStream();
            StreamReader    reader         = new StreamReader(responseStream);
            string          contents       = reader.ReadToEnd();

            // Deserialize
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            if (contents.Contains("exception"))
            {
                // Error
                MoodleException moodleError = serializer.Deserialize <MoodleException>(contents);
            }
            else
            {
                // Good
                List <MoodleCreateUserResponse> newUsers = serializer.Deserialize <List <MoodleCreateUserResponse> >(contents);
                //Check the results
                foreach (var createdUser in newUsers)
                {
                    Console.WriteLine("Created User => Id: " + createdUser.Id + " Username: " + createdUser.Username);
                }
            }
        }
Пример #7
0
        static void Main(string[] args)
        {
            String token = "token-goes-here";

            MoodleUser user = new MoodleUser();

            user.username  = HttpUtility.UrlEncode("*****@*****.**");
            user.password  = HttpUtility.UrlEncode("Pass@Fakew0rd");
            user.firstname = HttpUtility.UrlEncode("Daryl");
            user.lastname  = HttpUtility.UrlEncode("Orwin");
            user.email     = HttpUtility.UrlEncode("*****@*****.**");

            List <MoodleUser> userList = new List <MoodleUser>();

            userList.Add(user);

            Array arrUsers = userList.ToArray();

            String postData = String.Format("users[0][username]={0}&users[0][password]={1}&users[0][firstname]={2}&users[0][lastname]={3}&users[0][email]={4}", user.username, user.password, user.firstname, user.lastname, user.email);



            string createRequest = string.Format("http://moodleurl.com/webservice/rest/server.php?wstoken={0}&wsfunction={1}&moodlewsrestformat=json", token, "core_user_create_users");

            // Call Moodle REST Service
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(createRequest);

            req.Method      = "POST";
            req.ContentType = "application/x-www-form-urlencoded";

            // Encode the parameters as form data:
            byte[] formData =
                UTF8Encoding.UTF8.GetBytes(postData);
            req.ContentLength = formData.Length;

            // Write out the form Data to the request:
            using (Stream post = req.GetRequestStream())
            {
                post.Write(formData, 0, formData.Length);
            }


            // Get the Response
            HttpWebResponse resp      = (HttpWebResponse)req.GetResponse();
            Stream          resStream = resp.GetResponseStream();
            StreamReader    reader    = new StreamReader(resStream);
            string          contents  = reader.ReadToEnd();

            // Deserialize
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            if (contents.Contains("exception"))
            {
                // Error
                MoodleException moodleError = serializer.Deserialize <MoodleException>(contents);
            }
            else
            {
                // Good
                List <MoodleCreateUserResponse> newUsers = serializer.Deserialize <List <MoodleCreateUserResponse> >(contents);
            }
        }
Пример #8
0
        public ActionResult RegisterForMoodle(int?eh)
        {
            string moodleURL = string.Concat("http://", Properties.Settings.Default.MoodleBaseURL, "/webservice/rest/server.php");
            string function  = "core_user_create_users";

            string[] nameComponents = User.Identity.Name.Split(new Char[] { ' ' });

            try
            {
                MoodleUser mUser = new MoodleUser()
                {
                    username  = HttpUtility.UrlEncode(User.Identity.Name.Replace(@"'", "").Replace(" ", "").ToLower()),
                    password  = HttpUtility.UrlEncode("r3MuSU53r#"),
                    email     = HttpUtility.UrlEncode(UserManager.FindById(User.Identity.GetUserId()).EmailAddress),
                    firstname = nameComponents[0]
                };
                if (nameComponents.Length == 1)
                {
                    mUser.lastname = "R3man";
                }
                else if (nameComponents.Length == 2)
                {
                    mUser.lastname = nameComponents[1];
                }
                else if (nameComponents.Length == 3)
                {
                    mUser.lastname = string.Concat(nameComponents[1], " ", nameComponents[2]);
                }
                ;
                //List<MoodleUser> userList = new List<MoodleUser>();
                //userList.Add(mUser);
                //Array arrUsers = userList.ToArray();

                String postData      = String.Format("users[0][username]={0}&users[0][password]={1}&users[0][firstname]={2}&users[0][lastname]={3}&users[0][email]={4}", mUser.username, mUser.password, mUser.firstname, mUser.lastname, mUser.email);
                string createRequest = string.Format("{0}?wstoken={1}&wsfunction={2}&moodlewsrestformat=json", moodleURL, Properties.Settings.Default.MoodleToken, function);

                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(createRequest);
                req.Method      = "POST";
                req.ContentType = "application/x-www-form-urlencoded";
                byte[] formData = UTF8Encoding.UTF8.GetBytes(postData);
                req.ContentLength = formData.Length;
                using (Stream post = req.GetRequestStream())
                {
                    post.Write(formData, 0, formData.Length);
                }
                // Get the Response
                HttpWebResponse resp      = (HttpWebResponse)req.GetResponse();
                Stream          resStream = resp.GetResponseStream();
                StreamReader    reader    = new StreamReader(resStream);
                string          contents  = reader.ReadToEnd();

                // Deserialize
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                if (contents.Contains("exception"))
                {
                    // Error
                    MoodleException moodleError = serializer.Deserialize <MoodleException>(contents);

                    TempData.Add("Message", "An error occurred: Please contact Clyde en Marland with this message; ");
                    TempData.Add("ErrorMessage", moodleError.debuginfo);
                }
                else
                {
                    // Good
                    TempData.Add("Message", "Registration Complete!");
                    List <MoodleCreateUserResponse> newUsers = serializer.Deserialize <List <MoodleCreateUserResponse> >(contents);
                }
            }
            catch (Exception ex)
            {
                TempData.Add("Message", "An error occurred: Please contact Clyde en Marland with this message; ");
                TempData.Add("ErrorMessage", ex.Message);
            }
            //return View("Index#MoodleTab");
            return(RedirectToAction("Index"));
        }
        protected void btn_CreateCourse_Click(object sender, EventArgs e)
        {
            ServicePointManager.Expect100Continue      = true;
            ServicePointManager.DefaultConnectionLimit = 9999;
            ServicePointManager.SecurityProtocol       = (SecurityProtocolType)3072;

            String token = "1b4cb9114197a84985695b19b1164d0a";

            long start = ToUnixTimestamp(Convert.ToDateTime(txt_StatrtDate.Text));
            long end   = ToUnixTimestamp(Convert.ToDateTime(txt_EndDate.Text));

            //Start Create New Course
            MoodleCourses courses = new MoodleCourses();

            courses.fullname      = HttpUtility.UrlEncode(txt_fullname.Text.Trim());
            courses.shortname     = HttpUtility.UrlEncode(txt_shortname.Text.Trim());
            courses.categoryid    = HttpUtility.UrlEncode(txt_categoryid.Text.Trim());
            courses.idnumber      = HttpUtility.UrlEncode(txt_Idnumber.Text.Trim());
            courses.summary       = HttpUtility.UrlEncode(txt_Summary.Text.Trim());
            courses.summaryformat = HttpUtility.UrlEncode(txt_summaryformat.Text.Trim());
            courses.format        = HttpUtility.UrlEncode(txt_format.Text.Trim());
            courses.showgrades    = HttpUtility.UrlEncode(txt_showgrades.Text.Trim());
            courses.newsitems     = HttpUtility.UrlEncode(txt_NewsItems.Text.Trim());

            courses.startdate   = HttpUtility.UrlEncode(start.ToString());
            courses.enddate     = HttpUtility.UrlEncode(end.ToString());
            courses.numsections = HttpUtility.UrlEncode(txt_numsections.Text.Trim());
            courses.maxbytes    = HttpUtility.UrlEncode(txt_maxbytes.Text.Trim());

            courses.showreports       = HttpUtility.UrlEncode(txt_ShowReports.Text.Trim());
            courses.visible           = HttpUtility.UrlEncode(txt_visible.Text.Trim());
            courses.groupmode         = HttpUtility.UrlEncode(txt_groupmode.Text.Trim());
            courses.groupmodeforce    = HttpUtility.UrlEncode(txt_groupmodeforce.Text.Trim());
            courses.defaultgroupingid = HttpUtility.UrlEncode(txt_defaultgroupingid.Text.Trim());

            courses.enablecompletion = HttpUtility.UrlEncode(txt_enablecompletion.Text.Trim());
            courses.completionnotify = HttpUtility.UrlEncode(txt_completionnotify.Text.Trim());
            courses.lang             = HttpUtility.UrlEncode(txt_lang.Text.Trim());

            List <MoodleCourses> coursesList = new List <MoodleCourses>();

            coursesList.Add(courses);

            Array arrCourses = coursesList.ToArray();

            //String postData = String.Format("courses[0][fullname]={0}&courses[0][shortname]={1}&courses[0][categoryid]={2}&courses[0][idnumber]={3}&courses[0][summary]={4}&courses[0][summaryformat]={5}&courses[0][format]={6}&courses[0][showgrades]={7}&courses[0][newsitems]={8}&courses[0][showreports]={9}&courses[0][visible]={10}&courses[0][groupmode]={11}&courses[0][groupmodeforce]={12}&courses[0][defaultgroupingid]={13}", courses.fullname, courses.shortname, courses.categoryid, courses.idnumber, courses.summary, courses.summaryformat, courses.format, courses.showgrades, courses.newsitems, courses.showreports, courses.visible, courses.groupmode, courses.groupmodeforce, courses.defaultgroupingid);
            String postData = String.Format("courses[0][fullname]={0}&courses[0][shortname]={1}&courses[0][categoryid]={2}&courses[0][idnumber]={3}&courses[0][summary]={4}&courses[0][summaryformat]={5}&courses[0][format]={6}&courses[0][showgrades]={7}&courses[0][newsitems]={8}&courses[0][startdate]={9}&courses[0][enddate]={10}&courses[0][numsections]={11}&courses[0][maxbytes]={12}&courses[0][showreports]={13}&courses[0][visible]={14}&courses[0][groupmode]={15}&courses[0][groupmodeforce]={16}&courses[0][defaultgroupingid]={17}&courses[0][enablecompletion]={18}&courses[0][completionnotify]={19}&courses[0][lang]={20}", courses.fullname, courses.shortname, courses.categoryid, courses.idnumber, courses.summary, courses.summaryformat, courses.format, courses.showgrades, courses.newsitems, courses.startdate, courses.enddate, courses.numsections, courses.maxbytes, courses.showreports, courses.visible, courses.groupmode, courses.groupmodeforce, courses.defaultgroupingid, courses.enablecompletion, courses.completionnotify, courses.lang);

            string createRequest = string.Format("https://lms.ectmoodle.ae/webservice/rest/server.php?wstoken={0}&wsfunction={1}&moodlewsrestformat=json", token, "core_course_create_courses");

            // Call Moodle REST Service
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(createRequest);

            req.Method      = "POST";
            req.ContentType = "application/x-www-form-urlencoded";

            // Encode the parameters as form data:
            byte[] formData =
                UTF8Encoding.UTF8.GetBytes(postData);
            req.ContentLength = formData.Length;

            // Write out the form Data to the request:
            using (Stream post = req.GetRequestStream())
            {
                post.Write(formData, 0, formData.Length);
            }

            // Get the Response
            HttpWebResponse resp      = (HttpWebResponse)req.GetResponse();
            Stream          resStream = resp.GetResponseStream();
            StreamReader    reader    = new StreamReader(resStream);
            string          contents  = reader.ReadToEnd();

            // Deserialize
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            if (contents.Contains("exception"))
            {
                // Error
                MoodleException moodleError = serializer.Deserialize <MoodleException>(contents);
                lbl_results.Text = contents;
            }
            else
            {
                // Good
                List <MoodleCreateCourseResponse> newCourses = serializer.Deserialize <List <MoodleCreateCourseResponse> >(contents);
                string id        = "";
                string shortname = "";
                foreach (var value in newCourses)
                {
                    id        = value.id;
                    shortname = value.shortname;
                }
                //End Create New Course


                // Deserialize
                string idimportcourse            = "";
                string contentsimport            = core_course_get_courses_by_field("idnumber", txt_ImportCourseID.Text.Trim());
                JavaScriptSerializer serializer1 = new JavaScriptSerializer();
                if (contentsimport.Contains("exception"))
                {
                    // Error
                    MoodleException moodleError = serializer1.Deserialize <MoodleException>(contentsimport);
                    lbl_results.Text = contentsimport;
                }
                else
                {
                    // Good
                    //List<MoodleCourses_Get> newCourses1 = serializer.Deserialize<List<MoodleCourses_Get>>(contents1);
                    //string fullname1 = "";
                    //foreach (var value in newCourses1)
                    //{
                    //    idimportcourse = value.id;
                    //    fullname1 = value.fullname;
                    //}

                    //object yourOjbect = new JavaScriptSerializer().DeserializeObject(contentsimport);
                    DataSet importobject = JsonConvert.DeserializeObject <DataSet>(contentsimport);
                    idimportcourse = importobject.Tables[0].Rows[0]["id"].ToString();
                }

                //Start Import Previous Course Contents to the Created Course Now
                MoodleImportCourse import = new MoodleImportCourse();
                import.importfrom    = HttpUtility.UrlEncode(idimportcourse);
                import.importto      = HttpUtility.UrlEncode(id);
                import.deletecontent = HttpUtility.UrlEncode("0");
                import.name          = HttpUtility.UrlEncode("activities");
                import.value         = HttpUtility.UrlEncode("1");
                import.name1         = HttpUtility.UrlEncode("blocks");
                import.value1        = HttpUtility.UrlEncode("1");
                import.name2         = HttpUtility.UrlEncode("filters");
                import.value2        = HttpUtility.UrlEncode("1");

                List <MoodleImportCourse> importList = new List <MoodleImportCourse>();
                importList.Add(import);

                Array  arrImport           = importList.ToArray();
                String postImportData      = String.Format("importfrom={0}&importto={1}&deletecontent={2}&options[0][name]={3}&options[0][value]={4}&options[0][name]={5}&options[0][value]={6}&options[0][name]={7}&options[0][value]={8}", import.importfrom, import.importto, import.deletecontent, import.name, import.value, import.name1, import.value1, import.name2, import.value2);
                string createRequestImport = string.Format("https://lms.ectmoodle.ae/webservice/rest/server.php?wstoken={0}&wsfunction={1}&moodlewsrestformat=json", token, "core_course_import_course");
                // Call Moodle REST Service
                HttpWebRequest reqImport = (HttpWebRequest)WebRequest.Create(createRequestImport);
                reqImport.Method      = "POST";
                reqImport.ContentType = "application/x-www-form-urlencoded";
                // Encode the parameters as form data:
                byte[] formDataImport =
                    UTF8Encoding.UTF8.GetBytes(postImportData);
                reqImport.ContentLength = formDataImport.Length;

                // Write out the form Data to the request:
                using (Stream postImport = reqImport.GetRequestStream())
                {
                    postImport.Write(formDataImport, 0, formDataImport.Length);
                }
                // Get the Response
                HttpWebResponse respImport      = (HttpWebResponse)reqImport.GetResponse();
                Stream          resStreamImport = respImport.GetResponseStream();
                StreamReader    readerImport    = new StreamReader(resStreamImport);
                string          contentsImport  = readerImport.ReadToEnd();
                // Deserialize
                JavaScriptSerializer serializerImport = new JavaScriptSerializer();
                if (contentsImport.Contains("exception"))
                {
                    // Error
                    MoodleException moodleError = serializerImport.Deserialize <MoodleException>(contentsImport);
                    lbl_results.Text = contentsImport;
                }
                else
                {
                    // Good
                    //End Import Previous Course Contents to the Created Course Now
                    List <string> newImport = serializerImport.Deserialize <List <string> >(contentsImport);

                    //Start Check if any groups were present in the imported course or not; if yes delete all existing groups
                    MoodleGetCourseGroup GetCourse = new MoodleGetCourseGroup();
                    GetCourse.courseid = HttpUtility.UrlEncode(id);
                    List <MoodleGetCourseGroup> CourseGroupList = new List <MoodleGetCourseGroup>();
                    CourseGroupList.Add(GetCourse);
                    Array  arrCourseGroup           = CourseGroupList.ToArray();
                    String postCourseGroup          = String.Format("courseid={0}", GetCourse.courseid);
                    string createRequestCourseGroup = string.Format("https://lms.ectmoodle.ae/webservice/rest/server.php?wstoken={0}&wsfunction={1}&moodlewsrestformat=json", token, "core_group_get_course_groups");
                    // Call Moodle REST Service
                    HttpWebRequest reqCourseGroup = (HttpWebRequest)WebRequest.Create(createRequestCourseGroup);
                    reqCourseGroup.Method      = "POST";
                    reqCourseGroup.ContentType = "application/x-www-form-urlencoded";
                    // Encode the parameters as form data:
                    byte[] formCourseGroup =
                        UTF8Encoding.UTF8.GetBytes(postCourseGroup);
                    reqCourseGroup.ContentLength = formCourseGroup.Length;
                    // Write out the form Data to the request:
                    using (Stream postImportCourseGroup = reqCourseGroup.GetRequestStream())
                    {
                        postImportCourseGroup.Write(formCourseGroup, 0, formCourseGroup.Length);
                    }
                    // Get the Response
                    HttpWebResponse      respImportCourseGroup       = (HttpWebResponse)reqCourseGroup.GetResponse();
                    Stream               resStreamImportCourseGroup  = respImportCourseGroup.GetResponseStream();
                    StreamReader         readerImportCourseGroup     = new StreamReader(resStreamImportCourseGroup);
                    string               contentsImportCourseGroup   = readerImportCourseGroup.ReadToEnd();
                    JavaScriptSerializer serializerImportCourseGroup = new JavaScriptSerializer();
                    if (contentsImportCourseGroup.Contains("exception"))
                    {
                        // Error
                        MoodleException moodleError = serializerImportCourseGroup.Deserialize <MoodleException>(contentsImportCourseGroup);
                        lbl_results.Text = contentsImportCourseGroup;
                    }
                    else
                    {
                        // Good
                        List <MoodleGetCourseGroupResponse> newCourseGroup = serializer.Deserialize <List <MoodleGetCourseGroupResponse> >(contentsImportCourseGroup);
                        string groupid = "";
                        foreach (var value in newCourseGroup)
                        {
                            groupid = value.id;
                            //Start Delete Groups
                            MoodleDeleteGroup DeleteGroup = new MoodleDeleteGroup();
                            DeleteGroup.groupids = HttpUtility.UrlEncode(groupid);
                            List <MoodleDeleteGroup> DeleteGroupList = new List <MoodleDeleteGroup>();
                            DeleteGroupList.Add(DeleteGroup);
                            Array  arrDeleteGroup           = DeleteGroupList.ToArray();
                            String postDeleteGroup          = String.Format("groupids[0]={0}", DeleteGroup.groupids);
                            string createRequestDeleteGroup = string.Format("https://lms.ectmoodle.ae/webservice/rest/server.php?wstoken={0}&wsfunction={1}&moodlewsrestformat=json", token, "core_group_delete_groups");
                            // Call Moodle REST Service
                            HttpWebRequest reqDeleteGroup = (HttpWebRequest)WebRequest.Create(createRequestDeleteGroup);
                            reqDeleteGroup.Method      = "POST";
                            reqDeleteGroup.ContentType = "application/x-www-form-urlencoded";
                            // Encode the parameters as form data:
                            byte[] formDeleteGroup =
                                UTF8Encoding.UTF8.GetBytes(postDeleteGroup);
                            reqDeleteGroup.ContentLength = formDeleteGroup.Length;
                            // Write out the form Data to the request:
                            using (Stream postImportDeleteGroup = reqDeleteGroup.GetRequestStream())
                            {
                                postImportDeleteGroup.Write(formDeleteGroup, 0, formDeleteGroup.Length);
                            }
                            // Get the Response---
                            HttpWebResponse      respImportDeleteGroup       = (HttpWebResponse)reqDeleteGroup.GetResponse();
                            Stream               resStreamImportDeleteGroup  = respImportDeleteGroup.GetResponseStream();
                            StreamReader         readerImportDeleteGroup     = new StreamReader(resStreamImportDeleteGroup);
                            string               contentsImportDeleteGroup   = readerImportDeleteGroup.ReadToEnd();
                            JavaScriptSerializer serializerImportDeleteGroup = new JavaScriptSerializer();
                            if (contentsImportDeleteGroup.Contains("exception"))
                            {
                                // Error
                                MoodleException moodleError = serializerImportDeleteGroup.Deserialize <MoodleException>(contentsImportDeleteGroup);
                                lbl_results.Text = contentsImportDeleteGroup;
                            }
                            else
                            {
                                // Good
                                lbl_results.Text = "Course Created & Imported Successfuly-" + id + "/" + shortname + "";
                            }
                            //End Delete Groups
                        }
                    }
                }
            }
        }
Пример #10
0
        static void Main(string[] args)
        {
            String token = "7e708f0bf5b3911ace4e4922d220fbb0x";

            string base_url = @"http://moodle.apexnet.it";

            MoodleUser user = new MoodleUser();

            user.username  = HttpUtility.UrlEncode("mrossi");
            user.password  = HttpUtility.UrlEncode("fakepassword");
            user.firstname = HttpUtility.UrlEncode("Mario");
            user.lastname  = HttpUtility.UrlEncode("Rossi");
            user.email     = HttpUtility.UrlEncode("*****@*****.**");

            List <MoodleUser> userList = new List <MoodleUser>();

            userList.Add(user);

            Array arrUsers = userList.ToArray();

            String postData = String.Format("users[0][username]={0}&users[0][password]={1}&users[0][firstname]={2}&users[0][lastname]={3}&users[0][email]={4}", user.username, user.password, user.firstname, user.lastname, user.email);

            string createRequest = string.Format(base_url + "/webservice/rest/server.php?wstoken={0}&wsfunction={1}&moodlewsrestformat=json", token, "core_user_create_users");

            // Call Moodle REST Service
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(createRequest);

            req.Method      = "POST";
            req.ContentType = "application/x-www-form-urlencoded";

            // Encode the parameters as form data:
            byte[] formData = UTF8Encoding.UTF8.GetBytes(postData);
            req.ContentLength = formData.Length;

            // Write out the form Data to the request:
            using (Stream post = req.GetRequestStream())
            {
                post.Write(formData, 0, formData.Length);
            }


            // Get the Response
            HttpWebResponse resp      = (HttpWebResponse)req.GetResponse();
            Stream          resStream = resp.GetResponseStream();
            StreamReader    reader    = new StreamReader(resStream);
            string          contents  = reader.ReadToEnd();

            // Deserialize
            JsonSerializer serializer = new JsonSerializer();

            if (contents.Contains("exception"))
            {
                // Error
                MoodleException moodleError = JsonConvert.DeserializeObject <MoodleException>(contents);
            }
            else
            {
                // Success
                List <MoodleCreateUserResponse> newUsers = JsonConvert.DeserializeObject <List <MoodleCreateUserResponse> >(contents);
            }
        }
Пример #11
0
        protected void btn_Create_Click(object sender, EventArgs e)
        {
            //Start Check if user exists or not
            string get_users = core_user_get_users("firstname", txt_Username.Text.Trim());
            // Deserialize
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            if (get_users.Contains("exception"))
            {
                // Error
                MoodleException moodleError = serializer.Deserialize <MoodleException>(get_users);
                lbl_results.Text = get_users;
            }
            else
            {
                // Good
                Root myDeserializedClass = JsonConvert.DeserializeObject <Root>(get_users);
                if (myDeserializedClass.users.Count > 0)
                {
                    string firstname = myDeserializedClass.users[0].firstname;
                    if (txt_Username.Text.Trim() == firstname)
                    {
                        lbl_results.Text = "User Exists Already";
                    }
                    else
                    {
                        //If user not exists then create a new user with below parameters;
                        string created_user = core_user_create_users(txt_Username.Text.Trim(), txt_Password.Text.Trim(), txt_FirstName.Text.Trim(), txt_LastName.Text.Trim(), txt_Email.Text.Trim(), txt_Auth.Text.Trim(), txt_Mailformat.Text.Trim(), txt_Description.Text.Trim(), txt_City.Text.Trim(), txt_Country.Text.Trim(), txt_firstnamephonetic.Text.Trim(), txt_lastnamephonetic.Text.Trim(), txt_middlename.Text.Trim(), txt_alternatename.Text.Trim());
                        // Deserialize
                        JavaScriptSerializer serializercreated_user = new JavaScriptSerializer();
                        if (created_user.Contains("exception"))
                        {
                            // Error
                            MoodleException moodleError = serializercreated_user.Deserialize <MoodleException>(created_user);
                            lbl_results.Text = created_user;
                        }
                        else
                        {
                            List <MoodleCreatedUSer> newImport = serializercreated_user.Deserialize <List <MoodleCreatedUSer> >(created_user);
                            lbl_results.Text = "User Created Successfully";
                        }
                    }
                }
                else
                {
                    //If user not exists then create a new user with below parameters;
                    string created_user = core_user_create_users(txt_Username.Text.Trim(), txt_Password.Text.Trim(), txt_FirstName.Text.Trim(), txt_LastName.Text.Trim(), txt_Email.Text.Trim(), txt_Auth.Text.Trim(), txt_Mailformat.Text.Trim(), txt_Description.Text.Trim(), txt_City.Text.Trim(), txt_Country.Text.Trim(), txt_firstnamephonetic.Text.Trim(), txt_lastnamephonetic.Text.Trim(), txt_middlename.Text.Trim(), txt_alternatename.Text.Trim());
                    // Deserialize
                    JavaScriptSerializer serializercreated_user = new JavaScriptSerializer();
                    if (created_user.Contains("exception"))
                    {
                        // Error
                        MoodleException moodleError = serializercreated_user.Deserialize <MoodleException>(created_user);
                        lbl_results.Text = created_user;
                    }
                    else
                    {
                        List <MoodleCreatedUSer> newImport = serializercreated_user.Deserialize <List <MoodleCreatedUSer> >(created_user);
                        lbl_results.Text = "User Created Successfully";
                    }
                }
            }
        }