public ActionResult BrowseDanhSach(FormCollection formCollection)
        {
            if (Request != null)
            {
                HttpPostedFileBase file = Request.Files["UploadedDanhSach"];
                if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
                {
                    string fileName        = file.FileName;
                    string fileContentType = file.ContentType;
                    byte[] fileBytes       = new byte[file.ContentLength];
                    var    data            = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength));

                    // Khai báo biến
                    if (Session["LopMonHocCurrent"] != null)
                    {
                        int                        IdLopMonHocCurrent    = ((LopMonHoc)Session["LopMonHocCurrent"]).IdLopMonHoc;
                        List <DanhSach>            ListDanhSachThanhCong = new List <DanhSach>();
                        List <DanhSachThemThatBai> ListDanhSachThatBai   = new List <DanhSachThemThatBai>();
                        string                     MaSinhVienFromFile    = "";

                        using (var package = new ExcelPackage(file.InputStream))
                        {
                            var currentSheet = package.Workbook.Worksheets;
                            var workSheet    = currentSheet.First();
                            var noOfCol      = workSheet.Dimension.End.Column;
                            var noOfRow      = workSheet.Dimension.End.Row;

                            for (int rowIterator = 2; rowIterator <= noOfRow; rowIterator++)
                            {
                                DanhSach DanhSach = new DanhSach();
                                DanhSach.IdLopMonHoc = IdLopMonHocCurrent;
                                MaSinhVienFromFile   = workSheet.Cells[rowIterator, 2].Value.ToString();

                                if (KiemTraTonTaiNguoiDung(MaSinhVienFromFile))
                                {
                                    DanhSach.IdNguoiDung = (from t in db.NguoiDungs
                                                            where t.UserName == MaSinhVienFromFile
                                                            select t.IdNguoiDung).ToList().First();

                                    if (KiemTraLaSinhVien(DanhSach.IdNguoiDung))
                                    {
                                        if (false == KiemTraDanhSachTrung(DanhSach.IdLopMonHoc, DanhSach.IdNguoiDung))
                                        {
                                            db.DanhSaches.Add(DanhSach);
                                            db.SaveChanges();
                                            ListDanhSachThanhCong.Add(DanhSach);
                                            // Nếu lớp này đã bắt đầu và có buổi điểm danh
                                            var LopCurrent = db.LopMonHocs.Find(((LopMonHoc)Session["LopMonHocCurrent"]).IdLopMonHoc);
                                            if (LopCurrent.BuoiHocs.Count() > 0)
                                            {
                                                // Thì với mỗi buổi học đã điểm danh,
                                                // Gán cho sinh viên này tình trạng nghỉ có phép và ghi chú là nhập học muộn
                                                foreach (var buoihoc in LopCurrent.BuoiHocs)
                                                {
                                                    DiemDanh newDiemDanh = new DiemDanh();
                                                    newDiemDanh.IdBuoiHoc        = buoihoc.IdBuoiHoc;
                                                    newDiemDanh.IdNguoiDung      = DanhSach.IdNguoiDung;
                                                    newDiemDanh.IdTinhTrangDiHoc = 3; //3 = nghỉ có phép
                                                    newDiemDanh.NhanXet          = "Đăng ký vào lớp muộn";
                                                    db.DiemDanhs.Add(newDiemDanh);
                                                    db.SaveChanges();
                                                }
                                            }
                                        }
                                        else
                                        {
                                            // sinh viên đã có trong lớp học
                                            DanhSachThemThatBai BanGhiThatBai = new DanhSachThemThatBai();
                                            BanGhiThatBai.MaNguoiDung = workSheet.Cells[rowIterator, 2].Value.ToString();
                                            BanGhiThatBai.MoTa        = "đã có trong lớp học";
                                            ListDanhSachThatBai.Add(BanGhiThatBai);
                                        }
                                    }
                                    else
                                    {
                                        // nếu không phải là sinh viên
                                        DanhSachThemThatBai BanGhiThatBai = new DanhSachThemThatBai();
                                        BanGhiThatBai.MaNguoiDung = workSheet.Cells[rowIterator, 2].Value.ToString();
                                        BanGhiThatBai.MoTa        = "không phải là sinh viên";
                                        ListDanhSachThatBai.Add(BanGhiThatBai);
                                    }
                                }
                                else
                                {
                                    // nếu người dùng k tồn tại
                                    DanhSachThemThatBai BanGhiThatBai = new DanhSachThemThatBai();
                                    BanGhiThatBai.MaNguoiDung = workSheet.Cells[rowIterator, 2].Value.ToString();
                                    BanGhiThatBai.MoTa        = "không tồn tại";
                                    ListDanhSachThatBai.Add(BanGhiThatBai);
                                }
                            }
                        }

                        Session["ListDanhSachThanhCong"] = ListDanhSachThanhCong;
                        Session["ListDanhSachThatBai"]   = ListDanhSachThatBai;

                        return(RedirectToAction("KetQuaThemVaoDanhSach", new
                        {
                            ListDanhSachThanhCong = ListDanhSachThanhCong,
                            ListDanhSachThatBai = ListDanhSachThatBai
                        }));
                    }
                    else
                    {
                        // Chưa chọn lớp môn học
                    }
                }
            }
            return(View("BrowseDanhSach"));
        }
