/// <summary> /// kiểm tra buổi học đó có bị trùng hay không /// </summary> /// <param name="ngayHoc">Ngày học</param> /// <param name="buoihoc">Buổi học</param> /// <returns></returns> public bool TrungBuoiHoc(NgayHoc ngayHoc, BuoiHoc buoihoc) { foreach (var bHoc in ngayHoc.BuoiHocs) { if (bHoc.TietHocBatDau < buoihoc.TietHocBatDau) { if (bHoc.TietHocKetThuc > bHoc.TietHocBatDau) { return(true); } } else if (bHoc.TietHocBatDau < bHoc.TietHocKetThuc) { return(true); } } return(false); }
/// <summary> /// lấy ngày học theo môn /// </summary> /// <param name="monHoc">môn học</param> public void GetNgayHocTheoMon(MonHoc monHoc) { string url = string.Format("http://dlu.edu.vn/timetable_display.aspx?course={0}&subjectcode={1}&week={2}", Lop, monHoc.MaMonHoc, Tuan); string content = WebRequestcCT.GetContent(url); var document = new HtmlDocument(); document.LoadHtml(content.Replace("\t", "")); int i = 1; foreach (HtmlNode doc in document.DocumentNode.SelectNodes("//*[@width='14%']")) { i++; var newdoc = new HtmlDocument(); newdoc.LoadHtml(doc.InnerHtml); var listbuoihoc = new List<BuoiHoc>(); HtmlNodeCollection tdtext = newdoc.DocumentNode.SelectNodes("//td"); if (tdtext == null) continue; foreach (HtmlNode textdoc in tdtext) { if (!string.IsNullOrEmpty(textdoc.InnerHtml)) { string text = textdoc.InnerHtml.Replace("<br><br>", "<br>"); string[] arr = Regex.Split(text, "<br>").Where(x => x != "").ToArray(); var buoiHoc = new BuoiHoc(); buoiHoc.MonHoc = monHoc; MatchCollection arr2 = Regex.Matches(arr[2], @"\d{1,}"); buoiHoc.TietHocBatDau = int.Parse(arr2[0].Value); buoiHoc.TietHocKetThuc = int.Parse(arr2[1].Value); // chua test duoc co trung lich hay khong NgayHoc ngay = ListNgayHoc.FirstOrDefault(x => x.Thu == i); if (ngay == null) buoiHoc.TrungLich = false; else buoiHoc.TrungLich = TrungBuoiHoc(ngay, buoiHoc); buoiHoc.PhongHoc = arr[3]; listbuoihoc.Add(buoiHoc); } } if (ListNgayHoc.All(x => x.Thu != i)) { var ngayHoc = new NgayHoc { Thu = i, BuoiHocs = listbuoihoc }; ListNgayHoc.Add(ngayHoc); } else { ListNgayHoc.First(x=>x.Thu==i).BuoiHocs.AddRange(listbuoihoc); } } }
/// <summary> /// kiểm tra buổi học đó có bị trùng hay không /// </summary> /// <param name="ngayHoc">Ngày học</param> /// <param name="buoihoc">Buổi học</param> /// <returns></returns> public bool TrungBuoiHoc(NgayHoc ngayHoc, BuoiHoc buoihoc) { foreach (var bHoc in ngayHoc.BuoiHocs) { if (bHoc.TietHocBatDau < buoihoc.TietHocBatDau) { if (bHoc.TietHocKetThuc > bHoc.TietHocBatDau) return true; } else if(bHoc.TietHocBatDau<bHoc.TietHocKetThuc) return true; } return false; }
/// <summary> /// lấy ngày học theo môn /// </summary> /// <param name="monHoc">môn học</param> public void GetNgayHocTheoMon(MonHoc monHoc) { string url = string.Format("http://dlu.edu.vn/timetable_display.aspx?course={0}&subjectcode={1}&week={2}", Lop, monHoc.MaMonHoc, Tuan); string content = WebRequestcCT.GetContent(url); var document = new HtmlDocument(); document.LoadHtml(content.Replace("\t", "")); int i = 1; foreach (HtmlNode doc in document.DocumentNode.SelectNodes("//*[@width='14%']")) { i++; var newdoc = new HtmlDocument(); newdoc.LoadHtml(doc.InnerHtml); var listbuoihoc = new List <BuoiHoc>(); HtmlNodeCollection tdtext = newdoc.DocumentNode.SelectNodes("//td"); if (tdtext == null) { continue; } foreach (HtmlNode textdoc in tdtext) { if (!string.IsNullOrEmpty(textdoc.InnerHtml)) { string text = textdoc.InnerHtml.Replace("<br><br>", "<br>"); string[] arr = Regex.Split(text, "<br>").Where(x => x != "").ToArray(); var buoiHoc = new BuoiHoc(); buoiHoc.MonHoc = monHoc; MatchCollection arr2 = Regex.Matches(arr[2], @"\d{1,}"); buoiHoc.TietHocBatDau = int.Parse(arr2[0].Value); buoiHoc.TietHocKetThuc = int.Parse(arr2[1].Value); // chua test duoc co trung lich hay khong NgayHoc ngay = ListNgayHoc.FirstOrDefault(x => x.Thu == i); if (ngay == null) { buoiHoc.TrungLich = false; } else { buoiHoc.TrungLich = TrungBuoiHoc(ngay, buoiHoc); } buoiHoc.PhongHoc = arr[3]; listbuoihoc.Add(buoiHoc); } } if (ListNgayHoc.All(x => x.Thu != i)) { var ngayHoc = new NgayHoc { Thu = i, BuoiHocs = listbuoihoc }; ListNgayHoc.Add(ngayHoc); } else { ListNgayHoc.First(x => x.Thu == i).BuoiHocs.AddRange(listbuoihoc); } } }