/// <summary>
        /// Kiểm tra trùng đề đi
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        bool TestCode(string code)
        {
            tblThread tbl = db.tblThreads.SingleOrDefault(c => c.ThreadsID.Trim().ToLower() == code.Trim().ToLower());

            if (tbl != null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// Sự kiện khi muốn xóa hoặc sửa click chọn trên gridview
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void grvThread_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            threadID = e.CommandArgument.ToString();
            TestOnlineDataContext db = new TestOnlineDataContext();

            //Xóa 1 hàng trong gridview
            if (e.CommandName == "Delete")
            {
                tblThread doc = db.tblThreads.SingleOrDefault(d => d.ThreadsID.ToString().Trim() == e.CommandArgument.ToString().Trim());
                if (doc != null)
                {
                    db.tblThreads.DeleteOnSubmit(doc);
                    db.SubmitChanges();
                    LoadGrid();
                    lblThongBao.Visible = true;
                    lblThongBao.Text    = "Bạn đã xóa thành công";
                    Refresh();
                }
            }
            // Chọn hàng muốn sửa
            if (e.CommandName == "Edit")
            {
                tblThread doc = db.tblThreads.SingleOrDefault(d => d.ThreadsID.ToString().Trim() == e.CommandArgument.ToString().Trim());
                if (doc != null)
                {
                    ddlDate.Text             = doc.DateTest.Value.Date.ToString();
                    ddlMonth.Text            = doc.DateTest.Value.Month.ToString();
                    ddlYear.Text             = doc.DateTest.Value.Year.ToString();
                    txtCreateDate.Text       = doc.CreateDate.ToShortDateString();
                    txtMaxScores.Text        = doc.MaxScores.ToString();
                    txtNumberQuestion.Text   = doc.NumberQuestions.ToString();
                    txtThreadID.Text         = doc.ThreadsID;
                    txtThreadName.Text       = doc.TheadName;
                    ddlLevel.Text            = doc.Level.ToString();
                    ddlStatus.Text           = doc.Status.ToString().Trim();
                    ddlSubject.SelectedValue = doc.SubjectID.ToString();
                    txtMimute.Text           = doc.Minute;
                    txtHour.Text             = doc.Hour;
                    txtThreadID.ReadOnly     = true;
                    btnCreate.Enabled        = false;
                    btnEdit1.Enabled         = true;
                    lblThongBao.Text         = "";
                }
            }
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Session.Contents["login"].ToString() == "0")
     {
         Response.Redirect("HomePage.aspx");
     }
     else
     {
         if (!IsPostBack)
         {
             dc = new TestOnlineDataContext();
             string threadID  = ""; threadID = Request.QueryString["threadid"];
             string subjectID = Request.QueryString["subjectID"];
             threadID = threadID.Replace("'", "");
             loadcauhoi(threadID);
             tblThread th = dc.tblThreads.SingleOrDefault(c => c.ThreadsID.ToString() == threadID);
             if (th != null)
             {
                 lblThread.Text  = th.TheadName;
                 lblSubject.Text = th.tblSubject.SubjectName;
                 if (th.HitCount.ToString() == "")
                 {
                     th.HitCount = 1;
                 }
                 else
                 {
                     th.HitCount = th.HitCount + 1;
                 }
                 if (th.Status == 2)
                 {
                     DateTime t  = DateTime.Now;
                     DateTime t1 = Convert.ToDateTime(th.DateTest);
                     DateTime t2 = t1.AddMinutes(90);
                     TimeSpan t3 = t2 - t;
                     string   s1 = t3.Minutes.ToString();
                     Label2.Text = "<input name='thoigian' type='hidden' value='" + s1 + "'>";
                 }
             }
             dc.SubmitChanges();
             lblFullName.Text = Session.Contents["FullName"].ToString();
         }
     }
 }
