Example #1
0
        /// <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);
                }
            }
        }
Example #2
0
 /// <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;
 }