Пример #1
0
        static void Main(string[] args)
        {
            SusiParser parser = new SusiParser();
            parser.Login("nikola1", File.ReadAllText(passwordFile).Trim());
            string examPage = parser.GetExamPage();

            HtmlDocument document = new HtmlDocument();
            document.LoadHtml(examPage);

            string xpath = @"//table";////table";//[width=""100%""]";//tr[@class!=""greyType2""]";

            HtmlNodeCollection nodes = document.DocumentNode.SelectNodes(xpath);

            foreach (var node in nodes)
            {
                var children = node.SelectNodes(xpath);
                foreach (var child in children)
                {

                    Console.WriteLine(child.OuterHtml);
                }
            }

            //HtmlNode current = document.DocumentNode;
            //List<HtmlNode> tables = new List<HtmlNode>();
            //foreach (var node in current.ChildNodes)
            //{
            //	if (node.NodeType == HtmlNodeType.Element && node.
            //}
        }
Пример #2
0
        public void UpdateSusi(LoginModel model)
        {
            if (ModelState.IsValid)
            {
                if (WebSecurity.Login(model.UserName, model.Password))
                {
                    try
                    {
                        // get SUSI info
                        SusiParser.SusiParser parser = new SusiParser.SusiParser();
                        parser.Login(model.UserName, model.Password);
                        StudentInfo info = parser.GetStudentInfo();
                        IEnumerable <CourseInfo> courses = parser.GetCourses();

                        // Fill info
                        int userId = int.Parse(Membership.GetUser(model.UserName).ProviderUserKey.ToString());
                        studentManager.FillInSusiInfo(studentManager.GetStudentByUserId(userId), info, courses);
                    }
                    catch (MembershipCreateUserException e)
                    {
                        ModelState.AddModelError("", e.Message);
                        Debug.WriteLine(e.Message);
                    }
                    catch (System.Net.WebException e)
                    {
                        ModelState.AddModelError("", e.Message);
                        Debug.WriteLine(e.Message);
                    }
                }
                else
                {
                    Response.StatusCode = 400;
                }
            }
        }
Пример #3
0
        static void Main(string[] args)
        {
            SusiParser parser = new SusiParser();

            parser.Login("nikola1", File.ReadAllText(passwordFile).Trim());
            string examPage = parser.GetExamPage();

            HtmlDocument document = new HtmlDocument();

            document.LoadHtml(examPage);


            string xpath = @"//table";            ////table";//[width=""100%""]";//tr[@class!=""greyType2""]";

            HtmlNodeCollection nodes = document.DocumentNode.SelectNodes(xpath);

            foreach (var node in nodes)
            {
                var children = node.SelectNodes(xpath);
                foreach (var child in children)
                {
                    Console.WriteLine(child.OuterHtml);
                }
            }

            //HtmlNode current = document.DocumentNode;
            //List<HtmlNode> tables = new List<HtmlNode>();
            //foreach (var node in current.ChildNodes)
            //{
            //	if (node.NodeType == HtmlNodeType.Element && node.
            //}
        }
Пример #4
0
        public ActionResult LoginAsStudent(LoginModel model, string returnUrl)
        {
            if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
            {
                return(RedirectToLocal(returnUrl));
            }
            else if (ModelState.IsValid && !WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
            {
                try
                {
                    // get SUSI info
                    SusiParser.SusiParser parser = new SusiParser.SusiParser();
                    parser.Login(model.UserName, model.Password);
                    StudentInfo info = parser.GetStudentInfo();
                    IEnumerable <CourseInfo> courses = parser.GetCourses();

                    // Create user in local database
                    WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
                    WebSecurity.Login(model.UserName, model.Password);

                    // Fill info
                    int userId = int.Parse(Membership.GetUser(model.UserName).ProviderUserKey.ToString());
                    studentManager.AddStudent(userId, info, courses, model.UserName);

                    var roles = (SimpleRoleProvider)Roles.Provider;
                    roles.AddUsersToRoles(new[] { model.UserName }, new[] { "student" });

                    if (returnUrl != null)
                    {
                        return(Redirect(returnUrl));
                    }

                    return(RedirectToAction("Profile", "Student", new { profileId = userId }));
                }
                catch (MembershipCreateUserException e)
                {
                    ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
                    Debug.WriteLine(e.Message);
                }
                catch (System.Net.WebException e)
                {
                    ModelState.AddModelError("", e.Message);
                    Debug.WriteLine(e.Message);
                }
            }

            // If we got this far, something failed, redisplay form
            ModelState.AddModelError("", "The user name or password provided is incorrect.");
            return(View("LoginAsStudent", model));
        }
Пример #5
0
        public ActionResult LoginAsStudent(LoginModel model, string returnUrl)
        {
            if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
            {
                return RedirectToLocal(returnUrl);
            }
            else if (ModelState.IsValid && !WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
            {
                try
                {
                    // get SUSI info
                    SusiParser.SusiParser parser = new SusiParser.SusiParser();
                    parser.Login(model.UserName, model.Password);
                    StudentInfo info = parser.GetStudentInfo();
                    IEnumerable<CourseInfo> courses = parser.GetCourses();

                    // Create user in local database
                    WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
                    WebSecurity.Login(model.UserName, model.Password);

                    // Fill info
                    int userId = int.Parse(Membership.GetUser(model.UserName).ProviderUserKey.ToString());
                    studentManager.AddStudent(userId, info, courses, model.UserName);

                    var roles = (SimpleRoleProvider)Roles.Provider;
                    roles.AddUsersToRoles(new[] { model.UserName }, new[] { "student" });

                    if (returnUrl != null)
                    {
                        return Redirect(returnUrl);
                    }

                    return RedirectToAction("Profile", "Student", new { profileId = userId });
                }
                catch (MembershipCreateUserException e)
                {
                    ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
                    Debug.WriteLine(e.Message);
                }
                catch (System.Net.WebException e)
                {
                    ModelState.AddModelError("", e.Message);
                    Debug.WriteLine(e.Message);
                }
            }

            // If we got this far, something failed, redisplay form
            ModelState.AddModelError("", "The user name or password provided is incorrect.");
            return View("LoginAsStudent", model);
        }
Пример #6
0
        public void UpdateSusi(LoginModel model)
        {
            if (ModelState.IsValid)
            {
                if (WebSecurity.Login(model.UserName, model.Password))
                {
                    try
                    {
                        // get SUSI info
                        SusiParser.SusiParser parser = new SusiParser.SusiParser();
                        parser.Login(model.UserName, model.Password);
                        StudentInfo info = parser.GetStudentInfo();
                        IEnumerable<CourseInfo> courses = parser.GetCourses();

                        // Fill info
                        int userId = int.Parse(Membership.GetUser(model.UserName).ProviderUserKey.ToString());
                        studentManager.FillInSusiInfo(studentManager.GetStudentByUserId(userId), info, courses);
                    }
                    catch (MembershipCreateUserException e)
                    {
                        ModelState.AddModelError("", e.Message);
                        Debug.WriteLine(e.Message);
                    }
                    catch (System.Net.WebException e)
                    {
                        ModelState.AddModelError("", e.Message);
                        Debug.WriteLine(e.Message);
                    }
                }
                else
                {
                    Response.StatusCode = 400;
                }
            }
        }