Beispiel #1
0
        private void ShowData()
        {
            lblFullName.Text = acc.FullName;
            // clear table first show list students
            dgvHistoryCreateExam.Rows.Clear();
            int viTriDong, dem = 0;

            using (var _dbContext = new QuizContextDB())
            {
                foreach (Exam exam in _dbContext.Exams.Where(p => p.AccountID == acc.AccountID).ToList())
                {
                    if (exam != null)
                    {
                        dem++;
                        viTriDong = dgvHistoryCreateExam.Rows.Add();
                        dgvHistoryCreateExam.Rows[viTriDong].Cells[0].Value = exam.ExamID;
                        dgvHistoryCreateExam.Rows[viTriDong].Cells[1].Value = exam.ExamName;
                        dgvHistoryCreateExam.Rows[viTriDong].Cells[2].Value = exam.Subject.SubjectName;
                        dgvHistoryCreateExam.Rows[viTriDong].Cells[3].Value = exam.Account.Class1.Faculty.FacultyName;
                        dgvHistoryCreateExam.Rows[viTriDong].Cells[4].Value = exam.dateCreate;
                        dgvHistoryCreateExam.Rows[viTriDong].Cells[5].Value = exam.TotalQuiz;
                    }
                }
            }
        }
        private void cmbSubjectSearch_SelectedIndexChanged(object sender, EventArgs e)
        {
            dgvSearchResult.Rows.Clear();
            int viTriDong, dem = 0;

            using (var _dbContext = new QuizContextDB())
            {
                Subject subject = _dbContext.Subjects.FirstOrDefault(p => p.SubjectName == cmbSubjectSearch.Text);
                if (subject != null)
                {
                    foreach (Exam exam in _dbContext.Exams.Where(p => p.SubjectID == subject.SubjectID).ToList())
                    {
                        dem++;
                        viTriDong = dgvSearchResult.Rows.Add();
                        dgvSearchResult.Rows[viTriDong].Cells[0].Value = exam.ExamID;
                        dgvSearchResult.Rows[viTriDong].Cells[1].Value = exam.ExamName;
                        dgvSearchResult.Rows[viTriDong].Cells[2].Value = exam.Account.Faculty1.FacultyName;
                        dgvSearchResult.Rows[viTriDong].Cells[3].Value = exam.Account.Class1.ClassName;
                        dgvSearchResult.Rows[viTriDong].Cells[4].Value = exam.Account.FullName;
                        dgvSearchResult.Rows[viTriDong].Cells[5].Value = exam.Subject.SubjectName;
                        dgvSearchResult.Rows[viTriDong].Cells[6].Value = exam.dateCreate;
                    }
                }
            }
        }
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (txtExamID.Text == "")
            {
                MessageBox.Show("Mã kỳ thi rỗng !!!");
                return;
            }
            if (txtExamName.Text == "" || txtFacultyName.Text == "" || quantityQuiz.Value == 0 || quantityTime.Value == 0)
            {
                MessageBox.Show("Vui lòng nhập đủ các thông tin !!!");
                return;
            }
            if (txtNameTeacher.Text != acc.FullName)
            {
                MessageBox.Show("Bạn không có quyền sửa đề thi này!");
                return;
            }
            int idExam = int.Parse(txtExamID.Text.ToString());

            using (var _dbContext = new QuizContextDB())
            {
                Exam exam = _dbContext.Exams.FirstOrDefault(p => p.ExamID == idExam);
                if (exam != null)
                {
                    exam.ExamName  = txtExamName.Text;
                    exam.TotalQuiz = int.Parse(quantityQuiz.Value.ToString());
                    exam.TimeTotal = int.Parse(quantityTime.Value.ToString());
                    exam.SubjectID = cmbSubject.SelectedValue.ToString();
                    _dbContext.SaveChanges();
                }
                MessageBox.Show("Cập nhập thành công");
                ShowDgv();
            }
        }
        private void ShowDataCmb()
        {
            QuizContextDB  context     = new QuizContextDB();
            List <Faculty> listFaculty = context.Faculties.ToList();

            cmbFacultyName.DataSource    = listFaculty;
            cmbFacultyName.DisplayMember = "FacultyName";
            cmbFacultyName.ValueMember   = "FacultyName";
        }
        private void ShowCmbSearchSubject(string nameFaculty)
        {
            QuizContextDB  context     = new QuizContextDB();
            List <Subject> listSubject = context.Subjects.Where(p => p.Faculty.FacultyName == nameFaculty).ToList();

            cmbSubjectSearch.DataSource    = listSubject;
            cmbSubjectSearch.DisplayMember = "SubjectName";
            cmbSubjectSearch.ValueMember   = "SubjectName";
        }
        private void btnDone_Click(object sender, EventArgs e)
        {
            List <GroupBox>    listGrBox = new List <GroupBox>();
            List <RadioButton> listRdo   = new List <RadioButton>();

            foreach (GroupBox grBox in panelAllQuiz.Controls.OfType <GroupBox>())
            {
                foreach (RadioButton rdo in grBox.Controls.OfType <RadioButton>())
                {
                    if (rdo.Checked == true)
                    {
                        listRdo.Add(rdo);
                        listGrBox.Add(grBox);
                    }
                }
            }

            DialogResult dialogResult = MessageBox.Show("Xác nhận nộp bài ?", "Thông báo", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.Yes)
            {
                using (var _dbContext = new QuizContextDB())
                {
                    foreach (GroupBox grBoxComplite in listGrBox)
                    {
                        foreach (RadioButton rdoBtn in listRdo)
                        {
                            foreach (Answer answer in _dbContext.Answers.ToList()
                                     .Where(p => p.QuizID == int.Parse(grBoxComplite.Name) && p.Correct == 1.ToString() && p.AnswerID == int.Parse(rdoBtn.Name)))
                            {
                                this.demCorrect++;
                            }
                        }
                    }
                    float quantityCorrect = float.Parse(demCorrect.ToString());
                    float pointPerQuiz    = (float)((float)10 / float.Parse(demQuantityQuiz.ToString()));

                    float pointResult = quantityCorrect * pointPerQuiz;

                    Result result = new Result();
                    result.AccountID = acc.AccountID;
                    result.ExamID    = this.examID;
                    result.DateExam  = DateTime.Now;
                    result.Scores    = pointResult;

                    _dbContext.Results.Add(result);
                    _dbContext.SaveChanges();
                    ShowFrmResultExam(result);
                    this.Close();
                }
            }
        }
        private void ShowDataResult()
        {
            using (var _dbContext = new QuizContextDB())
            {
                Account acc  = _dbContext.Accounts.FirstOrDefault(p => p.AccountID == result.AccountID);
                Exam    exam = _dbContext.Exams.FirstOrDefault(p => p.ExamID == result.ExamID);

                lblNameExam.Text = exam.ExamName;
                lblFullName.Text = acc.FullName;
                lblScore.Text    = result.Scores.ToString();
                lblDateExam.Text = result.DateExam.ToString();
            }
        }
        private void ShowListQuiz(Exam examFind)
        {
            using (var _dbContext = new QuizContextDB())
            {
                int dem = 0, demAnswer = 1;
                int y = 60, x = 55;
                int grVertical = 0;
                foreach (Quiz quiz in _dbContext.Quizs.ToList().Where(p => p.ExamID == this.examID))
                {
                    dem++;
                    this.demQuantityQuiz++;
                    this.nameGr = quiz.QuizID.ToString();
                    GroupBox nameGr = new GroupBox();
                    nameGr.SuspendLayout();
                    nameGr.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                                                                          | System.Windows.Forms.AnchorStyles.Right)));

                    nameGr.Controls.Add(CreateTitleQuiz(quiz.QuizName, dem));
                    foreach (Answer answer in _dbContext.Answers.ToList().Where(p => p.QuizID == quiz.QuizID))
                    {
                        if (demAnswer == 2)
                        {
                            x += 45;
                        }
                        if (demAnswer >= 3)
                        {
                            _ = x == 100 ? x = 55 : x += 45;
                            y = 550;
                        }
                        nameGr.Controls.Add(CreateAwserQuiz(answer.ContentAnswer, demAnswer, x, y, answer.AnswerID));
                        demAnswer++;
                    }
                    nameGr.Location = new System.Drawing.Point(0, grVertical);
                    nameGr.Name     = this.nameGr; //nameGr.ToString()
                    nameGr.Size     = new System.Drawing.Size(1110, 137);
                    nameGr.TabIndex = 6;
                    nameGr.TabStop  = false;
                    nameGr.ResumeLayout(false);
                    nameGr.PerformLayout();
                    grVertical += 135;
                    demAnswer   = 1;
                    y           = 60;
                    x           = 55;
                    this.panelAllQuiz.Controls.Add(nameGr);
                }
                lblTotalDone.Text = dem.ToString();
            }
        }
        private void cmbSearchSubject_SelectedValueChanged(object sender, EventArgs e)
        {
            dgvAllExam.Rows.Clear();
            int viTriDong, dem = 0;

            using (var _dbContext = new QuizContextDB())
            {
                foreach (Exam exam in _dbContext.Exams.Where(p => p.Subject.SubjectName == cmbSearchSubject.Text).ToList())
                {
                    dem++;
                    viTriDong = dgvAllExam.Rows.Add();
                    dgvAllExam.Rows[viTriDong].Cells[0].Value = exam.ExamName;
                    dgvAllExam.Rows[viTriDong].Cells[1].Value = exam.ExamID;
                    dgvAllExam.Rows[viTriDong].Cells[2].Value = exam.Subject.SubjectName;
                }
            }
        }
 private void btnDelete_Click(object sender, EventArgs e)
 {
     if (txtExamID.Text == "")
     {
         MessageBox.Show("Mã kỳ thi rỗng !!");
         return;
     }
     using (var _dbContext = new QuizContextDB())
     {
         DialogResult dialogResult = MessageBox.Show("Bạn có chắc muốn xóa kỳ thi này ?", "Thông báo", MessageBoxButtons.YesNo);
         if (dialogResult == DialogResult.Yes)
         {
             int  idExam = int.Parse(txtExamID.Text.ToString());
             Exam exam   = _dbContext.Exams.FirstOrDefault(p => p.ExamID == idExam);
             foreach (Result i in _dbContext.Results.Where(p => p.ExamID == idExam).ToList())
             {
                 _dbContext.Results.Remove(i);
             }
             //foreach (Quiz i in _dbContext.Quizs.Where(p => p.ExamID == idExam).ToList())
             //{
             //    _dbContext.Quizs.Remove(i);
             //}
             if (exam != null)
             {
                 Quiz quiz = _dbContext.Quizs.FirstOrDefault(p => p.ExamID == idExam);
                 if (quiz != null)
                 {
                     Answer answer = _dbContext.Answers.FirstOrDefault(p => p.QuizID == quiz.QuizID);
                     if (answer != null)
                     {
                         _dbContext.Answers.Remove(answer);
                     }
                 }
                 _dbContext.Exams.Remove(exam);
                 _dbContext.SaveChanges();
                 MessageBox.Show("Xóa thành công");
                 ShowDgv();
                 RestDataForm();
             }
         }
         else if (dialogResult == DialogResult.No)
         {
             //do something else
         }
     }
 }
        private void dgvAllExam_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int rowSelected = e.RowIndex;

            txtExamName.Text = dgvAllExam.Rows[rowSelected].Cells[0].Value.ToString();
            txtExamID.Text   = dgvAllExam.Rows[rowSelected].Cells[1].Value.ToString();
            cmbSubject.Text  = dgvAllExam.Rows[rowSelected].Cells[2].Value.ToString();
            int idExam = int.Parse(dgvAllExam.Rows[rowSelected].Cells[1].Value.ToString());

            using (var _dbContext = new QuizContextDB())
            {
                Exam exam = _dbContext.Exams.FirstOrDefault(p => p.ExamID == idExam);
                txtNameTeacher.Text = exam.Account.FullName;
                quantityQuiz.Value  = int.Parse(exam.TotalQuiz.ToString());
                quantityTime.Value  = int.Parse(exam.TimeTotal.ToString());
                txtFacultyName.Text = acc.Faculty1.FacultyName;
            }
        }
        private void ShowDgv()
        {
            // clear table first show list students
            dgvAllExam.Rows.Clear();
            int viTriDong, dem = 0;

            using (var _dbContext = new QuizContextDB())
            {
                foreach (Exam exam in _dbContext.Exams.Where(p => p.Subject.FacultyID == acc.Faculty).ToList())
                {
                    dem++;
                    viTriDong = dgvAllExam.Rows.Add();
                    dgvAllExam.Rows[viTriDong].Cells[0].Value = exam.ExamName;
                    dgvAllExam.Rows[viTriDong].Cells[1].Value = exam.ExamID;
                    dgvAllExam.Rows[viTriDong].Cells[2].Value = exam.Subject.SubjectName;
                }
            }
        }
        private void RenderData()
        {
            ShowDgv();
            using (var _dbContext = new QuizContextDB())
            {
                List <Subject> subject = _dbContext.Subjects.Where(p => p.FacultyID == acc.Faculty1.FacultyID).ToList();
                this.cmbSubject.DataSource    = subject;
                this.cmbSubject.DisplayMember = "SubjectName";
                this.cmbSubject.ValueMember   = "SubjectID";

                List <Subject> subjectSearch = _dbContext.Subjects.Where(p => p.FacultyID == acc.Faculty1.FacultyID).ToList();
                this.cmbSearchSubject.DataSource    = subjectSearch;
                this.cmbSearchSubject.DisplayMember = "SubjectName";
                this.cmbSearchSubject.ValueMember   = "SubjectID";
            }
            txtNameTeacher.Text = acc.FullName;
            txtFacultyName.Text = acc.Faculty1.FacultyName;
            ShowDgv();
        }
        private void ShowDetailExam()
        {
            using (var _dbContext = new QuizContextDB())
            {
                Exam examFind = _dbContext.Exams.FirstOrDefault(p => p.ExamID == examID);
                if (examFind != null)
                {
                    lblExamName.Text    = examFind.ExamName;
                    lblSubjectName.Text = examFind.Subject.SubjectName;
                    lblDateStart.Text   = DateTime.Now.ToShortDateString();
                    lblFullName.Text    = acc.FullName;
                    lblStudentID.Text   = acc.AccountID;
                    lblClass.Text       = acc.Class1.ClassName;
                    StartCountDown(int.Parse(examFind.TimeTotal.ToString()));

                    ShowListQuiz(examFind);
                }
            }
        }