Exemple #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string thread             = Request.QueryString["threadid"];
            TestOnlineDataContext db  = new TestOnlineDataContext();
            tblThread             tbl = db.tblThreads.SingleOrDefault(c => c.ThreadsID.Trim() == thread.Trim());

            if (tbl.Status == 1)
            {
                this.Title = "Ôn luyện";
            }
            if (tbl.Status == 2)
            {
                this.Title = "Thi trực tuyến";
            }
            if (tbl.Status == 3)
            {
                this.Title = "Luyện đề đã thi";
            }
        }
        protected void btnDeleteAll_Click(object sender, EventArgs e)
        {
            int record = 0;
            TestOnlineDataContext db = new TestOnlineDataContext();

            foreach (GridViewRow row in grvThreadUniversity.Rows)
            {
                CheckBox chk = (CheckBox)row.FindControl("chkSelect");
                if (chk != null)
                {
                    if (chk.Checked)
                    {
                        LinkButton link = (LinkButton)row.FindControl("btnSua");
                        tblThread  at   = db.tblThreads.SingleOrDefault(c => c.ThreadsID.ToString() == link.CommandArgument.ToString());
                        if (at != null)
                        {
                            // delete file when xoa

                            db.tblThreads.DeleteOnSubmit(at);
                            db.SubmitChanges();
                            record++;
                        }
                    }
                }
            }
            if (record > 0)
            {
                LoadGrid();
                // when will announciment

                lblThongBao.Text    = "Bạn vừa xóa thành công " + record.ToString() + " bản ghi!";
                lblThongBao.Visible = true;
            }
            else
            {
                lblThongBao.Text    = "Không có bản ghi nào được chọn !";
                lblThongBao.Visible = true;
            }
            Refresh();
        }
        void loadngaythi(string SubjectID)
        {
            dc = new TestOnlineDataContext();
            string    s = "";
            tblThread a = dc.tblThreads.SingleOrDefault(p => p.SubjectID == SubjectID && p.Status == 2);

            if (a == null)
            {
                s = "<div>Hiện tại không có cuộc thi trắc nghiệm online nào</div>";
            }
            else
            {
                DateTime t    = DateTime.Now;
                DateTime t1   = Convert.ToDateTime(a.DateTest);
                DateTime t2   = t1.AddMinutes(90);
                int      tmp  = DateTime.Compare(t, t1);
                int      tmp2 = DateTime.Compare(t2, t);
                if (tmp >= 0)
                {
                    if (tmp2 == 1)
                    {
                        LinkButton1.Visible = true;
                        string threadID = a.ThreadsID.ToString();
                        s = "<div>Nhấn nút Enter để vào thi  </div>";
                        LinkButton1.PostBackUrl = "~/HomeTest.aspx?threadid=" + threadID;
                    }
                    if (tmp2 <= 0)
                    {
                        s = "<div>Qúa giờ thi</div>";
                    }
                }
                else
                {
                    s = "<div>Chưa đến giờ thi </div>";
                }
            }
            Label1.Text = s;
        }
 protected void btnEdit1_Click(object sender, EventArgs e)
 {
     if (txtMaxScores.Text == "" || txtThreadID.Text == "" || txtThreadName.Text == "" || ddlSubject.SelectedIndex == (ddlSubject.Items.Count - 1))
     {
         lblThongBao.Text    = "Bạn chưa nhập đầy đủ thông tin";
         lblThongBao.Visible = true;
     }
     else
     {
         if (cls.KtraNumberFloat(txtMaxScores.Text) == true)
         {
             if (fulFile.HasFile)
             {
                 #region Tạo đề thi
                 tblThread th = db.tblThreads.SingleOrDefault(c => c.ThreadsID == txtThreadID.Text);
                 if (th != null)
                 {
                     UploadFile(fulFile);
                     th.SubjectID = ddlSubject.SelectedValue.ToString().Trim();
                     th.TheadName = txtThreadName.Text;
                     th.ThreadsID = txtThreadID.Text;
                     th.MaxScores = float.Parse(txtMaxScores.Text);
                     th.Status    = 4;
                     //tbl.DateTest = DateTime.Parse(date);
                     th.CreateDate = DateTime.Now;
                     db.SubmitChanges();
                     lblThongBao.Text    = "Bạn đã sửa thành công";
                     lblThongBao.Visible = true;
                     LoadGrid();
                     txtThreadID.Text = sinhmatudong();
                     #endregion
                     #region lấy dữ liệu từ excel vào Gridview
                     // OpenFileDialog openFi = new OpenFileDialog();
                     // fulFile.filt.Filter = "Kiểu file: (*.xls)|*.xls";
                     ex.Application excelObj = new Microsoft.Office.Interop.Excel.Application();
                     // if (openFi.ShowDialog() == DialogResult.OK)
                     // {
                     ex.Workbook  myWorkBook = excelObj.Workbooks.Open(Server.MapPath(@"/FileUpload/Question/" + fulFile.FileName), 0, true, 5, "", "", true, ex.XlPlatform.xlWindows, "\t", false, false, 0, true, 0, 0);
                     ex.Sheets    sheets     = myWorkBook.Worksheets;
                     ex.Worksheet worksheet  = (ex.Worksheet)sheets.get_Item(1);
                     object       rowIndex   = 7;
                     int          index      = 0;
                     int          count      = 7;
                     while (((ex.Range)worksheet.Cells[rowIndex, 2]).Value2 != null)
                     {
                         if (Convert.ToString(((ex.Range)worksheet.Cells[rowIndex, 1]).Value2) != null && ((Convert.ToString(((ex.Range)worksheet.Cells[rowIndex, 3]).Value2) != null)))
                         {
                             string subjectCode = Convert.ToString(((ex.Range)worksheet.Cells[2, 2]).Value2);
                             string content     = Convert.ToString(((ex.Range)worksheet.Cells[rowIndex, 2]).Value2);
                             string daA         = Convert.ToString(((ex.Range)worksheet.Cells[rowIndex, 3]).Value2);
                             string daB         = Convert.ToString(((ex.Range)worksheet.Cells[rowIndex, 4]).Value2);
                             string daC         = Convert.ToString(((ex.Range)worksheet.Cells[rowIndex, 5]).Value2);
                             string daD         = Convert.ToString(((ex.Range)worksheet.Cells[rowIndex, 6]).Value2);
                             string answer      = Convert.ToString(((ex.Range)worksheet.Cells[rowIndex, 7]).Value2);
                             string level       = Convert.ToString(((ex.Range)worksheet.Cells[rowIndex, 8]).Value2);
                             if (ddlSubject.SelectedValue.ToString().ToLower().Trim() == subjectCode.ToLower().Trim())
                             {
                                 if (TestQuestionCode(content) == false)
                                 {
                                     tblQuestion tbl = new tblQuestion();
                                     tbl.Content = content;
                                     tbl.ChocieA = daA;
                                     tbl.ChocieB = daB;
                                     tbl.ChocieC = daC;
                                     tbl.ChocieD = daD;
                                     if (answer.Trim().ToLower() == "a")
                                     {
                                         tbl.Answer = daA;
                                     }
                                     if (answer.Trim().ToLower() == "b")
                                     {
                                         tbl.Answer = daB;
                                     }
                                     if (answer.Trim().ToLower() == "c")
                                     {
                                         tbl.Answer = daC;
                                     }
                                     if (answer.Trim().ToLower() == "d")
                                     {
                                         tbl.Answer = daD;
                                     }
                                     tbl.SubjectID = subjectCode;
                                     tbl.Level     = int.Parse(level);
                                     db.tblQuestions.InsertOnSubmit(tbl);
                                     db.SubmitChanges();
                                     if (TestCodeThreadQuestion(th.ThreadsID, tbl.QuestionsID.ToString()) == false)
                                     {
                                         tblThreadQuestion thq = new tblThreadQuestion();
                                         thq.QuestionsID = tbl.QuestionsID;
                                         thq.ThreadsID   = th.ThreadsID;
                                         db.tblThreadQuestions.InsertOnSubmit(thq);
                                         db.SubmitChanges();
                                     }
                                 }
                                 else
                                 {
                                     tblQuestion tbQuestion = db.tblQuestions.SingleOrDefault(c => c.Content.Trim().ToLower() == content.ToLower());
                                     if (tbQuestion != null)
                                     {
                                         if (TestCodeThreadQuestion(th.ThreadsID, tbQuestion.QuestionsID.ToString()) == false)
                                         {
                                             tblThreadQuestion thq = new tblThreadQuestion();
                                             thq.QuestionsID = tbQuestion.QuestionsID;
                                             thq.ThreadsID   = th.ThreadsID;
                                             db.tblThreadQuestions.InsertOnSubmit(thq);
                                             db.SubmitChanges();
                                         }
                                     }
                                 }
                             }
                             else
                             {
                                 lblThongBao.Text    = "Mã môn học và mã file excel bạn chọn không trùng nhau";
                                 lblThongBao.Visible = true; break;
                             }
                             index++;
                         }
                         rowIndex = ++count;
                     }
                     #endregion
                 }
             }
             else
             {
                 lblThongBao.Text    = "Chưa chọn file câu hỏi";
                 lblThongBao.Visible = true;
             }
         }
         else
         {
             lblThongBao.Text    = "Tổng điểm bạn phải nhập số";
             lblThongBao.Visible = true;
         }
     }
 }
 /// <summary>
 /// Sửa dữ liệu với hàng được chọn
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void btnEdit1_Click(object sender, EventArgs e)
 {
     if (txtMaxScores.Text == "" || txtNumberQuestion.Text == "" || txtThreadID.Text == "" || txtThreadName.Text == "" || ddlLevel.SelectedIndex == 0 || ddlStatus.SelectedIndex == 0 || ddlSubject.SelectedIndex == (ddlSubject.Items.Count - 1) || ddlDate.SelectedIndex == 0 || ddlMonth.SelectedIndex == 0 || ddlYear.SelectedIndex == 0)
     {
         lblThongBao.Text    = "Bạn chưa nhập đầy đủ thông tin";
         lblThongBao.Visible = true;
     }
     else
     {
         if (cls.KtraNumberFloat(txtMaxScores.Text) == true)
         {
             if (cls.KtraNumber(txtNumberQuestion.Text) == true)
             {
                 if (cls.KtraNumber(txtHour.Text) == true && cls.KtraNumber(txtMimute.Text) == true && TestHour() == true)
                 {
                     tblThread tbl = db.tblThreads.SingleOrDefault(c => c.ThreadsID.Trim() == threadID.Trim());
                     if (tbl != null)
                     {
                         tbl.SubjectID = ddlSubject.SelectedValue.ToString().Trim();
                         tbl.Status    = int.Parse(ddlStatus.Text);
                         tbl.TheadName = txtThreadName.Text;
                         tbl.ThreadsID = txtThreadID.Text;
                         tbl.MaxScores = float.Parse(txtMaxScores.Text);
                         tbl.Level     = int.Parse(ddlLevel.Text);
                         try
                         {
                             string date = ddlDate.Text.Trim() + "/" + ddlMonth.Text.Trim() + "/" + ddlYear.Text;
                             tbl.DateTest = DateTime.Parse(date);
                         }
                         catch
                         {
                             string date = ddlMonth.Text + "/" + ddlDate.Text + "/" + ddlYear.Text;
                             tbl.DateTest = DateTime.Parse(date);
                         }
                         tbl.CreateDate      = DateTime.Now;
                         tbl.NumberQuestions = int.Parse(txtNumberQuestion.Text);
                         db.SubmitChanges();
                         lblThongBao.Text    = "Bạn đã sửa thành công";
                         lblThongBao.Visible = true;
                         LoadGrid();
                     }
                     else
                     {
                         lblThongBao.Text    = "Không tồn tại bản ghi cần sửa";
                         lblThongBao.Visible = true;
                     }
                 }
                 else
                 {
                     lblThongBao.Text = "Bạn nhập giờ thi và phút thi không đúng";
                 }
             }
             else
             {
                 lblThongBao.Text    = "Số câu hỏi bạn phải nhập số";
                 lblThongBao.Visible = true;
             }
         }
         else
         {
             lblThongBao.Text    = "Tổng điểm bạn phải nhập số";
             lblThongBao.Visible = true;
         }
     }
 }
        /// <summary>
        /// Thêm 1 bản ghi mới vào cơ sở dữ liệu
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnCreateNews_Click(object sender, EventArgs e)
        {
            if (txtMaxScores.Text == "" || txtNumberQuestion.Text == "" || txtThreadID.Text == "" || txtThreadName.Text == "" || ddlLevel.SelectedIndex == 0 || ddlStatus.SelectedIndex == 0 || ddlSubject.SelectedIndex == (ddlSubject.Items.Count - 1) || ddlDate.SelectedIndex == 0 || ddlMonth.SelectedIndex == 0 || ddlYear.SelectedIndex == 0)
            {
                lblThongBao.Text    = "Bạn chưa nhập đầy đủ thông tin";
                lblThongBao.Visible = true;
            }
            else
            {
                if (cls.KtraNumberFloat(txtMaxScores.Text) == true)
                {
                    if (cls.KtraNumber(txtNumberQuestion.Text) == true)
                    {
                        if (TestCode(txtThreadID.Text) == false)
                        {
                            if (cls.KtraNumber(txtHour.Text) == true && cls.KtraNumber(txtMimute.Text) == true)
                            {
                                if (TestHour() == true)
                                {
                                    #region Tạo đề thi
                                    tblThread tbl = new tblThread();
                                    tbl.SubjectID = ddlSubject.SelectedValue.ToString().Trim();
                                    tbl.Status    = int.Parse(ddlStatus.Text);
                                    tbl.TheadName = txtThreadName.Text;
                                    tbl.ThreadsID = txtThreadID.Text;
                                    tbl.MaxScores = float.Parse(txtMaxScores.Text);
                                    tbl.Level     = int.Parse(ddlLevel.Text);
                                    //tbl.DateTest = DateTime.Parse(date);
                                    tbl.CreateDate = DateTime.Now;
                                    try
                                    {
                                        string date = ddlMonth.Text + "/" + ddlDate.Text + "/" + ddlYear.Text + " " + txtHour.Text + ":" + txtMimute.Text + ":" + "00";
                                        tbl.DateTest = Convert.ToDateTime(date);
                                    }
                                    catch
                                    {
                                        string date = ddlDate.Text.Trim() + "/" + ddlMonth.Text.Trim() + "/" + ddlYear.Text + " " + txtHour.Text + ":" + txtMimute.Text + ":" + "00";
                                        tbl.DateTest = Convert.ToDateTime(date);
                                    }
                                    tbl.NumberQuestions = int.Parse(txtNumberQuestion.Text);
                                    db.tblThreads.InsertOnSubmit(tbl);
                                    db.SubmitChanges();
                                    lblThongBao.Text    = "Bạn đã nhập thành công";
                                    lblThongBao.Visible = true;


                                    /// Soc đề
                                    try
                                    {
                                        taodethi(int.Parse(ddlLevel.Text), ddlSubject.SelectedValue.ToString(), txtThreadID.Text);
                                    }
                                    catch
                                    {
                                        lblThongBao.Text = "Vượt quá số câu hỏi";
                                    }
                                    var cl = db.tblThreadQuestions.Where(c => c.ThreadsID == txtThreadID.Text);
                                    if (cl.Count() <= 0)
                                    {
                                        tblThread tl = db.tblThreads.SingleOrDefault(c => c.ThreadsID == txtThreadID.Text);
                                        if (tl != null)
                                        {
                                            db.tblThreads.DeleteOnSubmit(tl); db.SubmitChanges();
                                        }
                                    }
                                    txtThreadID.Text = sinhmatudong();
                                    LoadGrid();
                                    #endregion
                                }
                                else
                                {
                                    lblThongBao.Text = "Bạn nhập giờ thi và phút thi không đúng !";
                                }
                            }
                            else
                            {
                                lblThongBao.Text = "Bạn nhập giờ thi và phút thi không đúng";
                            }
                        }
                        else
                        {
                            lblThongBao.Text = "Trùng mã đề thi";
                        }
                    }
                    else
                    {
                        lblThongBao.Text    = "Số câu hỏi bạn phải nhập số";
                        lblThongBao.Visible = true;
                    }
                }
                else
                {
                    lblThongBao.Text    = "Tổng điểm bạn phải nhập số";
                    lblThongBao.Visible = true;
                }
            }
        }