Esempio n. 1
0
        public bool UpdateChapterStudy(Chuong_Hoc ChapterStudy)
        {
            var cmd = db.Chuong_Hoc.Find(ChapterStudy);

            cmd.TenChuong = ChapterStudy.TenChuong;
            db.SaveChanges();
            return(true);
        }
Esempio n. 2
0
        public JsonResult addChuong(long ma, string ten)
        {
            try

            {
                Chuong_Hoc chuong = new Chuong_Hoc();
                chuong.TenChuong = ten;
                chuong.TrangThai = 1;
                chuong.Ma_Mon    = ma;
                db.Chuong_Hoc.Add(chuong);

                db.SaveChanges();

                return(Json(new { code = 200, msg = "Thêm mới thành công" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new { code = 500, msg = "Không thành công" + e.Message }, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 3
0
        private void Random(Bo_De bo_De1, string sl, Chuong_Hoc chuong, string v, string mabm)
        {
            List <Kho_CauHoi> kho_CauHois = tracNghiem.Kho_CauHoi.Where(x => x.Ma_Chuong == chuong.Ma_Chuong && x.MucDo.Equals(v) && x.NguoiTao.Equals(mabm) && x.Xoa == true).ToList();

            Random random = new Random();

            if (kho_CauHois.Count > 0)
            {
                for (int i = 0; i < int.Parse(sl); i++)
                {
                    int    vt     = random.Next(kho_CauHois.Count);
                    CauHoi cauHoi = new CauHoi();
                    cauHoi.Ma_BoDe    = bo_De1.Ma_BoDe;
                    cauHoi.Ma_CauHoi  = kho_CauHois[vt].Ma_CauHoi;
                    cauHoi.Kho_CauHoi = kho_CauHois[vt];
                    bo_De1.CauHois.Add(cauHoi);
                    kho_CauHois.RemoveAt(vt);
                }
            }
        }
Esempio n. 4
0
 public bool DeleteChapterStudy(Chuong_Hoc ChapterStudy)
 {
     db.Chuong_Hoc.Remove(ChapterStudy);
     db.SaveChanges();
     return(true);
 }
Esempio n. 5
0
 public bool CreateChapterStudy(Chuong_Hoc ChapterStudy)
 {
     db.Chuong_Hoc.Add(ChapterStudy);
     db.SaveChanges();
     return(true);
 }
Esempio n. 6
0
        public DanhGia Mark(De_Thi exam)
        {
            exam.Da_SVLuaChon = db.Da_SVLuaChon.Where(x => x.MaDeThi == exam.MaDeThi).ToList();
            int socauDung = 0;
            var Bode      = db.Bo_De.Where(x => x.Ma_BoDe == exam.Ma_BoDe).ToList().First();

            List <Kho_CauHoi> kho_CauHois = new List <Kho_CauHoi>();
            List <Chuong_Hoc> chuonghoc1  = new List <Chuong_Hoc>();
            List <Chuong_Hoc> chuong2     = new List <Chuong_Hoc>();

            foreach (var item in exam.CauHoiDeThis)
            {
                kho_CauHois.Add(item.Kho_CauHoi);
            }
            //Lay Ra So Cau HOI cua moi chuong
            foreach (var item in db.Chuong_Hoc.Where(x => x.Ma_Mon == Bode.Ma_Mon).ToList())
            {
                Chuong_Hoc chuong = new Chuong_Hoc();
                chuong.Ma_Chuong  = item.Ma_Chuong;
                chuong.TenChuong  = item.TenChuong;
                chuong.Kho_CauHoi = new List <Kho_CauHoi>();
                chuonghoc1.Add(chuong);
            }

            foreach (var item in db.Chuong_Hoc.Where(x => x.Ma_Mon == Bode.Ma_Mon).ToList())
            {
                Chuong_Hoc chuong = new Chuong_Hoc();
                chuong.Ma_Chuong  = item.Ma_Chuong;
                chuong.Kho_CauHoi = new List <Kho_CauHoi>();
                chuong2.Add(chuong);
            }
            foreach (var item in chuonghoc1)
            {
                foreach (var item1 in kho_CauHois.Where(x => x.Ma_Chuong == item.Ma_Chuong).ToList())
                {
                    item.Kho_CauHoi.Add(item1);
                }
            }

            //Lay Ra So Cau sv da lam  dung cua moi chuong
            var kho_CauHoi1 = new List <Kho_CauHoi>();

            foreach (var item in exam.CauHoiDeThis)
            {
                item.Kho_CauHoi = new CauHoiDao().Question(item.Kho_CauHoi.Ma_CauHoi);
                foreach (var item1 in item.Kho_CauHoi.Dap_AN)
                {
                    if (exam.Da_SVLuaChon.ToList().Exists(x => x.Ma_DAN == item1.MA_DAN && item1.TrangThai == true))
                    {
                        socauDung++;
                        kho_CauHoi1.Add(item.Kho_CauHoi);
                    }
                }
            }
            //  Lay Ra So Cau sv da lam dung cua moi chuong
            foreach (var item0 in chuong2)
            {
                item0.Kho_CauHoi = kho_CauHoi1.Where(x => x.Ma_Chuong == item0.Ma_Chuong).ToList();
            }
            DanhGia danhGia = new DanhGia();

            danhGia.DanhGiaMucDo = new List <SoLuongChuong>();
            danhGia.ketQuaThi    = new KetQuaThi();
            for (int i = 0; i < chuonghoc1.Count; i++)
            {
                if (chuonghoc1[i].Kho_CauHoi.Count > 0)
                {
                    db = new TracNghiemOnlineDB();
                    Danh_Gia      danh_Gia      = new Danh_Gia();
                    SoLuongChuong soLuongChuong = new SoLuongChuong();
                    danh_Gia.MaChuong       = chuonghoc1[i].Ma_Chuong;
                    danh_Gia.MaDeThi        = exam.MaDeThi;
                    danh_Gia.SoCauDung      = chuong2[i].Kho_CauHoi.Count;
                    danh_Gia.TongCau        = chuonghoc1[i].Kho_CauHoi.Count;
                    soLuongChuong.TongSoCau = "" + danh_Gia.SoCauDung + "/" + danh_Gia.TongCau;
                    double a1 = (double)(chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Nhận Biết")).ToList().Count * 1);
                    double a2 = (double)(chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Thông Hiểu")).ToList().Count * 2);
                    double a3 = (double)(chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng")).ToList().Count * 3);
                    double a4 = (double)(chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng Cao")).ToList().Count * 4);


                    soLuongChuong.Chuong   = chuonghoc1[i];
                    soLuongChuong.nhanBiet = chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Nhận Biết")).ToList().Count + "/" +
                                             chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Nhận Biết")).ToList().Count;


                    soLuongChuong.thongHieu = chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Thông Hiểu")).ToList().Count + "/" +
                                              chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Thông Hiểu")).ToList().Count;

                    soLuongChuong.vandung = chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng")).ToList().Count + "/" +
                                            chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng")).ToList().Count;

                    soLuongChuong.vandungcao = chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng Cao")).ToList().Count + "/" +
                                               chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng Cao")).ToList().Count;
                    danhGia.DanhGiaMucDo.Add(soLuongChuong);

                    double b1 = (double)(chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Nhận Biết")).ToList().Count * 1);
                    double b2 = (double)(chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Thông Hiểu")).ToList().Count * 2);
                    double b3 = (double)(chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng")).ToList().Count * 3);
                    double b4 = (double)(chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng Cao")).ToList().Count * 4);

                    double DG = 0;
                    double A  = a1 + a2 + a3 + a4;
                    double b  = b1 + b2 + b3 + b4;
                    DG = (double)(A / b) * 10;
                    double tile = ((double)danh_Gia.SoCauDung / (double)danh_Gia.TongCau) * 100;
                    tile             = Math.Round((double)tile, 2);
                    danh_Gia.NhanXet = "Bạn làm đúng (" + soLuongChuong.TongSoCau + " đạt tỉ lệ " + tile + " %) \n                                                      ";
                    if (DG < 5)
                    {
                        danh_Gia.DanhGia = "Yếu";

                        danh_Gia.NhanXet += "-Kiến thức phần này của bạn còn rất hạn chế điểm phần này bài test còn chưa cao.Bạn cần cố gắng cải thiện hơn nữa";
                    }
                    if (DG >= 5 && DG < 7)
                    {
                        danh_Gia.DanhGia  = "Trung Bình";
                        danh_Gia.NhanXet += "Kiến thức của bạn ở phần này chỉ ở mức trung bình. Bạn cần cố gắng hơn để cải thiện thành tích của mình";
                    }

                    if (DG >= 7 && DG < 8.5)
                    {
                        danh_Gia.DanhGia  = "Khá";
                        danh_Gia.NhanXet += "Kiến thức của bạn ở phần này khá tốt. Bạn cố gắng thêm để đặt được số điểm cao hơn nữa";
                    }
                    if (DG >= 8.5)
                    {
                        danh_Gia.DanhGia  = "Giỏi";
                        danh_Gia.NhanXet += "Kiến thức của bạn ở phần bạn rất làm rất tốt. Bạn cố gắng duy trì phong độ nhé";
                    }

                    danh_Gia.Chuong_Hoc = db.Chuong_Hoc.Find(danh_Gia.MaChuong);
                    exam.Danh_Gia.Add(danh_Gia);
                }
            }


            double Hediem = (double)((double)10 / (double)(exam.CauHoiDeThis.Count));

            KetQuaThi ketQuaThi = new KetQuaThi();

            ketQuaThi.Ma_DeThi  = exam.MaDeThi;
            ketQuaThi.NgayThi   = DateTime.Now;
            ketQuaThi.SoCauDung = socauDung;
            ketQuaThi.SoCauSai  = exam.CauHoiDeThis.Count - socauDung;
            ketQuaThi.DiemSo    = (double)(socauDung) * (double)(Hediem);
            exam.Bo_De          = Bode;
            //    exam.Bo_De.
            ketQuaThi.De_Thi          = exam;
            ketQuaThi.De_Thi.SinhVien = db.SinhViens.Find(exam.Ma_SV);
            danhGia.ketQuaThi         = ketQuaThi;
            try
            {
                if (ketQuaThi.DiemSo >= 1 && exam.DiemTru != 0)
                {
                    var pt = (ketQuaThi.DiemSo * exam.DiemTru) / (double)100;
                    ketQuaThi.DiemSo = ketQuaThi.DiemSo - pt;
                }
            }
            catch { }
            ketQuaThi.DiemSo = Math.Round((double)ketQuaThi.DiemSo, 2);

            return(danhGia);
        }