Exemplo n.º 1
0
        public ActionResult Register(ThiSinh entity)
        {
            if (ModelState.IsValid)
            {
                var dao  = new ThiSinhData();
                var user = new ThiSinh();
                user.GioiTinh = entity.GioiTinh;
                user.NgaySinh = entity.NgaySinh;
                user.DiaChi   = entity.DiaChi;
                user.Image    = entity.Image;
                user.Password = entity.Password;
                tn.SaveChanges();


                if (dao.Insert(user) > 0)
                {
                    ViewBag.Success = "Đăng ký thành công!";
                    entity          = new ThiSinh();
                }
                else
                {
                    ModelState.AddModelError("", "Đăng ký không thành công!");
                }
            }
            return(RedirectToAction("Index", "Login"));
        }
Exemplo n.º 2
0
 public ActionResult Delete(int id, ThiSinh collection)
 {
     try
     {
         // TODO: Add delete logic here
         if (ModelState.IsValid)
         {
             var ts  = new ThiSinhData();
             var res = ts.Delete(id);
             if (res)
             {
                 return(RedirectToAction("Index", "ThiSinh"));
             }
             else
             {
                 ModelState.AddModelError("", "Xóa thất bại");
             }
         }
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
Exemplo n.º 3
0
 public ActionResult Create(ThiSinh collection)
 {
     try
     {
         // TODO: Add insert logic here
         if (ModelState.IsValid)
         {
             byte[]             imageData = null;
             HttpPostedFileBase poImgFile = Request.Files["fileim"];
             if (poImgFile != null && poImgFile.ContentLength > 0)
             {
                 using (var binary = new BinaryReader(poImgFile.InputStream))
                 {
                     imageData = binary.ReadBytes(poImgFile.ContentLength);
                 }
             }
             collection.Image = imageData;
             var ts = new ThiSinhData();
             int id = ts.Insert(collection);
             if (id > 0)
             {
                 return(RedirectToAction("Index", "ThiSinh"));
             }
             else
             {
                 ModelState.AddModelError("", "Thêm thất bại");
             }
         }
         return(View(collection));
     }
     catch
     {
         return(View());
     }
 }
        public ActionResult DangNhap(FormCollection collection)
        {
            var tendn   = collection["username"];
            var matkhau = collection["password"];

            if (String.IsNullOrEmpty(tendn))
            {
                ViewData["Loi1"] = "Phải nhập tên đăng nhập";
            }
            else if (String.IsNullOrEmpty(matkhau))
            {
                ViewData["Loi2"] = "Phải nhập mật khẩu";
            }
            else
            {
                ThiSinh ts = db.ThiSinhs.SingleOrDefault(n => n.IDLogin == tendn && n.Pass == matkhau);
                if (ts != null)
                {
                    ViewBag.Thongbao       = "Chúc mừng đăng nhập thành công";
                    Session["Taikhoan"]    = ts;
                    Session["TenDangNhap"] = tendn;
                    return(RedirectToAction("Index", "QLCTTHTH"));
                }
                else
                {
                    ViewBag.Thongbao = "Tên đăng nhập hoặc mật khẩu không đúng";
                }
            }
            return(View());
        }
Exemplo n.º 5
0
        public ActionResult Create(ThiSinh ts, HttpPostedFileBase fileupload)
        {
            if (fileupload == null)
            {
                ViewBag.Thongbao = "Vui lòng chọn ảnh đại diện";
                return(View());
            }
            else
            {
                if (ModelState.IsValid)
                {
                    var fileName = Path.GetFileName(fileupload.FileName);
                    var path     = Path.Combine(Server.MapPath("~/Images"), fileName);


                    if (System.IO.File.Exists(path))
                    {
                        ViewBag.Thongbao = "Hình đại diện đã tồn tại";
                    }
                    else
                    {
                        fileupload.SaveAs(path);
                    }
                    ts.HinhTS = fileName;
                    db.ThiSinhs.InsertOnSubmit(ts);
                    db.SubmitChanges();
                }
                return(RedirectToAction("TS"));
            }
        }
        public async Task <ThiSinh> UpdateThiSinh(ThiSinh thiSinh)
        {
            _context.ThiSinhContext.Update(thiSinh);
            await _context.SaveChangesAsync();

            return(thiSinh);
        }
Exemplo n.º 7
0
        public ActionResult DeleteConfirmed(int id)
        {
            ThiSinh thiSinh = db.ThiSinhs.Find(id);

            db.ThiSinhs.Remove(thiSinh);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public async Task <ThiSinh> CreateThiSinh(ThiSinh thiSinh)
        {
            await _context.ThiSinhContext.AddAsync(thiSinh);

            await _context.SaveChangesAsync();

            return(thiSinh);
        }
Exemplo n.º 9
0
        public int DeleteThiSinh(ThiSinh pThiSinh)
        {
            var ThiSinh = Context.ThiSinhs.FirstOrDefault(p => p.MSSV == pThiSinh.MSSV);

            Context.ThiSinhs.Remove(ThiSinh);

            return(Context.SaveChanges());
        }
 public ThamGiaCaThiResponse(CaThi caThi, ThiSinh thiSinh)
 {
     Id             = caThi.Id;
     TenCaThi       = caThi.TenCaThi;
     ThoiGianBatDau = caThi.ThoiGianBatDau;
     ThoiGianThi    = caThi.ThoiGianThi;
     TrangThai      = caThi.TrangThai;
     TrangThaiThi   = thiSinh.TrangThaiThi;
 }
Exemplo n.º 11
0
 public ActionResult Edit([Bind(Include = "MaTS,HoTenTS,NamSinhTS,GT,DiaChiTS,QueQuanTS,HinhTS,NopPhi")] ThiSinh thiSinh)
 {
     if (ModelState.IsValid)
     {
         db.Entry(thiSinh).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(thiSinh));
 }
Exemplo n.º 12
0
 public ThiSinhResponse(SinhVien sinhVien, ThiSinh thiSinh)
 {
     Id            = sinhVien.Id;
     HoTen         = sinhVien.HoTen;
     MSSV          = sinhVien.MSSV;
     TenMay        = thiSinh.TenMay;
     SoLanDangNhap = thiSinh.SoLanDangNhap;
     DiaChiIp      = thiSinh.DiaChiIp;
     TrangThaiThi  = thiSinh.TrangThaiThi;
 }
Exemplo n.º 13
0
        public ActionResult Create([Bind(Include = "MaTS,HoTenTS,NamSinhTS,GT,DiaChiTS,QueQuanTS,HinhTS,NopPhi")] ThiSinh thiSinh)
        {
            if (ModelState.IsValid)
            {
                db.ThiSinhs.Add(thiSinh);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(thiSinh));
        }
Exemplo n.º 14
0
        public ActionResult Edit(int id)
        {
            ThiSinh ts = db.ThiSinhs.SingleOrDefault(n => n.MaTS == id);

            if (ts == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            return(View(ts));
        }
Exemplo n.º 15
0
 public ActionResult Edit(int id, ThiSinh collection)
 {
     try
     {
         // TODO: Add update logic here
         if (ModelState.IsValid)
         {
             byte[]             imageData = null;
             HttpPostedFileBase poImgFile = Request.Files["fileim"];
             if (poImgFile != null && poImgFile.ContentLength > 0)
             {
                 using (var binary = new BinaryReader(poImgFile.InputStream))
                 {
                     imageData = binary.ReadBytes(poImgFile.ContentLength);
                 }
                 collection.Image = imageData;
                 var ts  = new ThiSinhData();
                 var res = ts.Update(collection);
                 if (res)
                 {
                     //return RedirectToAction("Details", "Profile");
                     return(RedirectToAction("Details", "Profile", new { area = "Contest", id = id }));
                 }
                 else
                 {
                     ModelState.AddModelError("", "Sửa thất bại");
                 }
             }
             else
             {
                 byte[] tana = tn.ThiSinhs.Where(x => x.MaThiSinh == id).Select(u => u.Image).SingleOrDefault();
                 collection.Image = tana;
                 var ts  = new ThiSinhData();
                 var res = ts.Update(collection);
                 if (res)
                 {
                     return(RedirectToAction("Details", "Profile", new { area = "Contest", id = id }));
                 }
                 else
                 {
                     ModelState.AddModelError("", "Sửa thất bại");
                 }
             }
         }
         //return RedirectToAction("Index");
         return(RedirectToAction("Details", "Profile", new { area = "Contest", id = id }));
     }
     catch
     {
         return(View());
     }
 }
Exemplo n.º 16
0
        public ActionResult DeleteConfirm(int id)
        {
            ThiSinh ts = db.ThiSinhs.SingleOrDefault(n => n.MaTS == id);

            ViewBag.MaTS = ts.MaTS;
            if (ts == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            db.ThiSinhs.DeleteOnSubmit(ts);
            db.SubmitChanges();
            return(RedirectToAction("TS"));
        }
Exemplo n.º 17
0
        // GET: ThiSinhs/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ThiSinh thiSinh = db.ThiSinhs.Find(id);

            if (thiSinh == null)
            {
                return(HttpNotFound());
            }
            return(View(thiSinh));
        }
        public ActionResult Dangky(FormCollection collection, ThiSinh ts)
        {
            var    hoten    = collection["HoTenTS"];
            var    idlogin  = collection["IDLogin"];
            var    matkhau  = collection["Pass"];
            string gioitinh = collection["GT"];
            var    diachi   = collection["DiachiTS"];
            var    quequan  = collection["QueQuanTS"];


            var ngaysinh = String.Format("{0:MM/dd/yyyy}", collection["NamSinhTS"]);

            if (String.IsNullOrEmpty(idlogin))
            {
                ViewData["Loi1"] = "Phải nhập ID";
            }
            else if (String.IsNullOrEmpty(gioitinh))
            {
                ViewData["Loi2"] = "Phải nhập giới tính ";
            }
            else if (String.IsNullOrEmpty(matkhau))
            {
                ViewData["Loi3"] = "Phải nhập mật khẩu";
            }

            else if (String.IsNullOrEmpty(quequan))
            {
                ViewData["Loi4"] = "Phải nhập quê quán";
            }
            else if (String.IsNullOrEmpty(hoten))
            {
                ViewData["Loi5"] = "Phải nhập tên ";
            }
            else
            {
                ts.HoTenTS   = hoten;
                ts.GT        = gioitinh;
                ts.DiaChiTS  = diachi;
                ts.QueQuanTS = quequan;
                //ts.NamSinhTS = DateTime.Parse(ngaysinh);
                ts.IDLogin = idlogin;
                ts.Pass    = matkhau;
                db.ThiSinhs.InsertOnSubmit(ts);
                db.SubmitChanges();
                return(RedirectToAction("Dangnhap"));
            }
            return(this.Dangky());
        }
Exemplo n.º 19
0
        public ActionResult Edit(ThiSinh ts, HttpPostedFileBase fileupload)
        {
            var t = db.ThiSinhs.SingleOrDefault(n => n.MaTS == ts.MaTS);

            if (ModelState.IsValid)
            {
                t.HoTenTS   = ts.HoTenTS;
                t.NamSinhTS = ts.NamSinhTS;
                t.GT        = ts.GT;
                t.DiaChiTS  = ts.DiaChiTS;
                t.QueQuanTS = ts.QueQuanTS;
                t.HinhTS    = ts.HinhTS;
                t.NopPhi    = ts.NopPhi;
                db.SubmitChanges();
            }
            return(RedirectToAction("TS"));
        }
Exemplo n.º 20
0
        public int SaveThiSinh(ThiSinh pThiSinh)
        {
            var ThiSinh = Context.ThiSinhs.FirstOrDefault(p => p.MSSV == pThiSinh.MSSV);

            if (ThiSinh == null)
            {
                ThiSinh = new ThiSinh();
                Context.ThiSinhs.Add(ThiSinh);
            }

            ThiSinh.MSSV     = pThiSinh.MSSV;
            ThiSinh.HoDem    = pThiSinh.HoDem;
            ThiSinh.Ten      = pThiSinh.Ten;
            ThiSinh.GIoiTinh = pThiSinh.GIoiTinh;
            ThiSinh.NgaySinh = pThiSinh.NgaySinh;

            return(Context.SaveChanges());
        }
Exemplo n.º 21
0
        private void ProcessBaiTuLuan()
        {
            string idPhongCaNgay = Request["IDPhongCaNgay"]?.ToString();
            string idKiThi       = Request["IDKiThi"]?.ToString();
            string loaiDe        = Convert.ToInt32(LoaiDe.TuLuan).ToString();

            #region lay thong tin phong thi, ca thi, ngay thi
            string    sql      = $@"SELECT pc.*, convert(varchar, pc.Ngaythi, 103) as NgayThiFormatted, p.TenPhong as PhongThi, c.TenCa as CaThi
                          from [NuceThi_PhongThi_CaThi] pc
                          left join [Nuce_thi_chung_chi].[dbo].[NuceThi_PhongThi] p on pc.phongthiid = p.id
                          left join [Nuce_thi_chung_chi].[dbo].[NuceThi_CaThi] c on pc.cathiid = c.id

                          where pc.id = {idPhongCaNgay}";
            DataTable dt       = Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteDataset(Nuce_ThiChungChi.ConnectionString, CommandType.Text, sql).Tables[0];
            string    NgayThi  = dt.Rows[0]["NgayThiFormatted"]?.ToString();
            string    PhongThi = dt.Rows[0]["PhongThi"]?.ToString();
            string    CaThi    = dt.Rows[0]["CaThi"]?.ToString();
            #endregion

            sql = $@"SELECT nt.ma, nt.Ho + ' ' + nt.Ten as HoTen, nt.CMT, nt.NoiSinh, convert(varchar, nt.ngaysinh, 103) as NgaySinh, nt.Mobile,
                            kls.made, kls.bailam, kls.KiThi_LopHoc_SinhVienID
                    FROM [Nuce_thi_chung_chi].[dbo].[NuceThi_KiThi_LopHoc_SinhVien] kls
                    left join Nuce_thichungchi_nguoithi nt on kls.sinhvienid = nt.id
                    left join nucethi_kithi kt on kt.KiThiID = kls.KiThi_LopHocID
                    left join nucethi_bode bd on kt.BoDeID = bd.BoDeID
                    where kls.phongthi_cathi_id = {idPhongCaNgay} and kls.[KiThi_LopHocID] = {idKiThi} and bd.LoaiDe = {loaiDe}";
            dt  = Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteDataset(Nuce_ThiChungChi.ConnectionString, CommandType.Text, sql).Tables[0];

            if (dt.Rows.Count == 0)
            {
                Response.ContentType = "text/plain";
                Response.Write("Không có thí sinh nào.");
                return;
            }

            string        UploadsFolder = ConfigurationManager.AppSettings["UploadsFolder"];
            List <string> dirs          = new List <string>();
            Dictionary <string, string>  ThiSinhMaDe     = new Dictionary <string, string>();
            Dictionary <string, string>  ThiSinhHash     = new Dictionary <string, string>();
            Dictionary <string, string>  ThiSinhMaBaiLam = new Dictionary <string, string>();
            Dictionary <string, ThiSinh> ThiSinhInfo     = new Dictionary <string, ThiSinh>();
            // Bai Lam
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                var    row       = dt.Rows[i];
                string MaThiSinh = row["ma"]?.ToString();
                string MaDe      = row["made"]?.ToString();
                string BaiLam    = row["bailam"]?.ToString();
                string MaBaiLam  = row["KiThi_LopHoc_SinhVienID"]?.ToString();
                string HoTen     = row["HoTen"]?.ToString();
                string NgaySinh  = row["NgaySinh"]?.ToString();
                string NoiSinh   = row["NoiSinh"]?.ToString();
                string Mobile    = row["Mobile"]?.ToString();
                string Cmt       = row["CMT"]?.ToString();

                var tmpThiSinh = new ThiSinh()
                {
                    Ma       = MaThiSinh,
                    HoTen    = HoTen,
                    NgaySinh = NgaySinh,
                    NoiSinh  = NoiSinh,
                    CMT      = Cmt,
                    Mobile   = Mobile,
                };

                if (!string.IsNullOrEmpty(BaiLam))
                {
                    BaiLam = Path.Combine(UploadsFolder, BaiLam);
                    dirs.Add(BaiLam);
                }

                ThiSinhMaDe.Add(MaThiSinh, MaDe);
                ThiSinhMaBaiLam.Add(MaThiSinh, MaBaiLam);
                ThiSinhInfo.Add(MaThiSinh, tmpThiSinh);
            }
            // File Thi sinh ma de
            string DanhSachMaDeThiSinhFileName = Path.Combine(UploadsFolder, $"DanhSachThiSinhMaDe-{Guid.NewGuid()}.xlsx");
            string CryptKey = ConfigurationManager.AppSettings["CryptKey"];
            using (XLWorkbook wb = new XLWorkbook())
            {
                IXLWorksheet ws = wb.Worksheets.Add("DanhSachThiSinhMaDe");
                ws.Cell(1, 1).Value = "Mã";
                ws.Cell(1, 2).Value = "Mã đề";
                int i = 1;
                foreach (var item in ThiSinhMaDe)
                {
                    i++;
                    string MaBaiLam  = ThiSinhMaBaiLam[item.Key];
                    var    cryptCode = StringCipher.Encrypt(MaBaiLam, CryptKey);
                    ws.Cell(i, 1).Value = cryptCode;
                    ws.Cell(i, 2).Value = item.Value;
                    ThiSinhHash.Add(item.Key, cryptCode);
                }
                wb.SaveAs(DanhSachMaDeThiSinhFileName);
            }
            dirs.Add(DanhSachMaDeThiSinhFileName);
            // File Thi sinh mã hoá
            string DanhSachThiSinhFileName = Path.Combine(UploadsFolder, $"MaHoa-{Guid.NewGuid()}.xlsx");

            using (XLWorkbook wb = new XLWorkbook())
            {
                IXLWorksheet ws = wb.Worksheets.Add("MaHoa");
                ws.Cell(1, 1).Value = "Mã";
                ws.Cell(1, 2).Value = "Mã đề";
                ws.Cell(1, 3).Value = "Mã thí sinh";
                ws.Cell(1, 4).Value = "Họ tên";
                ws.Cell(1, 5).Value = "Ngày sinh";
                ws.Cell(1, 6).Value = "Nơi sinh";
                ws.Cell(1, 7).Value = "CMND";
                ws.Cell(1, 8).Value = "SĐT";
                ws.Cell(1, 9).Value = "Điểm";
                int i = 1;
                foreach (var item in ThiSinhHash)
                {
                    i++;
                    string made = ThiSinhMaDe[item.Key];
                    ws.Cell(i, 1).Value = item.Value;
                    ws.Cell(i, 2).Value = made;
                    ws.Cell(i, 2).SetDataType(XLCellValues.Text);
                    ws.Cell(i, 3).Value = $"'{item.Key}";
                    ws.Cell(i, 4).Value = ThiSinhInfo[item.Key].HoTen;
                    ws.Cell(i, 5).Value = ThiSinhInfo[item.Key].NgaySinh;
                    ws.Cell(i, 6).Value = ThiSinhInfo[item.Key].NoiSinh;
                    ws.Cell(i, 7).Value = ThiSinhInfo[item.Key].CMT;
                    ws.Cell(i, 8).Value = ThiSinhInfo[item.Key].Mobile;
                }
                wb.SaveAs(DanhSachThiSinhFileName);
            }
            dirs.Add(DanhSachThiSinhFileName);
            // zip
            string zipname = Path.Combine(UploadsFolder, $"{Guid.NewGuid()}.zip");
            try
            {
                using (ZipFile zipFile = new ZipFile())
                {
                    zipFile.AddFiles(dirs, false, "");
                    zipFile.Save(zipname);
                }
            }
            catch (Exception ex)
            {
                Response.ContentType = "text/plain";
                Response.Write(ex.Message + "\n " + String.Join(",", dirs));
                return;
            }

            Response.Clear();
            Response.Buffer = true;
            //Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
            Response.AddHeader("content-disposition", $"attachment; filename={PhongThi}-{CaThi}-{NgayThi}.zip");
            Response.WriteFile(zipname);
            Response.Flush();
            Response.Close();

            File.Delete(zipname);
            File.Delete(DanhSachThiSinhFileName);
            File.Delete(DanhSachMaDeThiSinhFileName);
        }
Exemplo n.º 22
0
        public async Task <Response <CaThiResponse> > TaoCaThi(long idHocPhan, TaoCaThiRequest request)
        {
            var hocPhan = await _hocPhanRepo.GetHocPhanById(idHocPhan);

            if (hocPhan == null)
            {
                return new Response <CaThiResponse>
                       {
                           StatusCode = 400,
                           Success    = false,
                           Errors     = new[] { "Không tìm thấy học phần" }
                       }
            }
            ;

            var caThi = new CaThi
            {
                TenCaThi       = request.TenCaThi,
                ThoiGianBatDau = request.ThoiGianBatDau,
                ThoiGianThi    = request.ThoiGianThi,
                TrangThai      = TrangThaiCaThi.ChuaBatDau,
                IdHocPhan      = idHocPhan,
                IdLopHoc       = request.IdLopHoc,
                IdGiamThi      = request.IdGiamThi,
                IdDeThi        = request.IdDeThi
            };

            var newCaThi = await _caThiRepo.CreateCaThi(caThi);

            var lopHoc = await _lopHocRepo.GetLopHocById(newCaThi.IdLopHoc);

            var deThi = await _deThiRepo.GetDeThiById(newCaThi.IdDeThi);

            var dsIdCauHoi = _deThiRepo.GetDsIdCauHoi(deThi.Id);
            var dsCauHoi   = await _cauHoiRepo.GetMultipleCauHoiById(dsIdCauHoi);

            var deThiResponse = new DeThiResponse(deThi, dsCauHoi);
            var giamThi       = await _taiKhoanRepo.GetTaiKhoanById(newCaThi.IdGiamThi);

            var caThiResponse = new CaThiResponse(newCaThi, lopHoc, deThiResponse, giamThi);

            var dsSinhVien = _sinhVienRepo.GetAllInLopHoc(lopHoc.Id);

            foreach (var sinhVien in dsSinhVien)
            {
                var thiSinh = new ThiSinh
                {
                    IdCaThi       = newCaThi.Id,
                    IdSinhVien    = sinhVien.Id,
                    SoLanDangNhap = 0,
                    TenMay        = null,
                    DiaChiIp      = null,
                    TrangThaiThi  = TrangThaiThi.ChuaThi
                };

                await _thiSinhRepo.CreateThiSinh(thiSinh);
            }

            return(new Response <CaThiResponse>
            {
                StatusCode = 201,
                Success = true,
                Data = caThiResponse
            });
        }
    }
Exemplo n.º 23
0
 public bool CheckExistThiSinh(ThiSinh pThiSinh)
 {
     return(Context.ThiSinhs.Any(p => p.MSSV == pThiSinh.MSSV));
 }
Exemplo n.º 24
0
 public async Task DeleteThiSinh(ThiSinh thiSinh)
 {
     _context.ThiSinhContext.Remove(thiSinh);
     await _context.SaveChangesAsync();
 }