Ejemplo n.º 2
0
        //
        // GET: /YeuCauThamGia/Accept
        public ActionResult Accept(int id = 0)
        {
            LopMonHoc LopMonHocCurrent = (LopMonHoc)Session["LopMonHocCurrent"];

            DanhSachController DanhSachCon = new DanhSachController();

            YeuCauThamGia yeucauthamgia = db.YeuCauThamGias.Find(id);

            DanhSach newDanhSach = new DanhSach();

            // dummydata
            newDanhSach.IdLopMonHoc = LopMonHocCurrent.IdLopMonHoc;

            if (DanhSachCon.KiemTraTonTaiNguoiDung(yeucauthamgia.NguoiDung.UserName))
            {
                newDanhSach.IdNguoiDung = yeucauthamgia.IdNguoiDung;

                if (DanhSachCon.KiemTraLaSinhVien(yeucauthamgia.IdNguoiDung))
                {
                    if (false == DanhSachCon.KiemTraDanhSachTrung(newDanhSach.IdLopMonHoc, newDanhSach.IdNguoiDung))
                    {
                        db.DanhSaches.Add(newDanhSach);
                        db.SaveChanges();
                        TempData["Message"] = "Sinh viên '"
                                              + yeucauthamgia.NguoiDung.HoTen
                                              + "-"
                                              + yeucauthamgia.NguoiDung.UserName
                                              + "' đã được thêm vào lớp thành công";
                        // Nếu lớp này đã bắt đầu và có buổi điểm danh
                        var LopCurrent = db.LopMonHocs.Find(((LopMonHoc)Session["LopMonHocCurrent"]).IdLopMonHoc);
                        if (LopCurrent.BuoiHocs.Count() > 0)
                        {
                            // Thì với mỗi buổi học đã điểm danh,
                            // Gán cho sinh viên này tình trạng nghỉ có phép và ghi chú là nhập học muộn
                            foreach (var buoihoc in LopCurrent.BuoiHocs)
                            {
                                DiemDanh newDiemDanh = new DiemDanh();
                                newDiemDanh.IdBuoiHoc        = buoihoc.IdBuoiHoc;
                                newDiemDanh.IdNguoiDung      = newDanhSach.IdNguoiDung;
                                newDiemDanh.IdTinhTrangDiHoc = 3; //3 = nghỉ có phép
                                newDiemDanh.NhanXet          = "Đăng ký vào lớp muộn";
                                db.DiemDanhs.Add(newDiemDanh);
                                db.SaveChanges();
                            }
                        }
                    }
                    else
                    {
                        // sinh viên đã có trong lớp học
                        DanhSachThemThatBai BanGhiThatBai = new DanhSachThemThatBai();
                        BanGhiThatBai.MaNguoiDung = yeucauthamgia.NguoiDung.UserName;
                        TempData["Message"]       = "Sinh viên "
                                                    + yeucauthamgia.NguoiDung.HoTen
                                                    + "-"
                                                    + yeucauthamgia.NguoiDung.UserName
                                                    + " đã có trong lớp học";
                    }
                }
                else
                {
                    // nếu không phải là sinh viên
                    DanhSachThemThatBai BanGhiThatBai = new DanhSachThemThatBai();
                    BanGhiThatBai.MaNguoiDung = yeucauthamgia.NguoiDung.UserName;
                    TempData["Message"]       = "Sinh viên "
                                                + yeucauthamgia.NguoiDung.HoTen
                                                + "-"
                                                + yeucauthamgia.NguoiDung.UserName
                                                + " không phải là sinh viên";
                }
            }
            else
            {
                // nếu người dùng k tồn tại
                DanhSachThemThatBai BanGhiThatBai = new DanhSachThemThatBai();
                BanGhiThatBai.MaNguoiDung = yeucauthamgia.NguoiDung.UserName;
                TempData["Message"]       = "Sinh viên "
                                            + yeucauthamgia.NguoiDung.HoTen
                                            + "-"
                                            + yeucauthamgia.NguoiDung.UserName
                                            + " không tồn tại";
            }
            db.YeuCauThamGias.Remove(yeucauthamgia);
            db.SaveChanges();
            int YeuCauCount = (from y in db.YeuCauThamGias
                               where y.IdLopMonHoc == LopMonHocCurrent.IdLopMonHoc
                               select y).Count();

            Session["YeuCauCount"] = YeuCauCount;
            return(RedirectToAction("Index"));
        }
        public ActionResult ThemSinhVienThuCong(FormCollection formCollection)
        {
            List <DanhSach>            ListDanhSachThanhCong = new List <DanhSach>();
            List <DanhSachThemThatBai> ListDanhSachThatBai   = new List <DanhSachThemThatBai>();
            List <NguoiDung>           ListSinhVien          = (List <NguoiDung>)Session["ListSinhVien"];

            foreach (NguoiDung n in ListSinhVien)
            {
                DanhSach newDanhSach = new DanhSach();
                // dummydata
                newDanhSach.IdLopMonHoc = ((LopMonHoc)Session["LopMonHocCurrent"]).IdLopMonHoc;

                if (KiemTraTonTaiNguoiDung(n.UserName))
                {
                    newDanhSach.IdNguoiDung = n.IdNguoiDung;

                    if (KiemTraLaSinhVien(n.IdNguoiDung))
                    {
                        if (false == KiemTraDanhSachTrung(newDanhSach.IdLopMonHoc, newDanhSach.IdNguoiDung))
                        {
                            db.DanhSaches.Add(newDanhSach);
                            db.SaveChanges();
                            ListDanhSachThanhCong.Add(newDanhSach);
                            // Nếu lớp này đã bắt đầu và có buổi điểm danh
                            var LopCurrent = db.LopMonHocs.Find(((LopMonHoc)Session["LopMonHocCurrent"]).IdLopMonHoc);
                            if (LopCurrent.BuoiHocs.Count() > 0)
                            {
                                // Thì với mỗi buổi học đã điểm danh,
                                // Gán cho sinh viên này tình trạng nghỉ có phép và ghi chú là nhập học muộn
                                foreach (var buoihoc in LopCurrent.BuoiHocs)
                                {
                                    DiemDanh newDiemDanh = new DiemDanh();
                                    newDiemDanh.IdBuoiHoc        = buoihoc.IdBuoiHoc;
                                    newDiemDanh.IdNguoiDung      = n.IdNguoiDung;
                                    newDiemDanh.IdTinhTrangDiHoc = 3; //3 = nghỉ có phép
                                    newDiemDanh.NhanXet          = "Đăng ký vào lớp muộn";
                                    db.DiemDanhs.Add(newDiemDanh);
                                    db.SaveChanges();
                                }
                            }
                        }
                        else
                        {
                            // sinh viên đã có trong lớp học
                            DanhSachThemThatBai BanGhiThatBai = new DanhSachThemThatBai();
                            BanGhiThatBai.MaNguoiDung = n.UserName;
                            BanGhiThatBai.MoTa        = "đã có trong lớp học";
                            ListDanhSachThatBai.Add(BanGhiThatBai);
                        }
                    }
                    else
                    {
                        // nếu không phải là sinh viên
                        DanhSachThemThatBai BanGhiThatBai = new DanhSachThemThatBai();
                        BanGhiThatBai.MaNguoiDung = n.UserName;
                        BanGhiThatBai.MoTa        = "không phải là sinh viên";
                        ListDanhSachThatBai.Add(BanGhiThatBai);
                    }
                }
                else
                {
                    // nếu người dùng k tồn tại
                    DanhSachThemThatBai BanGhiThatBai = new DanhSachThemThatBai();
                    BanGhiThatBai.MaNguoiDung = n.UserName;
                    BanGhiThatBai.MoTa        = "không tồn tại";
                    ListDanhSachThatBai.Add(BanGhiThatBai);
                }
            }
            Session["ListDanhSachThanhCong"] = ListDanhSachThanhCong;
            Session["ListDanhSachThatBai"]   = ListDanhSachThatBai;
            Session["ListSinhVien"]          = null;
            return(RedirectToAction("KetQuaThemVaoDanhSach", new
            {
                ListDanhSachThanhCong = ListDanhSachThanhCong,
                ListDanhSachThatBai = ListDanhSachThatBai
            }));
        }