/// <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(); } } }
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; } } }