Пример #1
0
        public static int InsertTestResult(MCQTestResult testResult)
        {
            var existingTestResult = DataAccessLayer.SelectTestResult(testResult.TestId, testResult.StudentNumber);

            // If this student's test results for this test don't already exist in db id then insert them
            if (existingTestResult == null)
            {
                return(DataAccessLayer.InsertTestResult(Mapper.Map(testResult)));
            }

            // If this student's test results for this test already exist in db but existing MarksObtained are same or higher, do nothing
            else if (existingTestResult.MarksObtained >= testResult.SummaryMarks.Obtained)
            {
                return(0);
            }

            // If this student's test results for this test already exist in db and existing MarksObtained are less, delete that record and insert new one
            else if (existingTestResult.MarksObtained < testResult.SummaryMarks.Obtained)
            {
                DataAccessLayer.DeleteTestResult(existingTestResult.TestId, existingTestResult.StudentNumber);
                return(DataAccessLayer.InsertTestResult(Mapper.Map(testResult)));
            }

            // This code should really never run
            return(0);
        }
Пример #2
0
 public static TestResult Map(MCQTestResult mcqTestResult)
 {
     return(new TestResult
     {
         TestId = mcqTestResult.TestId,
         StudentNumber = mcqTestResult.StudentNumber,
         FirstName = mcqTestResult.FirstName,
         LastName = mcqTestResult.LastName,
         MarksAvailable = mcqTestResult.SummaryMarks.Available,
         MarksObtained = mcqTestResult.SummaryMarks.Obtained,
         ScannedOn = mcqTestResult.ScannedOn
     });
 }