private IEnumerable <InstructorTestResult> GetInstructorTestResults(IEnumerable <InstructorTestDto> testResultsDto) { var testResults = new List <InstructorTestResult>(); using (var context = CreateDatabase()) { var testCaseStatuses = context.TestCaseStatuses; testResultsDto.ToList() .ForEach(tr => { var concepts = new List <string>(tr.Concepts); if (tr.StudentTests.Count > 1) { concepts.Clear(); concepts.Add("REDUNDANT_TEST"); } var result = new InstructorTestResult() { TestName = tr.Name, EquivalenceClass = tr.EquivalenceClass, StudentTestResults = GetStudentTestResults(tr.StudentTests).ToList(), TestCaseStatusId = testCaseStatuses.Single(tcs => tcs.Name.Equals(tr.TestStatus.ToString())).Id, Passed = tr.Passed, }; result.TestResultConcepts = GetTestConcepts(concepts, result).ToList(); testResults.Add(result); }); } return(testResults); }
private IEnumerable <TestResultConcept> GetTestConcepts(IEnumerable <string> concepts, InstructorTestResult instructorTestResult) { using (var context = CreateDatabase()) { var testConcepts = context.TestConcepts.ToList(); foreach (var concept in concepts) { var testConcept = testConcepts.SingleOrDefault(c => c.Name.ToUpper().Equals(concept.ToUpper())); if (testConcept != null) { yield return new TestResultConcept { TestConceptId = testConcept.Id, InstructorTestResult = instructorTestResult } } ; } } } }