Пример #1
0
        private static void SaveResultToDb(List <MultiplicationResult> results)
        {
            using (var entitiesContext = new MathsQuizEntities())
            {
                entitiesContext.MultiplicationQuizResults.Add(new MultiplicationQuizResult
                {
                    Answered   = results.Count(),
                    Correct    = results.Count(r => r.IsCorrect),
                    QuizDate   = DateTime.Now,
                    QuizUser   = HttpContext.Current.User.Identity.Name,
                    TimesTable = GetMultiplesListing()
                });

                entitiesContext.SaveChanges();
            }
        }
Пример #2
0
        private static void SaveResultToDb(List <DecimalResult> results)
        {
            using (var entitiesContext = new MathsQuizEntities())
            {
                var decimalOperatorRange = (IEnumerable <DecimalOperator>)HttpContext.Current.Session[QuizDecimalOpertorRangeSessionKey];
                entitiesContext.DecimalQuizResults.Add(new DecimalQuizResult
                {
                    Answered     = results.Count(),
                    Correct      = results.Count(r => r.IsCorrect),
                    QuizDate     = DateTime.Now,
                    QuizUser     = HttpContext.Current.User.Identity.Name,
                    DecimalRange = string.Format("{0} - {1}", decimalOperatorRange.Min(), decimalOperatorRange.Max())
                });

                entitiesContext.SaveChanges();
            }
        }
Пример #3
0
        protected IEnumerable <DecimalQuizResult> GetDecimalQuizResultsFromDb(UserStatsSearch search)
        {
            IEnumerable <DecimalQuizResult> results = new List <DecimalQuizResult>();

            using (var entitiesContext = new MathsQuizEntities())
            {
                results = entitiesContext.DecimalQuizResults
                          .Where(r => r.QuizUser.Equals(search.User))
                          .Where(r => r.QuizDate > search.FromDate)
                          .Where(r => r.QuizDate <= search.ToDate)
                          .OrderBy(r => r.QuizDate);

                results = results.ToList();
            }

            return(results);
        }
Пример #4
0
        public IEnumerable <UserResultsSummary> GetUserResultsSummary(UserStatsSearch search)
        {
            var results = new List <UserResultsSummary>();

            using (var entitiesContext = new MathsQuizEntities())
            {
                var stats = entitiesContext.GetSummaryStats(search.User, search.FromDate, search.ToDate).ToList();

                stats.ForEach(s =>
                              results.Add(
                                  new UserResultsSummary {
                    QuizType = s.QuizType,
                    AverageCorrectPerQuiz            = s.AvgCorrectPerQuiz ?? 0,
                    AverageQuestionsPerQuiz          = s.AvgCorrectPerQuiz ?? 0,
                    QuizzesTaken                     = s.QuizzesTaken ?? 0,
                    QuizzesWithOverMinCorrectAnswers = s.QuizzesOverMinAnswers ?? 0,
                    TotalCorrect                     = s.TotalCorrect ?? 0,
                    TotalQuestions                   = s.TotalQuestionsAnswered ?? 0
                }));
            }

            return(results);
        }