Beispiel #1
0
        public TestHistoryDTO Insert(TestHistoryDTO testHistory)
        {
            testHistory = RestoreMappings(testHistory);

            /*Console.WriteLine("TestHistory: (TestId - " + testHistory.TestId
             + ", UserId - " + testHistory.UserId
             + ", TimeSpent - " + testHistory.TimeSpent
             + ", IsDone - " + testHistory.IsDone
             + ", CompletionDate - " + testHistory.CompletionDate
             + ")");
             +
             + if (testHistory.Answers != null)
             + {
             +  foreach (var answer in testHistory.Answers)
             +  {
             +      Console.WriteLine("   AnswerHistory: (TestHistoryId - " + answer.TestHistoryId
             + ", Text - " + answer.Text
             + ", AnswerId - " + answer.AnswerId
             + ", IsCorrect - " + answer.IsCorrect
             + ")");
             +  }
             + }*/

            TestHistory testHistoryEntity =
                _database.TestHistories.Insert(Mapper.Map <TestHistoryDTO, TestHistory>(testHistory));

            _database.Save();

            return(Mapper.Map <TestHistory, TestHistoryDTO>(testHistoryEntity));
        }
Beispiel #2
0
        private double GetScore(TestHistoryDTO testHistory)
        {
            int maxScore = testHistory.Test.Questions.Count;
            int score    = 0;

            foreach (var answer in testHistory.Answers)
            {
                // TODO Make more precise
                if (answer.Answer != null)
                {
                    if (answer.Answer.IsCorrect)
                    {
                        score++;
                    }
                }
                else
                {
                    AnswerDTO searchedAnswer = answer.Question.Answers.Find((currAnswer) =>
                                                                            currAnswer.Text.Trim().ToLower().Equals(answer.Text.Trim().ToLower()));

                    if (searchedAnswer != null)
                    {
                        score++;
                    }
                }
            }

            if (score > maxScore)
            {
                return(100);
            }

            return((score / maxScore) * 100);
        }
Beispiel #3
0
        public TestHistoryDTO Delete(TestHistoryDTO testHistory)
        {
            TestHistory testHistoryEntity =
                _database.TestHistories.Delete(Mapper.Map <TestHistoryDTO, TestHistory>(testHistory));

            _database.Save();

            return(Mapper.Map <TestHistory, TestHistoryDTO>(testHistoryEntity));
        }
Beispiel #4
0
        private TestHistoryDTO RestoreMappings(TestHistoryDTO testHistory)
        {
            foreach (var answer in testHistory.Answers)
            {
                answer.TestHistory = testHistory;
            }

            return(testHistory);
        }
Beispiel #5
0
        public bool Update(TestHistoryDTO testHistory)
        {
            bool isUpdated =
                _database.TestHistories.Update(testHistory.Id, Mapper.Map <TestHistoryDTO, TestHistory>(testHistory));

            if (isUpdated)
            {
                _database.Save();
                return(true);
            }

            return(false);
        }