//start take exam private void StartTest_Click(object sender, EventArgs e) { ExamDS.exam_exceptionDataTable datatable = examManager.GetExceptionOccurTime(RememberUserParameter.userId, FormPassValue.examId); FormPassValue.currentWindowState = this.WindowState; //exception if (datatable.Rows.Count > 0) { DateTime exceptiontime; var rs = from dt in datatable select new { dt.occur_time }; foreach (var item in rs) { exceptiontime = item.occur_time; } //if (DateTime.Now - exceptiontime) //whether add exption duration to endtime int haveAnsweredNum = questionManager.QueryHaveAnsweredQuestionNumber(RememberUserParameter.userId, FormPassValue.examId); //begin from which question FormPassValue.questionSerial = haveAnsweredNum + 1; this.DialogResult = DialogResult.OK; } else //normal { TimeSpan tsNow = new TimeSpan((DateTime.Now).Ticks); TimeSpan tsEffective = new TimeSpan(effectiveTime.Ticks); double timeInterval = tsEffective.Subtract(tsNow).TotalSeconds; bool result = examManager.ValidationIsHasTokenExam(RememberUserParameter.userId, FormPassValue.examId); if (timeInterval > 0) { this.lblHintMessage.Text = ResourceCulture.GetString(HAVE_NOT_START_MESSAGE); this.pnlHint.Visible = true; } else if (result == true) { this.lblHintMessage.Text = ResourceCulture.GetString(HAVE_TOKEN_EXAM); this.pnlHint.Visible = true; } else { TimeSpan tsEnd = new TimeSpan(FormPassValue.endTime.Ticks); double endTimeInterval = tsNow.Subtract(tsEnd).TotalSeconds; if (endTimeInterval >= 0) { this.lblHintMessage.Text = ResourceCulture.GetString(HAVE_END); this.pnlHint.Visible = true; return; } this.DialogResult = DialogResult.OK; } } }
private void StartTest_Click(object sender, EventArgs e) { ExamDS.exam_exceptionDataTable datatable = examManager.GetExceptionOccurTime(RememberSomeParameter.userId, FormPassValue.examId); //exception if (datatable.Rows.Count > 0) { DateTime exceptiontime; var rs = from dt in datatable select new { dt.occur_time }; foreach (var item in rs) { exceptiontime = item.occur_time; } //if (DateTime.Now - exceptiontime) //whether add exption duration to endtime int haveAnsweredNum = questionManager.QueryHaveAnsweredQuestionNumber(RememberSomeParameter.userId, FormPassValue.examId); //begin from which question FormPassValue.questionSerial = haveAnsweredNum + 1; this.DialogResult = DialogResult.OK; } else //normal { TimeSpan tsNow = new TimeSpan((DateTime.Now).Ticks); TimeSpan tsEffective = new TimeSpan(effectiveTime.Ticks); double timeInterval = tsEffective.Subtract(tsNow).TotalSeconds; if (timeInterval > 0) { this.lblHintMessage.Text = haveNotStartMessage; this.pnlHint.Visible = true; } else { TimeSpan tsEnd = new TimeSpan(FormPassValue.endTime.Ticks); double endTimeInterval = tsNow.Subtract(tsEnd).TotalSeconds; if (endTimeInterval >= 0) { this.lblHintMessage.Text = haveEndMessage; this.pnlHint.Visible = true; return; } this.DialogResult = DialogResult.OK; } } }