Exemplo n.º 1
0
        internal void QueryByClass()
        {
            Console.Clear();
            string classNum      = string.Empty;
            int    stuNum        = 0;
            bool   inputValidate = false;

            while (!inputValidate)
            {
                Console.Write("输入班级行政号 : ");
                classNum = Console.ReadLine();
                if (classNum.Length > 7 || classNum.Length < 6)
                {
                    WriteLine("班级行政号只可能是6位或者7位!");
                    inputValidate = false;
                    continue;
                }

                Console.Write("输入班级人数 : ");
                if (!int.TryParse(Console.ReadLine(), out stuNum))
                {
                    WriteLine("班级人数输入有误!");
                    inputValidate = false;
                    continue;
                }
                inputValidate = true;
            }
            Console.WriteLine();

            MAttendenceCrawler crawler = new MAttendenceCrawler();

            try
            {
                IEnumerable <ExpandoObject> datas = crawler.GetMAttendenceData(classNum, stuNum);
                datas = datas.OrderBy(
                    d => d.FirstOrDefault(s => s.Key == "学号").Value as string, StringComparer.OrdinalIgnoreCase).ToList();

                foreach (dynamic d in datas)
                {
                    Console.WriteLine(MAttendenceCrawler.DataToString(d));
                }
            }
            catch (LoginException e)
            {
                WriteLine("获取信息失败,请检查网络连接和班级行政代码是否正确.内部错误信息 : " + e.Message);
            }
            catch (Exception e)
            {
                WriteLine("获取信息失败,请检查网络连接和班级行政代码是否正确.内部错误信息 : " + e.Message);
            }
            finally
            {
                Console.ReadKey();
            }
        }
Exemplo n.º 2
0
        internal void QueryByPerson()
        {
            Console.Clear();
            GetUserInfo(out string number, out string pwd);
            MAttendenceCrawler crawler = new MAttendenceCrawler();

            try
            {
                dynamic data    = crawler.GetMAttendenceData(number, pwd);
                string  dataStr = MAttendenceCrawler.DataToString(data);
                Console.WriteLine(dataStr);
            }
            catch (LoginException loginEx)
            {
                WriteLine("登录失败 : " + loginEx.Message);
            }
            catch (WebException ex)
            {
                WriteLine("获取信息失败 : " + ex.Message);
            }

            Console.ReadKey();
        }