public void Process(PaperParser paperParser) { MainRect = paperParser.HeaderRect.GetInnerRect(LeftOffset, TopOffset, RightOffset, BottomOffset); SetARegion = MainRect.GetInnerRect(0, 0, 1.0 / 3.0, 1); SetBRegion = MainRect.GetInnerRect(1.0 / 3.0, 0, 2.0 / 3.0, 1); SetCRegion = MainRect.GetInnerRect(2.0 / 3.0, 0, 1, 1); isSetAShaded = false; isSetBShaded = false; isSetCShaded = false; ShadeSet = null; shadedSetCount = 0; foreach (Shade s in paperParser.HeaderShades) { if (SetARegion.IsInside(s.Center)) { isSetAShaded = true; ShadeSet = s; } else if (SetBRegion.IsInside(s.Center)) { isSetBShaded = true; ShadeSet = s; } else if (SetCRegion.IsInside(s.Center)) { isSetCShaded = true; ShadeSet = s; } } shadedSetCount += isSetAShaded ? 1 : 0; shadedSetCount += isSetBShaded ? 1 : 0; shadedSetCount += isSetCShaded ? 1 : 0; if (shadedSetCount == 0) { SetParserResult = SetParserResult.Unshaded; } else if (shadedSetCount > 1) { SetParserResult = SetParserResult.Multishaded; } else if (isSetAShaded) { SetParserResult = SetParserResult.SetA; AssessmentSetResult = AssessmentSet.SetA; } else if (isSetBShaded) { SetParserResult = SetParserResult.SetB; AssessmentSetResult = AssessmentSet.SetB; } else if (isSetCShaded) { SetParserResult = SetParserResult.SetC; AssessmentSetResult = AssessmentSet.SetC; } }
public void fvCreateAssessment_InsertItem() { AssessmentSet assessment = new AssessmentSet(); TryUpdateModel(assessment); if (ModelState.IsValid) { OnlineAssessmentEntities _db = new OnlineAssessmentEntities(); _db.AssessmentSets.Add(assessment); _db.SaveChanges(); Response.Redirect("~/LecturerFolder/ViewAssessment.aspx"); } }
public bool GetEnabled(AssessmentSet set) { switch (set) { case AssessmentSet.SetB: return(SetBEnabled); case AssessmentSet.SetC: return(SetCEnabled); default: return(true); } }
public void SetItems(AssessmentItem[] items, AssessmentSet set) { switch (set) { case AssessmentSet.SetA: SetAKeys = items; break; case AssessmentSet.SetB: SetBKeys = items; break; case AssessmentSet.SetC: SetCKeys = items; break; } }
public AssessmentItem[] GetItems(AssessmentSet set) { switch (set) { case AssessmentSet.SetA: return(SetAKeys); case AssessmentSet.SetB: return(SetBKeys); case AssessmentSet.SetC: return(SetCKeys); default: return(null); } }
private void ComboBoxSet_SelectedIndexChanged(object sender, EventArgs e) { switch (comboBoxSet.SelectedIndex) { case 0: assessmentSet = AssessmentSet.SetA; checkBoxEnabled.Checked = true; checkBoxEnabled.Enabled = false; break; case 1: assessmentSet = AssessmentSet.SetB; checkBoxEnabled.Checked = assessment.SetBEnabled; checkBoxEnabled.Enabled = true; break; case 2: assessmentSet = AssessmentSet.SetC; checkBoxEnabled.Checked = assessment.SetCEnabled; checkBoxEnabled.Enabled = true; break; } keyHolder1.Set(1, assessment.GetItems(assessmentSet)[0].Key); keyHolder2.Set(2, assessment.GetItems(assessmentSet)[1].Key); keyHolder3.Set(3, assessment.GetItems(assessmentSet)[2].Key); keyHolder4.Set(4, assessment.GetItems(assessmentSet)[3].Key); keyHolder5.Set(5, assessment.GetItems(assessmentSet)[4].Key); keyHolder6.Set(6, assessment.GetItems(assessmentSet)[5].Key); keyHolder7.Set(7, assessment.GetItems(assessmentSet)[6].Key); keyHolder8.Set(8, assessment.GetItems(assessmentSet)[7].Key); keyHolder9.Set(9, assessment.GetItems(assessmentSet)[8].Key); keyHolder10.Set(10, assessment.GetItems(assessmentSet)[9].Key); keyHolder11.Set(11, assessment.GetItems(assessmentSet)[10].Key); keyHolder12.Set(12, assessment.GetItems(assessmentSet)[11].Key); keyHolder13.Set(13, assessment.GetItems(assessmentSet)[12].Key); keyHolder14.Set(14, assessment.GetItems(assessmentSet)[13].Key); keyHolder15.Set(15, assessment.GetItems(assessmentSet)[14].Key); keyHolder16.Set(16, assessment.GetItems(assessmentSet)[15].Key); keyHolder17.Set(17, assessment.GetItems(assessmentSet)[16].Key); keyHolder18.Set(18, assessment.GetItems(assessmentSet)[17].Key); keyHolder19.Set(19, assessment.GetItems(assessmentSet)[18].Key); keyHolder20.Set(20, assessment.GetItems(assessmentSet)[19].Key); keyHolder21.Set(21, assessment.GetItems(assessmentSet)[20].Key); keyHolder22.Set(22, assessment.GetItems(assessmentSet)[21].Key); keyHolder23.Set(23, assessment.GetItems(assessmentSet)[22].Key); keyHolder24.Set(24, assessment.GetItems(assessmentSet)[23].Key); keyHolder25.Set(25, assessment.GetItems(assessmentSet)[24].Key); keyHolder26.Set(26, assessment.GetItems(assessmentSet)[25].Key); keyHolder27.Set(27, assessment.GetItems(assessmentSet)[26].Key); keyHolder28.Set(28, assessment.GetItems(assessmentSet)[27].Key); keyHolder29.Set(29, assessment.GetItems(assessmentSet)[28].Key); keyHolder30.Set(30, assessment.GetItems(assessmentSet)[29].Key); keyHolder31.Set(31, assessment.GetItems(assessmentSet)[30].Key); keyHolder32.Set(32, assessment.GetItems(assessmentSet)[31].Key); keyHolder33.Set(33, assessment.GetItems(assessmentSet)[32].Key); keyHolder34.Set(34, assessment.GetItems(assessmentSet)[33].Key); keyHolder35.Set(35, assessment.GetItems(assessmentSet)[34].Key); keyHolder36.Set(36, assessment.GetItems(assessmentSet)[35].Key); keyHolder37.Set(37, assessment.GetItems(assessmentSet)[36].Key); keyHolder38.Set(38, assessment.GetItems(assessmentSet)[37].Key); keyHolder39.Set(39, assessment.GetItems(assessmentSet)[38].Key); keyHolder40.Set(40, assessment.GetItems(assessmentSet)[39].Key); keyHolder41.Set(41, assessment.GetItems(assessmentSet)[40].Key); keyHolder42.Set(42, assessment.GetItems(assessmentSet)[41].Key); keyHolder43.Set(43, assessment.GetItems(assessmentSet)[42].Key); keyHolder44.Set(44, assessment.GetItems(assessmentSet)[43].Key); keyHolder45.Set(45, assessment.GetItems(assessmentSet)[44].Key); keyHolder46.Set(46, assessment.GetItems(assessmentSet)[45].Key); keyHolder47.Set(47, assessment.GetItems(assessmentSet)[46].Key); keyHolder48.Set(48, assessment.GetItems(assessmentSet)[47].Key); keyHolder49.Set(49, assessment.GetItems(assessmentSet)[48].Key); keyHolder50.Set(50, assessment.GetItems(assessmentSet)[49].Key); keyHolder51.Set(51, assessment.GetItems(assessmentSet)[50].Key); keyHolder52.Set(52, assessment.GetItems(assessmentSet)[51].Key); keyHolder53.Set(53, assessment.GetItems(assessmentSet)[52].Key); keyHolder54.Set(54, assessment.GetItems(assessmentSet)[53].Key); keyHolder55.Set(55, assessment.GetItems(assessmentSet)[54].Key); keyHolder56.Set(56, assessment.GetItems(assessmentSet)[55].Key); keyHolder57.Set(57, assessment.GetItems(assessmentSet)[56].Key); keyHolder58.Set(58, assessment.GetItems(assessmentSet)[57].Key); keyHolder59.Set(59, assessment.GetItems(assessmentSet)[58].Key); keyHolder60.Set(60, assessment.GetItems(assessmentSet)[59].Key); keyHolder61.Set(61, assessment.GetItems(assessmentSet)[60].Key); keyHolder62.Set(62, assessment.GetItems(assessmentSet)[61].Key); keyHolder63.Set(63, assessment.GetItems(assessmentSet)[62].Key); keyHolder64.Set(64, assessment.GetItems(assessmentSet)[63].Key); keyHolder65.Set(65, assessment.GetItems(assessmentSet)[64].Key); keyHolder66.Set(66, assessment.GetItems(assessmentSet)[65].Key); keyHolder67.Set(67, assessment.GetItems(assessmentSet)[66].Key); keyHolder68.Set(68, assessment.GetItems(assessmentSet)[67].Key); keyHolder69.Set(69, assessment.GetItems(assessmentSet)[68].Key); keyHolder70.Set(70, assessment.GetItems(assessmentSet)[69].Key); keyHolder71.Set(71, assessment.GetItems(assessmentSet)[70].Key); keyHolder72.Set(72, assessment.GetItems(assessmentSet)[71].Key); keyHolder73.Set(73, assessment.GetItems(assessmentSet)[72].Key); keyHolder74.Set(74, assessment.GetItems(assessmentSet)[73].Key); keyHolder75.Set(75, assessment.GetItems(assessmentSet)[74].Key); keyHolder76.Set(76, assessment.GetItems(assessmentSet)[75].Key); keyHolder77.Set(77, assessment.GetItems(assessmentSet)[76].Key); keyHolder78.Set(78, assessment.GetItems(assessmentSet)[77].Key); keyHolder79.Set(79, assessment.GetItems(assessmentSet)[78].Key); keyHolder80.Set(80, assessment.GetItems(assessmentSet)[79].Key); keyHolder81.Set(81, assessment.GetItems(assessmentSet)[80].Key); keyHolder82.Set(82, assessment.GetItems(assessmentSet)[81].Key); keyHolder83.Set(83, assessment.GetItems(assessmentSet)[82].Key); keyHolder84.Set(84, assessment.GetItems(assessmentSet)[83].Key); keyHolder85.Set(85, assessment.GetItems(assessmentSet)[84].Key); keyHolder86.Set(86, assessment.GetItems(assessmentSet)[85].Key); keyHolder87.Set(87, assessment.GetItems(assessmentSet)[86].Key); keyHolder88.Set(88, assessment.GetItems(assessmentSet)[87].Key); keyHolder89.Set(89, assessment.GetItems(assessmentSet)[88].Key); keyHolder90.Set(90, assessment.GetItems(assessmentSet)[89].Key); }
internal static AnswerParser Parse(Assessment assessment, PaperItem[] paperItems, AssessmentSet assessmentSet) { switch (assessmentSet) { case AssessmentSet.SetA: return(Parse(assessment, paperItems, SetParserResult.SetA)); case AssessmentSet.SetB: return(Parse(assessment, paperItems, SetParserResult.SetB)); case AssessmentSet.SetC: return(Parse(assessment, paperItems, SetParserResult.SetC)); } return(null); }
internal static AnswerParser Parse(Assessment assessment, PaperItem[] paperItems, SetParserResult setParserResult) { #region Set AnswerParserResultType resultType = AnswerParserResultType.Valid; AssessmentSet set = AssessmentSet.SetA; if (assessment.SetBEnabled || assessment.SetCEnabled) { switch (setParserResult) { case SetParserResult.SetB: if (assessment.SetBEnabled) { set = AssessmentSet.SetB; } else { resultType = AnswerParserResultType.DisabledSetShaded; } break; case SetParserResult.SetC: if (assessment.SetCEnabled) { set = AssessmentSet.SetC; } else { resultType = AnswerParserResultType.DisabledSetShaded; } break; case SetParserResult.Unshaded: resultType = AnswerParserResultType.SetUnshaded; break; case SetParserResult.Multishaded: resultType = AnswerParserResultType.SetMultishaded; break; } } if (resultType != AnswerParserResultType.Valid) { return(new AnswerParser() { ParserResult = resultType }); } #endregion #region Items AssessmentItem[] answerKeys = assessment.GetItems(set); if (answerKeys.Length != paperItems.Length) { return(new AnswerParser() { ParserResult = AnswerParserResultType.Undefined }); } PaperKeyResultType[] paperKeyResultTypes = new PaperKeyResultType[answerKeys.Length]; for (int i = 0; i < answerKeys.Length; i++) { paperKeyResultTypes[i] = PaperKeyResultType.Correct; int ansNum = 0; ansNum += paperItems[i].A ? 1 : 0; ansNum += paperItems[i].B ? 1 : 0; ansNum += paperItems[i].C ? 1 : 0; ansNum += paperItems[i].D ? 1 : 0; ansNum += paperItems[i].E ? 1 : 0; if (ansNum == 0) { paperKeyResultTypes[i] = PaperKeyResultType.Unshaded; } else if (ansNum > 1) { paperKeyResultTypes[i] = PaperKeyResultType.Invalid; } else { switch (answerKeys[i].Key) { case Key.A: paperKeyResultTypes[i] = paperItems[i].A ? PaperKeyResultType.Correct : PaperKeyResultType.Incorrect; break; case Key.B: paperKeyResultTypes[i] = paperItems[i].B ? PaperKeyResultType.Correct : PaperKeyResultType.Incorrect; break; case Key.C: paperKeyResultTypes[i] = paperItems[i].C ? PaperKeyResultType.Correct : PaperKeyResultType.Incorrect; break; case Key.D: paperKeyResultTypes[i] = paperItems[i].D ? PaperKeyResultType.Correct : PaperKeyResultType.Incorrect; break; case Key.E: paperKeyResultTypes[i] = paperItems[i].E ? PaperKeyResultType.Correct : PaperKeyResultType.Incorrect; break; } } } #endregion #region Overall int correctItems = 0; int incorrectItems = 0; int invalidItems = 0; int unshadedItems = 0; int totalItems = 0; int correctPoints = 0; int incorrectPoints = 0; int invalidPoints = 0; int unshadedPoints = 0; int totalPoints = 0; for (int i = 0; i < paperKeyResultTypes.Length; i++) { switch (paperKeyResultTypes[i]) { case PaperKeyResultType.Correct: correctItems++; correctPoints += answerKeys[i].Points; break; case PaperKeyResultType.Incorrect: incorrectItems++; incorrectPoints += answerKeys[i].Points; break; case PaperKeyResultType.Invalid: invalidItems++; invalidPoints += answerKeys[i].Points; break; case PaperKeyResultType.Unshaded: unshadedItems++; unshadedPoints += answerKeys[i].Points; break; } totalItems++; totalPoints += answerKeys[i].Points; } double percentage = 100 * ((double)correctPoints / totalPoints); AssessmentResult assessmentResult = percentage >= assessment.PassingRate ? AssessmentResult.Passed : AssessmentResult.Failed; return(new AnswerParser() { ParserResult = AnswerParserResultType.Valid, AssessmentSet = set, Answers = paperItems, AnswerResults = paperKeyResultTypes, AssessmentResult = assessmentResult, CorrectItems = correctItems, IncorrectItems = incorrectItems, InvalidItems = invalidItems, UnshadedItems = unshadedItems, TotalItems = totalItems, CorrectPoints = correctPoints, IncorrectPoints = incorrectPoints, InvalidPoints = invalidPoints, UnshadedPoints = unshadedPoints, TotalPoints = totalPoints, Percentage = percentage }); #endregion }
private void ComboBoxSet_SelectedIndexChanged(object sender, EventArgs e) { switch (comboBoxSet.SelectedIndex) { case 0: assessmentSet = AssessmentSet.SetA; checkBoxEnabled.Checked = true; checkBoxEnabled.Enabled = false; break; case 1: assessmentSet = AssessmentSet.SetB; checkBoxEnabled.Checked = assessment.SetBEnabled; checkBoxEnabled.Enabled = true; break; case 2: assessmentSet = AssessmentSet.SetC; checkBoxEnabled.Checked = assessment.SetCEnabled; checkBoxEnabled.Enabled = true; break; } keyHolder1.Set(1, assessment.GetItems(assessmentSet)[0].Key); keyHolder2.Set(2, assessment.GetItems(assessmentSet)[1].Key); keyHolder3.Set(3, assessment.GetItems(assessmentSet)[2].Key); keyHolder4.Set(4, assessment.GetItems(assessmentSet)[3].Key); keyHolder5.Set(5, assessment.GetItems(assessmentSet)[4].Key); keyHolder6.Set(6, assessment.GetItems(assessmentSet)[5].Key); keyHolder7.Set(7, assessment.GetItems(assessmentSet)[6].Key); keyHolder8.Set(8, assessment.GetItems(assessmentSet)[7].Key); keyHolder9.Set(9, assessment.GetItems(assessmentSet)[8].Key); keyHolder10.Set(10, assessment.GetItems(assessmentSet)[9].Key); keyHolder11.Set(11, assessment.GetItems(assessmentSet)[10].Key); keyHolder12.Set(12, assessment.GetItems(assessmentSet)[11].Key); keyHolder13.Set(13, assessment.GetItems(assessmentSet)[12].Key); keyHolder14.Set(14, assessment.GetItems(assessmentSet)[13].Key); keyHolder15.Set(15, assessment.GetItems(assessmentSet)[14].Key); keyHolder16.Set(16, assessment.GetItems(assessmentSet)[15].Key); keyHolder17.Set(17, assessment.GetItems(assessmentSet)[16].Key); keyHolder18.Set(18, assessment.GetItems(assessmentSet)[17].Key); keyHolder19.Set(19, assessment.GetItems(assessmentSet)[18].Key); keyHolder20.Set(20, assessment.GetItems(assessmentSet)[19].Key); keyHolder21.Set(21, assessment.GetItems(assessmentSet)[20].Key); keyHolder22.Set(22, assessment.GetItems(assessmentSet)[21].Key); keyHolder23.Set(23, assessment.GetItems(assessmentSet)[22].Key); keyHolder24.Set(24, assessment.GetItems(assessmentSet)[23].Key); keyHolder25.Set(25, assessment.GetItems(assessmentSet)[24].Key); keyHolder26.Set(26, assessment.GetItems(assessmentSet)[25].Key); keyHolder27.Set(27, assessment.GetItems(assessmentSet)[26].Key); keyHolder28.Set(28, assessment.GetItems(assessmentSet)[27].Key); keyHolder29.Set(29, assessment.GetItems(assessmentSet)[28].Key); keyHolder30.Set(30, assessment.GetItems(assessmentSet)[29].Key); keyHolder31.Set(31, assessment.GetItems(assessmentSet)[30].Key); keyHolder32.Set(32, assessment.GetItems(assessmentSet)[31].Key); keyHolder33.Set(33, assessment.GetItems(assessmentSet)[32].Key); keyHolder34.Set(34, assessment.GetItems(assessmentSet)[33].Key); keyHolder35.Set(35, assessment.GetItems(assessmentSet)[34].Key); keyHolder36.Set(36, assessment.GetItems(assessmentSet)[35].Key); keyHolder37.Set(37, assessment.GetItems(assessmentSet)[36].Key); keyHolder38.Set(38, assessment.GetItems(assessmentSet)[37].Key); keyHolder39.Set(39, assessment.GetItems(assessmentSet)[38].Key); keyHolder40.Set(40, assessment.GetItems(assessmentSet)[39].Key); keyHolder41.Set(41, assessment.GetItems(assessmentSet)[40].Key); keyHolder42.Set(42, assessment.GetItems(assessmentSet)[41].Key); keyHolder43.Set(43, assessment.GetItems(assessmentSet)[42].Key); keyHolder44.Set(44, assessment.GetItems(assessmentSet)[43].Key); keyHolder45.Set(45, assessment.GetItems(assessmentSet)[44].Key); keyHolder46.Set(46, assessment.GetItems(assessmentSet)[45].Key); keyHolder47.Set(47, assessment.GetItems(assessmentSet)[46].Key); keyHolder48.Set(48, assessment.GetItems(assessmentSet)[47].Key); keyHolder49.Set(49, assessment.GetItems(assessmentSet)[48].Key); keyHolder50.Set(50, assessment.GetItems(assessmentSet)[49].Key); keyHolder51.Set(51, assessment.GetItems(assessmentSet)[50].Key); keyHolder52.Set(52, assessment.GetItems(assessmentSet)[51].Key); keyHolder53.Set(53, assessment.GetItems(assessmentSet)[52].Key); keyHolder54.Set(54, assessment.GetItems(assessmentSet)[53].Key); keyHolder55.Set(55, assessment.GetItems(assessmentSet)[54].Key); keyHolder56.Set(56, assessment.GetItems(assessmentSet)[55].Key); keyHolder57.Set(57, assessment.GetItems(assessmentSet)[56].Key); keyHolder58.Set(58, assessment.GetItems(assessmentSet)[57].Key); keyHolder59.Set(59, assessment.GetItems(assessmentSet)[58].Key); keyHolder60.Set(60, assessment.GetItems(assessmentSet)[59].Key); }