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(); } }
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(); }