public JsonResult Add_CauHoi_DeThi(CauHoiDeThiModel c)
 {
     using (ELearningDB db = new ELearningDB())
     {
         try
         {
             var cauhoi = db.CauHois.Find(c.CauHoiID);
             var dethi  = db.DeThis.Find(c.DeThiID);
             if (dethi.CauHois.Count < dethi.SoCauHoi)
             {
                 if (dethi.CauHois.Contains(cauhoi))
                 {
                     return(Json(new { success = false }));
                 }
                 dethi.CauHois.Add(cauhoi);
                 db.SaveChanges();
                 return(Json(new { success = true }));
             }
             return(Json(new { success = false }));
         }
         catch (Exception)
         {
             return(Json(new { success = false }));
         }
     }
 }
 public JsonResult Delete_CauHoi_DeThi(CauHoiDeThiModel c)
 {
     using (ELearningDB db = new ELearningDB())
     {
         try
         {
             var cauhoi = db.CauHois.Find(c.CauHoiID);
             var dethi  = db.DeThis.Find(c.DeThiID);
             db.Entry(cauhoi).Collection("DeThi").Load();
             cauhoi.DeThis.Remove(dethi);
             db.SaveChanges();
             return(Json(new { success = true }));
         }
         catch (Exception)
         {
             return(Json(new { success = false }));
         }
     }
 }
        public JsonResult RandomCauHoiDeThi(CauHoiDeThiModel c)
        {
            using (ELearningDB db = new ELearningDB())
            {
                try
                {
                    Random        ran            = new Random();
                    var           lstCauHoiDeThi = db.CauHois.Where(x => x.DeThis.Any(s => s.MaDeThi == c.DeThiID));
                    List <CauHoi> lstcauhoi      = db.CauHois.Where(x => x.ChuongID == c.ChuongID && x.DoKho == c.DoKho).Except(lstCauHoiDeThi).ToList();
                    List <CauHoi> CauHois        = new List <CauHoi>();
                    if (lstcauhoi.Count < c.SoCauHoi)
                    {
                        return(Json(new { success = -1 }));
                    }
                    for (int i = 0; i < c.SoCauHoi; i++)
                    {
                        int    index  = ran.Next(lstcauhoi.Count());
                        CauHoi cauhoi = lstcauhoi.ElementAt(index);
                        CauHois.Add(cauhoi);
                        lstcauhoi.RemoveAt(index);
                    }

                    var dethi = db.DeThis.Find(c.DeThiID);
                    foreach (var item in CauHois)
                    {
                        dethi.CauHois.Add(item);
                    }
                    db.SaveChanges();
                    return(Json(new { success = true }));
                }
                catch (Exception)
                {
                    return(Json(new { success = false }));
                }
            }
        }
        public JsonResult GetCauHoi(CauHoiDeThiModel chdt) //tham số: mã môn học
        {
            var session = (TaiKhoanLogin)Session[CommonConstants.USER_SESSION];

            using (ELearningDB db = new ELearningDB())
            {
                List <CauHoiModel> CHs = new List <CauHoiModel>();
                var lstCauHoiDeThi     = db.CauHois.Where(x => x.DeThis.Any(s => s.MaDeThi == chdt.DeThiID));

                List <CauHoi> lstCH = db.CauHois.Where(x => x.MaGiangVien == session.ID && x.MaMonHoc == chdt.MaMonHoc).Except(lstCauHoiDeThi).ToList();
                foreach (var item in lstCH)
                {
                    CauHoiModel ch = new CauHoiModel();
                    ch.MaCauHoi  = item.MaCauHoi;
                    ch.NoiDung   = item.NoiDung;
                    ch.BieuThuc  = item.BieuThuc;
                    ch.TenChuong = item.Chuong.Name;
                    ch.DoKho     = (int)item.DoKho;
                    ch.TrangThai = (bool)item.TrangThai;
                    ch.DapAn     = (int)item.DapAn;
                    ch.CauA      = item.CauA;
                    ch.CauB      = item.CauB;
                    ch.CauC      = item.CauC;
                    ch.CauD      = item.CauD;
                    ch.BieuThucA = item.BieuThucA;
                    ch.BieuThucB = item.BieuThucB;
                    ch.BieuThucC = item.BieuThucC;
                    ch.BieuThucD = item.BieuThucD;
                    ch.ChuongID  = (long)item.ChuongID;
                    ch.TenGV     = item.GiangVien.HoVaTen;

                    CHs.Add(ch);
                }
                return(Json(CHs, JsonRequestBehavior.AllowGet));
            }
        }