Beispiel #15
0
        private void SearchForName()
        {
            dgvSearchResult.Rows.Clear();
            int viTriDong, dem = 0;

            using (var _dbContext = new QuizContextDB())
            {
                foreach (Exam exam in _dbContext.Exams.Where(p => p.ExamName.Contains(txtExamName.Text)).ToList())
                {
                    dem++;
                    viTriDong = dgvSearchResult.Rows.Add();
                    dgvSearchResult.Rows[viTriDong].Cells[0].Value = exam.ExamID;
                    dgvSearchResult.Rows[viTriDong].Cells[1].Value = exam.ExamName;
                    dgvSearchResult.Rows[viTriDong].Cells[2].Value = exam.Account.Faculty1.FacultyName;
                    dgvSearchResult.Rows[viTriDong].Cells[3].Value = exam.Account.Class1.ClassName;
                    dgvSearchResult.Rows[viTriDong].Cells[4].Value = exam.Account.FullName;
                    dgvSearchResult.Rows[viTriDong].Cells[5].Value = exam.Subject.SubjectName;
                    dgvSearchResult.Rows[viTriDong].Cells[6].Value = exam.dateCreate;
                }
            }
        }
Beispiel #16
0
        private void ShowAllExam()
        {
            // clear table first show list students
            dgvSearchResult.Rows.Clear();
            int viTriDong, dem = 0;

            using (var _dbContext = new QuizContextDB())
            {
                foreach (Exam exam in _dbContext.Exams.ToList())
                {
                    dem++;
                    viTriDong = dgvSearchResult.Rows.Add();
                    dgvSearchResult.Rows[viTriDong].Cells[0].Value = exam.ExamID;
                    dgvSearchResult.Rows[viTriDong].Cells[1].Value = exam.ExamName;
                    dgvSearchResult.Rows[viTriDong].Cells[2].Value = exam.Account.Faculty1.FacultyName;
                    dgvSearchResult.Rows[viTriDong].Cells[3].Value = exam.Account.Class1.ClassName;
                    dgvSearchResult.Rows[viTriDong].Cells[4].Value = exam.Account.FullName;
                    dgvSearchResult.Rows[viTriDong].Cells[5].Value = exam.Subject.SubjectName;
                    dgvSearchResult.Rows[viTriDong].Cells[6].Value = exam.dateCreate;
                }
            }
        }
