示例#1
0
 public void TestMethod1()
 {
     ThoiKhoaBieuBLL dt    = new ThoiKhoaBieuBLL();
     DateTime        dtime = DateTime.UtcNow;
     DateTime        newdt = dtime.AddDays(28);
     // dt.GetByMaGV("GV01");
 }
        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 Create()
        {
            ThoiKhoaBieuBLL     contextTKB = new ThoiKhoaBieuBLL();
            List <ThoiKhoaBieu> lstTKB     = contextTKB.GetAll();
            GiangVienBLL        contextGV  = new GiangVienBLL();
            MonHocBLL           contextMH  = new MonHocBLL();

            List <GiangVienModel> listGVModel = contextGV.GetAll().Select(x => new GiangVienModel
            {
                Email      = x.Email,
                GioiTinh   = x.GioiTinh,
                HoVaTenLot = x.HoVaTenLot,
                MaGV       = x.MaGV,
                MaKhoa     = x.MaKhoa,
                MatKhau    = x.MatKhau,
                NgaySinh   = x.NgaySinh,
                SDT        = x.SDT,
                TenGV      = x.TenGV,
                TrinhDo    = x.TrinhDo
            }).ToList();
            List <MonHocModel> listMH = contextMH.GetAll().Select(x => new MonHocModel
            {
                MaMH             = x.MaMH,
                SoTinChiLyThuyet = x.SoTinChiLyThuyet,
                SoTinChiThucHanh = x.SoTinChiThucHanh,
                TenMH            = x.TenMH
            }).ToList();
            List <LopTinChi> lstLTC = contextLTC.GetAll();

            lstLTC = contextLTC.GetListLTCOpen(lstLTC);

            List <LopTinChi> lstLTCNew = new List <LopTinChi>();

            foreach (LopTinChi item in lstLTC)
            {
                var query = lstTKB.Where(x => x.MaLopTC == item.MaLopTC).FirstOrDefault();
                if (query == null)
                {
                    lstLTCNew.Add(item);
                }
            }

            SelectList selectList = new SelectList(lstLTCNew, "MaLopTC", "MaLopTC");

            ViewBag.GiangVienModel = new SelectList(listGVModel, "MaGV", "TenDayDu");
            ViewBag.MonHocModels   = new SelectList(listMH, "MaMH", "TenMH");
            ViewBag.LopTCDuocMo    = selectList;
            ViewBag.MaLopTC        = new SelectList(lstLTC, "MaLopTC", "MaLopTC");
            return(View());
        }
        public JsonResult GetThoiKhoaBieuGiangVien(string maGiangVien)
        {
            DateTime                 dtNow      = DateTime.UtcNow;
            LopTinChiBLL             contextLTC = new LopTinChiBLL();
            ThoiKhoaBieuBLL          contextTKB = new ThoiKhoaBieuBLL();
            List <ThoiKhoaBieuModel> lichGV     = new List <ThoiKhoaBieuModel>();
            List <LopTinChi>         listGV     = contextLTC.GetByMaGV(maGiangVien);

            //duyệt tất cả lớp tín chỉ cua rgiangr viên đang dạy.
            foreach (LopTinChi item in listGV)
            {
                if (item.TrangThai == true)
                {
                    List <ThoiKhoaBieu> listTKB = contextTKB.GetByMaLopTC(item.MaLopTC);
                    if (listTKB != null)
                    {
                        foreach (ThoiKhoaBieu tkb in listTKB)
                        {
                            if (tkb.Ngay.Year == dtNow.Year)
                            {
                                ThoiKhoaBieuModel tkbModel = new ThoiKhoaBieuModel
                                {
                                    Buoi    = tkb.Buoi,
                                    MaLopTC = tkb.MaLopTC,
                                    Ngay    = tkb.Ngay,
                                    TietBD  = tkb.TietBD
                                };
                                lichGV.Add(tkbModel);
                            }
                            if (tkb.Ngay.Year > dtNow.Year)
                            {
                                ThoiKhoaBieuModel tkbModel = new ThoiKhoaBieuModel
                                {
                                    Buoi    = tkb.Buoi,
                                    MaLopTC = tkb.MaLopTC,
                                    Ngay    = tkb.Ngay,
                                    TietBD  = tkb.TietBD
                                };
                                lichGV.Add(tkbModel);
                            }
                        }
                    }
                }
            }
            if (listGV.Count == 0)
            {
                return(Json(new { result = "Giảng viên trống lịch trong thời gian tới !" }));
            }
            return(Json(new { lich = lichGV }));
        }
        public JsonResult GetListLopTheoGiangVienMonHoc(string maGiangVien, string maMonHoc, string nienKhoa, int hocKy)
        {
            if (string.IsNullOrEmpty(maGiangVien) || string.IsNullOrEmpty(maMonHoc))
            {
                return(Json(new { msg = "Lỗi !" }));
            }
            NienKhoaHocKyBLL    contextNKHK  = new NienKhoaHocKyBLL();
            ThoiKhoaBieuBLL     contextTKB   = new ThoiKhoaBieuBLL();
            List <ThoiKhoaBieu> lstTKB       = contextTKB.GetAll();
            LopTinChiBLL        contextLTC   = new LopTinChiBLL();
            List <LopTinChi>    lstLTCResult = new List <LopTinChi>();
            var listLopTC = contextLTC.GetByMaGVVaMaMH(maGiangVien, maMonHoc);
            List <LopTinChi> lstLTCNew = new List <LopTinChi>();

            foreach (LopTinChi item in listLopTC)
            {
                var query = lstTKB.Where(x => x.MaLopTC == item.MaLopTC).FirstOrDefault();
                if (query == null)
                {
                    lstLTCNew.Add(item);
                }
            }
            if (lstLTCNew.Count > 0)
            {
                foreach (var item in lstLTCNew)
                {
                    NienKhoaHocKy nkhk = contextNKHK.GetById(item.NienKhoa);
                    if (nkhk.NienKhoa == nienKhoa && nkhk.HocKy == hocKy)
                    {
                        lstLTCResult.Add(item);
                    }
                }
                List <int> listMaLopTC = lstLTCResult.Select(x => x.MaLopTC).ToList();
                return(Json(new { msg = listMaLopTC }));
            }
            return(Json(new { msg = "Không có lớp tín chỉ nào!" }));
        }
