public List <List <List <Day> > > GetAttendances(string link) { var calendarList = new List <List <List <Day> > >(); var documentList = new List <HtmlDocument>(); var data = RequestData.GetData(_httpClient, link, ResponseType.MonthlyView, "Attendance"); var htmlDocument = new HtmlDocument(); htmlDocument.LoadHtml(data.Result); var form = new AttendanceForm(htmlDocument); var monthKeys = form.MonthKeys(); foreach (var key in monthKeys) { var body = form.GenerateFormBody(key); var response = RequestData.GetDataWithBody(_httpClient, link, ResponseType.MonthlyView, body, "Attendance"); var doc = new HtmlDocument(); doc.LoadHtml(response.Result); documentList.Add(doc); } foreach (var document in documentList) { var calendar = new List <List <Day> >(); var attendanceTable = document.GetElementbyId("plnMain_cldAttendance"); var weeks = attendanceTable.ChildNodes.ToList(); weeks.RemoveRange(0, 3); weeks.RemoveRange(weeks.Count - 2, 2); foreach (var week in weeks) { var calendarWeek = new List <Day>(); foreach (var(item, index) in week.ChildNodes.WithIndex()) { if (!int.TryParse(item.InnerText, out var date)) { break; } var attendances = new List <AttendanceRecord>(); var dayAttrs = item.Attributes; if (dayAttrs.Contains("title")) { var records = dayAttrs["title"].Value; foreach (var line in new LineReader(() => new StringReader(records))) { if (attendances[^ 1].Reason == null)
/// <summary> /// Method that open a window based on who press the button of a course (ModifyCourse for the admin, Attendace for the Faculty, Incoming assesment for the Student) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void label_Click(object sender, System.EventArgs e) { if (status == "Admin") { ButtonClass b = sender as ButtonClass; Course c = b.course; ModifyCourseWindow modifyWin = new ModifyCourseWindow(connection, c); modifyWin.Show(); } else if (status == "Teacher") { ButtonClass b = sender as ButtonClass; Course c = b.course; AttendanceForm attendance = new AttendanceForm(connection, c); attendance.Show(); } else if (status == "Student") { ButtonClass b = sender as ButtonClass; Course c = b.course; String query = " SELECT * FROM grade WHERE studentID='" + user.ID + "' AND Subject ='" + c.name + "'"; DataTable dt = new DataTable(); MySqlDataAdapter SDA = new MySqlDataAdapter(query, connection); SDA.Fill(dt); string assesment = ""; for (int i = 0; i < dt.Rows.Count; i++) { DateTime date = Convert.ToDateTime(dt.Rows[i]["Date"].ToString()); assesment += date.ToString("yyyy-MM-dd") + ": " + dt.Rows[i]["AssesmentName"].ToString() + "\n"; } if (assesment == "") { assesment = "There is no assesment yet in this subject."; } MessageBox.Show(assesment); } }
internal void FormClosing(AttendanceForm attendanceForm) { MainCoordinator.Instance.OpenForm(new TeacherChooseSchoolClassForm(), attendanceForm); }