Beispiel #17
0
        private void ShowData()
        {
            lblFullName.Text = acc.FullName;
            dgvHistoryExam.Rows.Clear();
            int viTriDong, dem = 0;

            using (var _dbContext = new QuizContextDB())
            {
                foreach (Result result in _dbContext.Results.Where(p => p.AccountID == acc.AccountID).ToList())
                {
                    if (result != null)
                    {
                        dem++;
                        viTriDong = dgvHistoryExam.Rows.Add();
                        dgvHistoryExam.Rows[viTriDong].Cells[0].Value = result.Exam.ExamID;
                        dgvHistoryExam.Rows[viTriDong].Cells[1].Value = result.Exam.ExamName;
                        dgvHistoryExam.Rows[viTriDong].Cells[2].Value = result.Exam.Subject.SubjectName;
                        dgvHistoryExam.Rows[viTriDong].Cells[3].Value = result.Scores;
                        dgvHistoryExam.Rows[viTriDong].Cells[4].Value = result.DateExam;
                    }
                }
            }
        }
        private void txtSearchNameExam_TextChanged(object sender, EventArgs e)
        {
            if (txtSearchNameExam.Text == "")
            {
                ShowDgv();
                return;
            }
            // clear table first show list students
            dgvAllExam.Rows.Clear();
            int viTriDong, dem = 0;

            using (var _dbContext = new QuizContextDB())
            {
                foreach (Exam exam in _dbContext.Exams.Where(p => p.ExamName.Contains(txtSearchNameExam.Text)).ToList())
                {
                    dem++;
                    viTriDong = dgvAllExam.Rows.Add();
                    dgvAllExam.Rows[viTriDong].Cells[0].Value = exam.ExamName;
                    dgvAllExam.Rows[viTriDong].Cells[1].Value = exam.ExamID;
                    dgvAllExam.Rows[viTriDong].Cells[2].Value = exam.Subject.SubjectName;
                }
            }
        }
