public JsonResult LocTKBTHeoTuan(string tuan)
        {
            if (Session["MaGV"] != null)
            {
                MonHocBLL           contextMH = new MonHocBLL();
                SupportThoiKhoaBieu spTKB     = new SupportThoiKhoaBieu();
                GiangVienBLL        contextSV = new GiangVienBLL();
                KhoaBLL             contextK  = new KhoaBLL();
                GiangVien           giangVien = contextSV.GetById(Session["MaGV"].ToString().Trim());
                giangVien.Khoa = contextK.GetById(giangVien.MaKhoa);

                ViewData["TrinhDo"]  = giangVien.TrinhDo;
                ViewData["Khoa"]     = giangVien.Khoa.TenKhoa;
                ViewData["GioiTinh"] = giangVien.GioiTinh;
                ViewData["Email"]    = giangVien.Email;

                GiangVienModel gvModel    = new GiangVienModel();
                LopTinChiBLL   contextLTC = new LopTinChiBLL();
                gvModel.LopTinChis = contextLTC.GetByMaGV(giangVien.MaGV);

                List <SupportThoiKhoaBieu> lstSPTKB = spTKB.GetListSPTKB(tuan, gvModel.LopTinChis);
                return(Json(new { ListData = lstSPTKB }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { msg = "Bạn không có quyền xem lịch giảng!" }));
        }
        public JsonResult LocTKBTHeoTuan(string tuan)
        {
            if (Session["MaSV"] != null)
            {
                MonHocBLL           contextMH  = new MonHocBLL();
                SupportThoiKhoaBieu spTKB      = new SupportThoiKhoaBieu();
                SinhVienBLL         contextSV  = new SinhVienBLL();
                SinhVien            sv         = contextSV.GetById(Session["MaSV"].ToString().Trim());
                HeDaoTaoBLL         contextHDT = new HeDaoTaoBLL();
                List <SinhVien>     lstSV      = contextSV.GetAll();
                foreach (SinhVien sv1 in lstSV)
                {
                    if (sv1.MaSV == sv.MaSV)
                    {
                        sv = sv1;
                    }
                }
                ViewData["MaLop"] = sv.MaLop;
                ViewData["HDT"]   = contextHDT.GetById(sv.Lop.MaHDT).TenHDT;
                ViewData["Khoa"]  = sv.Lop.NienKhoa;

                List <SupportThoiKhoaBieu> lstSPTKB = spTKB.GetListSPTKB(tuan, sv.LopTinChis);
                return(Json(new { ListData = lstSPTKB }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { msg = "Bạn không có quyền xem thời khóa biểu!" }));
        }
        public ActionResult Index()
        {
            Date            dt         = new Date();
            DateTime        dtNow      = DateTime.UtcNow;
            ThoiKhoaBieuBLL contextTKB = new ThoiKhoaBieuBLL();
            LopTinChiBLL    contextLTC = new LopTinChiBLL();
            GiangVienBLL    contextGV  = new GiangVienBLL();
            KhoaBLL         contextK   = new KhoaBLL();
            GiangVien       giangVien  = contextGV.GetById(Session["MaGV"].ToString().Trim());

            giangVien.Khoa = contextK.GetById(giangVien.MaKhoa);

            ViewData["TrinhDo"]  = giangVien.TrinhDo;
            ViewData["Khoa"]     = giangVien.Khoa.TenKhoa;
            ViewData["GioiTinh"] = giangVien.GioiTinh;
            ViewData["Email"]    = giangVien.Email;

            // lấy danh sách tuần của năm hiện tại
            List <string> lstTuan    = dt.GetListDate(dtNow.Year);
            List <string> lstTuanNew = dt.GetListDate(dtNow.Year + 1);

            //gán list các tuần vào selectList
            List <SelectListItem> weeks = lstTuan.Concat(lstTuanNew).Select(x => new SelectListItem()
            {
                Value = x, Text = x
            }).ToList();
            int tuan = 0;

            for (int i = 0; i < lstTuan.Count; i++)
            {
                // Lấy datetime từ list Tuần và format về "dd/mm/yy"
                DateTime tempDTStart = DateTime.Parse(lstTuan[i].Split('-')[1], new CultureInfo("en-US"));
                DateTime tempDTEnd   = DateTime.Parse(lstTuan[i].Split('-')[3], new CultureInfo("en-US"));
                // kiểm tra ngày hiện tại có thuộc tuần i không, nếu có lưu lại và thoát vòng lặp
                if (dtNow.DayOfYear >= tempDTStart.DayOfYear && dtNow.DayOfYear <= tempDTEnd.DayOfYear)
                {
                    tuan = i;
                    break;
                }
            }
            //Gán list tuần vào viewbag
            ViewBag.Weeks       = new SelectList(weeks, "Text", "Value", tuan);
            ViewBag.WeekCurrent = lstTuan[tuan];

            SupportThoiKhoaBieu spTKB          = new SupportThoiKhoaBieu();
            GiangVienModel      giangVienModel = new GiangVienModel();

            giangVienModel.LopTinChis = contextLTC.GetByMaGV(giangVien.MaGV);
            //lọc các lớp tín chỉ đang mở và có thời khóa biểu trong tuần hiện tại.
            List <SupportThoiKhoaBieu> lstSPTKB = spTKB.GetListSPTKB(lstTuan[tuan], giangVienModel.LopTinChis);

            return(View(lstSPTKB));
        }
        public ActionResult Index()
        {
            HeDaoTaoBLL         contextHDT = new HeDaoTaoBLL();
            MonHocBLL           contextMH  = new MonHocBLL();
            ThoiKhoaBieuBLL     contextTKB = new ThoiKhoaBieuBLL();
            SinhVienBLL         contextSV  = new SinhVienBLL();
            SinhVien            sv         = contextSV.GetById(Session["MaSV"].ToString().Trim());
            SupportThoiKhoaBieu spTKB      = new SupportThoiKhoaBieu();
            List <SinhVien>     lstSV      = contextSV.GetAll();

            foreach (SinhVien sv1 in lstSV)
            {
                if (sv1.MaSV == sv.MaSV)
                {
                    sv = sv1;
                }
            }
            ViewData["MaLop"] = sv.MaLop;
            ViewData["HDT"]   = contextHDT.GetById(sv.Lop.MaHDT).TenHDT;
            ViewData["Khoa"]  = sv.Lop.NienKhoa;
            //sv.LopTinChis
            // lấy số tuần của năm và list ngày BD , KT của từng tuần lưu vào selectList
            Date          dt         = new Date();
            DateTime      dtNow      = DateTime.UtcNow;
            List <string> lstTuan    = dt.GetListDate(dtNow.Year);
            List <string> lstTuanNew = dt.GetListDate(dtNow.Year + 1);

            lstTuan.AddRange(lstTuanNew);
            //gán list các tuần vào selectList
            List <SelectListItem> weeks = lstTuan.Select(x => new SelectListItem()
            {
                Value = x, Text = x
            }).ToList();
            //Xem ngày hiện tại thuộc tuần nào trong năm
            int tuan = 0;

            for (int i = 0; i < lstTuan.Count; i++)
            {
                DateTime tempDTStart = new DateTime();
                DateTime tempDTEnd   = new DateTime();
                // Lấy datetime từ list Tuần và format về "dd/mm/yy"
                tempDTStart = DateTime.Parse(lstTuan[i].Split('-')[1], new CultureInfo("en-US"));
                tempDTEnd   = DateTime.Parse(lstTuan[i].Split('-')[3], new CultureInfo("en-US"));
                if (dtNow.DayOfYear >= tempDTStart.DayOfYear && dtNow.DayOfYear <= tempDTEnd.DayOfYear)
                {
                    tuan = i;
                    break;
                }
            }
            //Gán list tuần vào viewbag
            ViewBag.Weeks       = new SelectList(weeks, "Text", "Value", tuan);
            ViewBag.WeekCurrent = lstTuan[tuan];
            //lọc các lớp tín chỉ mở mới xem thời khóa biểu;
            LopTinChiBLL contextLTC = new LopTinChiBLL();

            sv.LopTinChis = contextLTC.GetListLTCOpen(sv.LopTinChis);
            //// lấy thời khóa biểu của tất cả các lớp mà sinh viên đã đăng ký cùng với môn học của lớp tín chỉ
            List <SupportThoiKhoaBieu> lstSPTKB = spTKB.GetListSPTKB(lstTuan[tuan], sv.LopTinChis);

            return(View(lstSPTKB));
        }