示例#6
0
        public List <SupportThoiKhoaBieu> GetListSPTKB(string tuan, ICollection <LopTinChi> lopTCs)
        {
            List <SupportThoiKhoaBieu> lstSPTKB   = new List <SupportThoiKhoaBieu>();
            ThoiKhoaBieuBLL            contextTKB = new ThoiKhoaBieuBLL();
            DateTime  dtStart   = DateTime.Parse(tuan.Split('-')[1].ToString().Trim(), new CultureInfo("en-US"));
            DateTime  dtEnd     = DateTime.Parse(tuan.Split('-')[3].ToString().Trim(), new CultureInfo("en-US"));
            MonHocBLL contextMH = new MonHocBLL();

            foreach (var item in lopTCs)
            {
                if (item.TrangThai == true)
                {
                    SupportThoiKhoaBieu spTKB = new SupportThoiKhoaBieu();
                    spTKB.listTKB = contextTKB.GetByMaLopTC(item.MaLopTC).Select(s => new ThoiKhoaBieuModel
                    {
                        Ngay    = s.Ngay,
                        Buoi    = s.Buoi,
                        MaLopTC = s.MaLopTC,
                        TietBD  = s.TietBD
                    }).ToList();
                    //duyệt danh sách thời khóa biểu của lớp tín chỉ đăng ký xem đã hoàn thành chưa
                    foreach (var tkb in spTKB.listTKB)
                    {
                        if (lstSPTKB.Count > 0)
                        {
                            int count = lstSPTKB.Count;
                            for (int i = 0; i < count; i++)
                            {
                                var itemSPTKB = lstSPTKB[i];
                                if (itemSPTKB.MonHoc.MaMH == item.MaMonHoc)
                                {
                                    if (tkb.Ngay.DayOfYear >= dtStart.DayOfYear && tkb.Ngay.DayOfYear <= dtEnd.DayOfYear)
                                    {
                                        ThoiKhoaBieuModel tkbModel = new ThoiKhoaBieuModel
                                        {
                                            Buoi    = tkb.Buoi,
                                            MaLopTC = tkb.MaLopTC,
                                            Ngay    = tkb.Ngay,
                                            TietBD  = tkb.TietBD
                                        };
                                        itemSPTKB.listTKB.Add(tkbModel);
                                    }
                                }
                                else
                                {
                                    SupportThoiKhoaBieu sptkb = new SupportThoiKhoaBieu();
                                    sptkb.listTKB = new List <ThoiKhoaBieuModel>();
                                    MonHoc mh = contextMH.GetById(item.MaMonHoc);
                                    sptkb.MonHoc = new MonHocModel
                                    {
                                        MaMH             = mh.MaMH,
                                        SoTinChiLyThuyet = mh.SoTinChiLyThuyet,
                                        SoTinChiThucHanh = mh.SoTinChiThucHanh,
                                        TenMH            = mh.TenMH
                                    };
                                    ThoiKhoaBieuModel tkbModel = new ThoiKhoaBieuModel
                                    {
                                        Buoi    = tkb.Buoi,
                                        MaLopTC = tkb.MaLopTC,
                                        Ngay    = tkb.Ngay,
                                        TietBD  = tkb.TietBD
                                    };
                                    sptkb.listTKB.Add(tkbModel);
                                    lstSPTKB.Add(sptkb);
                                }
                            }
                        }
                        else
                        {
                            if (tkb.Ngay.DayOfYear >= dtStart.DayOfYear && tkb.Ngay.DayOfYear <= dtEnd.DayOfYear)
                            {
                                SupportThoiKhoaBieu sptkb = new SupportThoiKhoaBieu();
                                sptkb.listTKB = new List <ThoiKhoaBieuModel>();
                                MonHoc mh = contextMH.GetById(item.MaMonHoc);
                                sptkb.MonHoc = new MonHocModel
                                {
                                    MaMH             = mh.MaMH,
                                    SoTinChiLyThuyet = mh.SoTinChiLyThuyet,
                                    SoTinChiThucHanh = mh.SoTinChiThucHanh,
                                    TenMH            = mh.TenMH
                                };
                                ThoiKhoaBieuModel tkbModel = new ThoiKhoaBieuModel
                                {
                                    Buoi    = tkb.Buoi,
                                    MaLopTC = tkb.MaLopTC,
                                    Ngay    = tkb.Ngay,
                                    TietBD  = tkb.TietBD
                                };
                                sptkb.listTKB.Add(tkbModel);
                                lstSPTKB.Add(sptkb);
                            }
                        }
                    }
                }
            }
            return(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));
        }