Beispiel #19
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            string email    = txtEmail.Text.Trim();
            string password = txtPassword.Text.Trim();

            if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(password))
            {
                MessageBox.Show("Wrong username or password", "Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Hand);
                return;
            }
            using (var _dbContext = new QuizContextDB())
            {
                Account acc  = _dbContext.Accounts.Where(p => p.Email == email).FirstOrDefault();
                Account acc1 = _dbContext.Accounts.Where(p => p.Password == password).FirstOrDefault();
                if (acc == null && acc1 == null)
                {
                    MessageBox.Show("Đăng nhập thất bại");
                }
                else if (acc == null && acc1 != null)
                {
                    MessageBox.Show("Không tìm thấy email này");
                }
                else if (acc != null && acc1 == null)
                {
                    MessageBox.Show("Sai mật khẩu");
                }
                else
                {
                    if (accountAuthentication != null)
                    {
                        accountAuthentication(acc);
                    }
                    this.Close();
                }
            }
        }
 private void btnAdd_Click(object sender, EventArgs e)
 {
     if (txtExamName.Text == "" || txtFacultyName.Text == "" || quantityQuiz.Value == 0 || quantityTime.Value == 0)
     {
         MessageBox.Show("Vui lòng điền đủ thông tin !");
         return;
     }
     if (txtExamID.Text != "")
     {
         this.examID = int.Parse(txtExamID.Text.ToString());
     }
     using (var _dbContext = new QuizContextDB())
     {
         Exam examFind = _dbContext.Exams.FirstOrDefault(p => p.ExamID == this.examID);
         if (examFind == null)
         {
             Exam exam = new Exam()
             {
                 SubjectID  = cmbSubject.SelectedValue.ToString(),
                 ExamName   = txtExamName.Text,
                 AccountID  = acc.AccountID,
                 TimeTotal  = int.Parse(quantityTime.Value.ToString()),
                 TotalQuiz  = int.Parse(quantityQuiz.Value.ToString()),
                 dateCreate = DateTime.Now
             };
             _dbContext.Exams.Add(exam);
             _dbContext.SaveChanges();
             ShowDgv();
             ShowFrmCreateQuiz(exam);
         }
         else
         {
             MessageBox.Show("Mã kỳ thi tồn tại!");
             return;
         }
     }
 }