Beispiel #1
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            string maHS    = dgvHocSinh.CurrentRow.Cells["MaHS"].Value.ToString();
            string maKythi = txtID.Text;
            var    check   = (from hs in db.DSHocSinhs
                              where hs.MaHS == maHS && hs.MaKiThi == maKythi
                              select hs).SingleOrDefault();

            if (check == null)
            {
                DSHocSinh hs = new DSHocSinh();
                hs.MaHS    = maHS;
                hs.MaKiThi = txtID.Text;

                db.DSHocSinhs.InsertOnSubmit(hs);
                try
                {
                    db.SubmitChanges();
                    ReloadKyThi();
                }

                catch
                {
                    MessageBox.Show("Thêm học sinh thất bại");
                }
            }
            else
            {
                MessageBox.Show("Đã tồn tại thí sinh trong kỳ thi");
            }
        }
Beispiel #2
0
        private bool View_ChangeUserProfile()
        {
            User user;

            try
            {
                user = context.Users.SingleOrDefault(s => s.Username == CurrentUser.Username);

                if (user != null)
                {
                    user.FirstName = view.FirstName;
                    user.LastName  = view.LastName;
                    user.Phone     = view.Phone;
                    user.Dob       = view.Dob;

                    context.SubmitChanges();

                    view.Message = "Cập nhật thông tin thành công!";

                    return(true);
                }
                view.Message = "Cập nhật thông tin thất bại";
                return(false);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Beispiel #3
0
        private void View_turnInTheExam(object sender, EventArgs e)
        {
            int correct            = 0;
            var answerListFromUser = sender as List <dynamic>;

            correct = calculateNumberOfCorrectAnswers(answerListFromUser);

            string studentId = view.StudentInfo.StudentId;
            var    examTake  = context.ExamTakes
                               .SingleOrDefault(s => s.StudentId == studentId &&
                                                s.ExamDetailId == examDetailId);

            //insert exam result
            var examResult = new ExamResult()
            {
                ExamDetailId = examTake.ExamDetailId,
                StudentId    = examTake.StudentId,
                ExamCodeId   = examTake.ExamCodeId,
                NumberOfQuestionsAnswered = view.ExamCode.NumberOfQuestions,
                NumberOfCorrectAnswers    = correct,
                Mark = ((float)10 / view.ExamCode.NumberOfQuestions) * correct
            };

            context.ExamResults.InsertOnSubmit(examResult);
            context.SubmitChanges();
        }
        private void btnCreate_Click(object sender, EventArgs e)
        {
            string id = txtID.Text;

            var check = (from kt in db.KyThiThus
                         where kt.ID == id
                         select kt).SingleOrDefault();

            if (check == null)
            {
                KyThiThu kt = new KyThiThu();
                kt.ID      = id;
                kt.NgayThi = dtpDate.Text.ToString();
                kt.MaDe    = int.Parse(cbMaDe.SelectedValue.ToString());
                kt.SuDung  = false;

                db.KyThiThus.InsertOnSubmit(kt);

                try
                {
                    db.SubmitChanges();
                    ShowInsertStudent();
                    MessageBox.Show("Thêm kỳ thi thử thành công");
                    DisableInfo();
                }
                catch
                {
                    MessageBox.Show("Lỗi thêm kỳ thi thử vào database");
                }
            }
            else
            {
                MessageBox.Show("Đã tồn tại id kỳ thi thử trong database");
            }
        }
        private void LoadKyThi()
        {
            List <string> kqThi = new List <string>();

            kqThi = (from k in db.KetQuaThis select k.KyThi).ToList();
            foreach (string idKQ in kqThi)
            {
                KyThi kt = (from k in db.KyThis
                            where k.ID == idKQ
                            select k).SingleOrDefault();
                try
                {
                    if (kt.SuDung == false)
                    {
                        kt.SuDung = true;
                        db.SubmitChanges();
                    }
                }
                catch
                {
                }
            }
            dgvKyThi.DataSource = (from kt in db.KyThis
                                   select new { kt.ID, kt.NgayThi, kt.MaDe, kt.SuDung });
        }
Beispiel #6
0
        public string LayPhanQuyen(string UserName) //Lấy phân quyền dựa vào IDUser
        {
            string result = (from user in db.TaiKhoans
                             where user.ID_Account == UserName
                             select user.Type).SingleOrDefault();

            db.SubmitChanges();
            return(result);
        }
Beispiel #7
0
        private void cbMaDe_SelectedIndexChanged(object sender, EventArgs e)
        {
            string id = cbMaDe.SelectedValue.ToString();

            lblName.Text = (from md in db.DeThis
                            where md.ID == int.Parse(id)
                            select md.TenDeThi).SingleOrDefault();
            db.SubmitChanges();
        }
Beispiel #8
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            int tempID = int.Parse(dgvCauHoi.CurrentRow.Cells["ID"].Value.ToString());

            var qs = (from c in db.CauHois where c.ID == tempID select c).FirstOrDefault();

            db.CauHois.DeleteOnSubmit(qs);
            db.SubmitChanges();
            LoadQuestions();
        }
        private void SaveEditExamCode(object sender, EventArgs e)
        {
            try
            {
                var examCodeEdited = sender as ExamCodeListViewModel;

                bool check = false;

                using (var context = new QLThiTracNghiemDataContext())
                {
                    var countUsed = context.ExamTakes.Where(et => et.ExamCodeId == examCodeEdited.ExamCodeId).Count();
                    if (countUsed <= 0)
                    {
                        var examCodeQuestions = context.ExamCode_Questions.Where(ecq => ecq.ExamCodeId == examCodeEdited.ExamCodeId).ToList();
                        var examCodeDb        = context.ExamCodes.First(ec => ec.ExamCodeId == examCodeEdited.ExamCodeId);
                        examCodeDb.NumberOfQuestions = examCodeEdited.NumberOfQuestions;
                        examCodeDb.SubjectId         = examCodeEdited.SubjectId;
                        examCodeDb.GradeId           = examCodeEdited.GradeId;
                        examCodeDb.IsPracticeExam    = examCodeEdited.IsPracticeExam;

                        context.ExamCode_Questions.DeleteAllOnSubmit(examCodeQuestions);
                        context.SubmitChanges();

                        List <ExamCode_Question> examCode_Questions = new List <ExamCode_Question>();
                        foreach (var id in view.EditExamCodeQuestionIds)
                        {
                            var examCode_Question = new ExamCode_Question
                            {
                                ExamCodeId = examCodeEdited.ExamCodeId,
                                QuestionId = id
                            };
                            examCode_Questions.Add(examCode_Question);
                        }
                        context.ExamCode_Questions.InsertAllOnSubmit(examCode_Questions);
                        context.SubmitChanges();

                        check = true;
                    }
                }

                if (check)
                {
                    view.SaveEditExamCodeMessage = "Succeed";
                }
                else
                {
                    view.SaveEditExamCodeMessage = "Used";
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                view.SaveEditExamCodeMessage = "Failed";
            }
        }
        private void DeleteExam(object sender, EventArgs e)
        {
            try
            {
                var examId = (string)sender;

                bool check = false;

                using (var context = new QLThiTracNghiemDataContext())
                {
                    var examDetail = context.ExamDetails.FirstOrDefault(ed => ed.ExamId == examId);
                    if (examDetail != null)
                    {
                        var examDetailsCount = context.ExamDetails.Where(ed => ed.ExamId == examId);
                        var countUsed        = context.ExamTakes.Where(et => examDetailsCount.Any(ed => ed.ExamDetailId == et.ExamDetailId)).Count();

                        if (countUsed <= 0)
                        {
                            var exam = context.Exams.First(ex => ex.ExamId == examId);

                            var examDetails = context.ExamDetails.Where(ed => ed.ExamId == exam.ExamId);
                            context.ExamDetails.DeleteAllOnSubmit(examDetails);
                            context.Exams.DeleteOnSubmit(exam);
                            context.SubmitChanges();

                            check = true;
                        }
                    }
                    else
                    {
                        var exam = context.Exams.First(ex => ex.ExamId == examId);
                        context.Exams.DeleteOnSubmit(exam);
                        context.SubmitChanges();
                        check = true;
                    }
                }

                if (check)
                {
                    view.DeleteExamMessage = "Succeed";
                }
                else
                {
                    view.DeleteExamMessage = "Used";
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                view.DeleteExamMessage = "Failed";
            }
        }
        public bool KiemTraUser(string MaHS)
        {
            bool check  = true;
            var  result = (from user in db.TaiKhoans
                           where user.ID_User == MaHS
                           select user.ID_User).SingleOrDefault();

            db.SubmitChanges();
            if (result == null)
            {
                check = false; //Chưa có tài khoản
            }
            return(check);     //Đã có tài khoản
        }
Beispiel #12
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            CauHoi question = (from c in db.CauHois
                               where c.ID == int.Parse(lbIDCauHoi.Text)
                               select c).SingleOrDefault();

            question.CauHoi1   = txtCauHoi.Text;
            question.DapAn_A   = txtA.Text;
            question.DapAn_B   = txtB.Text;
            question.DapAn_C   = txtC.Text;
            question.DapAn_D   = txtD.Text;
            question.DapAnDung = char.Parse(cbDADung.SelectedValue.ToString());
            question.Khoi      = int.Parse(cbKhoi.SelectedValue.ToString());
            question.DoKho     = cbDoKho.SelectedValue.ToString();
            question.MaMH      = cbMaMH.SelectedValue.ToString();

            try
            {
                db.SubmitChanges();
                MessageBox.Show("Lưu thành công");
            }

            catch
            {
                MessageBox.Show("Lưu thất bại");
            }
        }
Beispiel #13
0
 public void LoadDS(string LoaiND)
 {
     dataGV.DataSource = from tk in db.TaiKhoans where tk.Type == LoaiND select tk;
     db.SubmitChanges();
     //Databiding
     txtID.DataBindings.Clear();
     txtID.DataBindings.Add("Text", dataGV.DataSource, "ID");
     txtTaiKhoan.DataBindings.Clear();
     txtTaiKhoan.DataBindings.Add("Text", dataGV.DataSource, "ID_Account");
     txtMatKhau.DataBindings.Clear();
     txtMatKhau.DataBindings.Add("Text", dataGV.DataSource, "PassWord");
     txtLoaiND.DataBindings.Clear();
     txtLoaiND.DataBindings.Add("Text", dataGV.DataSource, "Type");
     txtIDND.DataBindings.Clear();
     txtIDND.DataBindings.Add("Text", dataGV.DataSource, "ID_User");
 }
Beispiel #14
0
        private void SaveEdit(object sender, EventArgs e)
        {
            using (var context = new QLThiTracNghiemDataContext())
            {
                foreach (var user in context.Users)
                {
                    var checkExist = view.Users.FirstOrDefault(_ => view.UserEdit.Username == user.Username);
                    if (checkExist != null)
                    {
                        user.Username = view.UserEdit.Username;

                        if (!string.IsNullOrWhiteSpace(view.UserEdit.Password))
                        {
                            user.Password = Common.HashPassword(view.UserEdit.Password);
                        }

                        user.FirstName = view.UserEdit.FirstName;
                        user.LastName  = view.UserEdit.LastName;
                        user.Dob       = view.UserEdit.Dob;
                        user.Phone     = view.UserEdit.Phone;
                        user.Status    = view.UserEdit.Status;
                    }
                }

                context.SubmitChanges();
            }
        }
        public void LuuKetQua()
        {
            string    SoCauDung = socaudung.ToString();
            string    MaHS      = UserName;
            string    SoCauSai  = (SoLuongCauHoi() - socaudung).ToString();
            double    DiemThi   = Diem;
            string    Ngaythi   = NgayThi;
            string    KiThi     = MaKiThi;
            KetQuaThi insert    = new KetQuaThi();

            insert.SoCauDung  = SoCauDung;
            insert.MaHS       = MaHS;
            insert.SoCauSai   = SoCauSai;
            insert.DiemThi    = DiemThi;
            insert.NgayThi    = NgayThi;
            insert.ID_Account = MaHS;
            insert.KyThi      = KiThi;
            insert.TenMH      = lblMonHoc.Text;
            db.KetQuaThis.InsertOnSubmit(insert);
            try
            {
                db.SubmitChanges();
            }
            catch (Exception)
            {
            }
        }
Beispiel #16
0
 private void btnDongGop_Click(object sender, EventArgs e)
 {
     if (KT())
     {
         CauHoiDongGop donggop = new CauHoiDongGop();
         donggop.IDHS    = LayMaHS();
         donggop.CauHoi  = txtCauHoi.Text;
         donggop.DapAn_A = txtCauA.Text;
         donggop.DapAn_B = txtCauB.Text;
         donggop.DapAn_C = txtCauC.Text;
         donggop.DapAn_D = txtCauD.Text;
         donggop.KetQua  = radioBTN(DapAnDung, panelDapAnDung);
         donggop.Khoi    = int.Parse(LayKhoiHS());
         donggop.Duyet   = bool.Parse("false");
         donggop.DoKho   = radioBTN(DoKho, panelCapDo);
         donggop.MaMH    = cbTenMonHoc.Text;
         db.CauHoiDongGops.InsertOnSubmit(donggop);
         db.SubmitChanges();
         MessageBox.Show("Đóng góp thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
         txtCauHoi.Clear();
         txtCauA.Clear();
         txtCauB.Clear();
         txtCauC.Clear();
         txtCauD.Clear();
     }
 }
Beispiel #17
0
        private void ChangePassword(object sender, EventArgs e)
        {
            if (Common.VerifyPassword(view.OldPassword, view.CurrentUserInfo.Password))
            {
                if (view.NewPassword == view.ConfirmNewPassword)
                {
                    using (var context = new QLThiTracNghiemDataContext())
                    {
                        var user = context.Users.First(u => u.Username == view.CurrentUserInfo.Username);
                        user.Password = Common.HashPassword(view.NewPassword);

                        context.SubmitChanges();
                    }

                    view.ChangePasswordMessage = "Succeed";
                }
                else
                {
                    view.ChangePasswordMessage = "Password confirm not correct";
                }
            }
            else
            {
                view.ChangePasswordMessage = "Password not correct";
            }
        }
        private void AddExamCode(object sender, EventArgs e)
        {
            try
            {
                var examCodeAdded = sender as ExamCodeListViewModel;

                using (var context = new QLThiTracNghiemDataContext())
                {
                    // Get examCodeId
                    var examCodeIds = context.ExamCodes.Select(ec => ec.ExamCodeId.Substring(2)).ToList();
                    var examCodeId  = examCodeIds.Select(id => int.Parse(id)).Max() + 1;
                    examCodeAdded.ExamCodeId = $"DE{examCodeId:D6}";

                    var examCode = new ExamCode
                    {
                        ExamCodeId        = examCodeAdded.ExamCodeId,
                        NumberOfQuestions = examCodeAdded.NumberOfQuestions,
                        SubjectId         = examCodeAdded.SubjectId,
                        GradeId           = examCodeAdded.GradeId,
                        IsPracticeExam    = examCodeAdded.IsPracticeExam
                    };

                    context.ExamCodes.InsertOnSubmit(examCode);
                    context.SubmitChanges();

                    List <ExamCode_Question> examCode_Questions = new List <ExamCode_Question>();
                    foreach (var id in view.AddExamCodeQuestionIds)
                    {
                        var examCode_Question = new ExamCode_Question
                        {
                            ExamCodeId = examCodeAdded.ExamCodeId,
                            QuestionId = id
                        };
                        examCode_Questions.Add(examCode_Question);
                    }
                    context.ExamCode_Questions.InsertAllOnSubmit(examCode_Questions);
                    context.SubmitChanges();
                }

                view.AddExamCodeMessage = "Succeed";
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                view.AddExamCodeMessage = "Failed";
            }
        }
        public bool CheckAccount(string ID_User)
        {
            bool i         = true;
            var  IDAccount = (from tk in db.TaiKhoans where tk.ID_User == ID_User select tk.ID_Account).SingleOrDefault();

            if (IDAccount != null)
            {
                i = false;
            }
            db.SubmitChanges();
            return(i);
        }
        private void ApproveQuestion(object sender, EventArgs e)
        {
            try
            {
                Question question;

                using (var context = new QLThiTracNghiemDataContext())
                {
                    var questionDistributed = context.QuestionDistributes.First(q => q.QuestionDistributeId == view.ApproveQuestionId);
                    questionDistributed.IsApproved = true;

                    question = new Question
                    {
                        Content        = questionDistributed.Content,
                        Hint           = questionDistributed.Hint,
                        SubjectId      = questionDistributed.SubjectId,
                        GradeId        = questionDistributed.GradeId,
                        DifficultLevel = questionDistributed.DifficultLevel,
                        IsDistributed  = true
                    };

                    context.Questions.InsertOnSubmit(question);
                    context.SubmitChanges();
                }

                using (var context = new QLThiTracNghiemDataContext())
                {
                    var answerDistributed = context.AnswerDistributes.Where(a => a.QuestionDistributeId == view.ApproveQuestionId).ToList();

                    List <Answer> answers = new List <Answer>();
                    foreach (var a in answerDistributed)
                    {
                        var answer = new Answer
                        {
                            AnswerId   = a.AnswerDistributeId,
                            QuestionId = question.QuestionId,
                            Content    = a.Content,
                            IsCorrect  = a.IsCorrect
                        };
                        answers.Add(answer);
                    }

                    context.Answers.InsertAllOnSubmit(answers);
                    context.SubmitChanges();
                }

                view.ApproveQuestionMessage = "Succeed";
            }
            catch (Exception ex)
            {
                Debug.Write(ex.ToString());
                view.ApproveQuestionMessage = "Failed";
            }
        }
Beispiel #21
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            int id = int.Parse(dgvListQuestions.CurrentRow.Cells["ID"].Value.ToString());

            var check = (from c in db.DanhSachCauHois
                         where c.MaDe == Made && c.ID_Cauhoi == id
                         select c).SingleOrDefault();

            if (check == null)
            {
                DanhSachCauHoi ch = new DanhSachCauHoi();
                ch.ID_Cauhoi = id;
                ch.MaDe      = Made;
                db.DanhSachCauHois.InsertOnSubmit(ch);
                db.SubmitChanges();
                LoadExam();
            }
            else
            {
                MessageBox.Show("Đã tồn tại câu hỏi trong đề thi");
            }
        }
Beispiel #22
0
        private void SaveInfo(object sender, EventArgs e)
        {
            using (var context = new QLThiTracNghiemDataContext())
            {
                var user = context.Users.First(u => u.Username == view.CurrentUserInfo.Username);
                user.FirstName = view.CurrentUserInfo.FirstName;
                user.LastName  = view.CurrentUserInfo.LastName;
                user.Phone     = view.CurrentUserInfo.Phone;
                user.Dob       = view.CurrentUserInfo.Dob;

                context.SubmitChanges();
            }
        }
        private void AddExam(object sender, EventArgs e)
        {
            try
            {
                var examAdded = sender as DoAnLTUDQL1.Exam;

                using (var context = new QLThiTracNghiemDataContext())
                {
                    // Get examId
                    var examIds = context.Exams.Select(ec => ec.ExamId.Substring(2)).ToList();
                    var examId  = examIds.Select(id => int.Parse(id)).Max() + 1;
                    examAdded.ExamId = $"CT{examId:D6}";

                    context.Exams.InsertOnSubmit(examAdded);
                    context.SubmitChanges();

                    foreach (var examDetail in view.ExamDetailsAdded)
                    {
                        // Get examDetailId
                        var examDetailIds = context.ExamDetails.Select(ed => ed.ExamDetailId.Substring(2)).ToList();
                        var examDetailId  = examDetailIds.Select(id => int.Parse(id)).Max() + 1;
                        examDetail.ExamDetailId = $"KT{examDetailId:D6}";
                        examDetail.ExamId       = examAdded.ExamId;

                        context.ExamDetails.InsertOnSubmit(examDetail);
                        context.SubmitChanges();
                    }
                }

                view.AddExamMessage = "Succeed";
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                view.AddExamMessage = "Failed";
            }
        }
Beispiel #24
0
        private void Login(object sender, EventArgs e)
        {
            using (var context = new QLThiTracNghiemDataContext())
            {
                var user = context.Users.FirstOrDefault(u => u.Username == view.Username);

                if (user != null && Common.VerifyPassword(view.Password, user.Password))
                {
                    string role;

                    role = user.RoleType.RoleName.ToLower();
                    user.LastLoginDate = DateTime.Now;
                    context.SubmitChanges();

                    // TODO: Authorization
                    if (role == "admin")
                    {
                        view.User    = user;
                        view.Message = "Succeed:Admin";
                        return;
                    }

                    if (role == "học sinh")
                    {
                        view.User    = user;
                        view.Message = "Succeed:Student";
                        return;
                    }

                    if (role == "giáo viên")
                    {
                        var teacher = context.Teachers.FirstOrDefault(t => t.Username == user.Username);
                        view.User    = teacher;
                        view.Message = "Succeed:Teacher";
                        return;
                    }
                }
                else if (user != null)
                {
                    view.Message = "Password failed";
                }
                else
                {
                    view.Message = "User not exists";
                }
            }
        }
 private void DeleteAnswer(object sender, EventArgs e)
 {
     try
     {
         using (var context = new QLThiTracNghiemDataContext())
         {
             var answer = context.Answers.First(a => a.QuestionId == view.QuestionId && a.AnswerId == view.DeleteAnswerId);
             context.Answers.DeleteOnSubmit(answer);
             context.SubmitChanges();
         }
         view.DeleteAnswerMessage = "Succeed";
     }
     catch (Exception ex)
     {
         Debug.WriteLine(ex.ToString());
         view.DeleteAnswerMessage = "Failed";
     }
 }
        private void AddQuestion(object sender, EventArgs e)
        {
            try
            {
                using (var context = new QLThiTracNghiemDataContext())
                {
                    // Id Indentity
                    context.Questions.InsertOnSubmit(view.Question);
                    context.SubmitChanges();
                }

                view.AddQuestionMessage = "Succeed";
            }
            catch (Exception ex)
            {
                Debug.Write(ex.ToString());
                view.AddQuestionMessage = "Failed";
            }
        }
        private void AddAnswer(object sender, EventArgs e)
        {
            try
            {
                using (var context = new QLThiTracNghiemDataContext())
                {
                    var id = context.Answers.Select(a => a.AnswerId).Max();
                    view.Answer.AnswerId = id + 1;

                    context.Answers.InsertOnSubmit(view.Answer);
                    context.SubmitChanges();
                }
                view.AddAnswerMessage = "Succeed";
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                view.AddAnswerMessage = "Failed";
            }
        }
        //Sửa thông tin
        private void SuaThongTin()
        {
            HocSinh hs = (from h in db.HocSinhs
                          join t in db.TaiKhoans on h.MaHS equals t.ID_User
                          where t.ID_Account == username
                          select h).SingleOrDefault();

            hs.HoTen     = txtHoTen.Text;
            hs.NgaySinh  = dtNgaySinh.Text;
            hs.DienThoai = txtSDT.Text;
            try
            {
                db.SubmitChanges();
                MessageBox.Show("Sửa thông tin thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch
            {
                MessageBox.Show("Sửa thông tin thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void SaveEditQuestion(object sender, EventArgs e)
        {
            try
            {
                using (var context = new QLThiTracNghiemDataContext())
                {
                    var question   = view.ListQuestion.First(q => q.QuestionId == view.EditQuestionId);
                    var questionDb = context.Questions.First(q => q.QuestionId == view.EditQuestionId);
                    questionDb.Content        = question.Content;
                    questionDb.DifficultLevel = question.DifficultLevel;

                    context.SubmitChanges();
                    view.EditQuestionMessage = "Succeed";
                }
            }
            catch (Exception ex)
            {
                Debug.Write(ex.ToString());
                view.EditQuestionMessage = "Failed";
            }
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            DeThi dt = (from d in db.DeThis
                        where d.ID == int.Parse(lblID.Text)
                        select d).SingleOrDefault();

            dt.TenDeThi = txtTen.Text;
            dt.MaMH     = cbMaMH.SelectedValue.ToString();
            dt.MaKhoi   = int.Parse(cbMaKhoi.SelectedValue.ToString());

            try
            {
                db.SubmitChanges();
                //MessageBoxButtons(")
                MessageBox.Show("Lưu thành công");
            }
            catch
            {
                MessageBox.Show("Lưu thất bại");
            }
        }