private bool SettingsAreOK() { PassingRateBLL passingRateBLL = new PassingRateBLL(); int passingRate = passingRateBLL.GetCurrentPassingRate(); if (passingRate == 0) { //Console.WriteLine("PASSING RATE NOT SET"); return(false); } ExamineeFailureBLL examineeFailureBLL = new ExamineeFailureBLL(); int currentWaitDays = examineeFailureBLL.GetCurrentWaitDays(); if (currentWaitDays == 0) { //Console.WriteLine("WAIT DAYS NOT SET"); return(false); } ExamBLL examBLL = new ExamBLL(); bool isIncomplete = false; isIncomplete = examBLL.HasIncompleteExam(); if (isIncomplete) { //Console.WriteLine("INCOMPLETE ACTIVE EXAM"); return(false); } return(true); }
public UCtrlSettings() { InitializeComponent(); _passingRateBLL = new PassingRateBLL(); _currentPassingRate = _passingRateBLL.GetCurrentPassingRate(); _examineeFailureBLL = new ExamineeFailureBLL(); _currentWaitDays = _examineeFailureBLL.GetCurrentWaitDays(); _examBLL = new ExamBLL(); _examViewModelList = _examBLL.GetExamViewModelList(true); dgvPassingRate.AutoGenerateColumns = false; dgvExamineeFailure.AutoGenerateColumns = false; dgvExam.AutoGenerateColumns = false; SetPassingRateDefaultSettings(); SetWaitDaysDefaultSettings(); SetArchivedExam(); }
private void SetQuestion() { _examItemCount = _examList.Single(e => e.ExamId == _examId).ItemCount; int examCount = _examList.Count; if (_questionNumber < _examItemCount) { _counter++; SetExaminationInfo(); SetQuestionLabelText(); SetChoice(); } else { _subjectScoreList.Add(new SubjectScore { SubjectName = _examList.Single(e => e.ExamId == _examId).Subject.SubjectName, Score = _examScore, ItemCount = _examItemCount }); _examineeExamList[_index].Score = _examScore; // set score in exam taken _questionNumber = 0; _index++; _examScore = 0; // reset score _counter = 1; // reset counter if (_index < examCount) { _examId = _examineeExamList[_index].ExamId; _examItemCount = _examList.Single(e => e.ExamId == _examId).ItemCount; SetExaminationInfo(); SetQuestionLabelText(); SetChoice(); } else { _doLoop = false; _timer.Enabled = false; this.Visible = false; _passingRateBLL = new PassingRateBLL(); _examineeTakeInfo.PassingRate = _passingRateBLL.GetCurrentPassingRate(); var examScoreSummary = _subjectScoreList .GroupBy(g => new { g.SubjectName, }) .Select(s => new { s.Key.SubjectName, ItemCount = s.Sum(ic => ic.ItemCount), TotalScore = s.Sum(ts => ts.Score), Result = s.Sum(ts => ts.Score) >= Math.Ceiling(Compute.GetPercentage((double)_examineeTakeInfo.PassingRate, s.Sum(ic => ic.ItemCount))) ? true : false //,View = s.Sum(ts => ts.Score) + " >= " + Math.Ceiling(Compute.GetPercentage((double)_examineeTakeInfo.PassingRate, s.Sum(ic => ic.ItemCount))) }); //foreach (var item in examScoreSummary) //{ // Console.WriteLine("Items: " + item.ItemCount + " Score:" + item.TotalScore + " |View:" + item.View); //} bool passedExam = examScoreSummary.Where(e => e.Result == false).Count() == 0; // if list got no failed(false) exam score _examineeTakeInfo.Result = passedExam; _examineeTakeBLL = new ExamineeTakeBLL(); _examineeTakeBLL.UpdateExamineeTake(_examineeTakeInfo); _examineeBLL = new ExamineeBLL(); _examineeBLL.IncreaseExamineeExamTaken(_examineeTakeInfo.ExamineeId); FrmCounter frmCounter = new FrmCounter("Your Exam Ends In..."); frmCounter.ShowDialog(this); this.Close(); } } }