예제 #1
0
        public void Delete(int id)
        {
            QuizStatistic statisticNode = context.Set <QuizStatistic>().FirstOrDefault(statistic => statistic.Id == id);

            if (statisticNode != null)
            {
                context.Set <QuizStatistic>().Remove(statisticNode);
            }
        }
예제 #2
0
 public static DalQuizStatistic ToDalStatistic(this QuizStatistic statistic)
 {
     return(new DalQuizStatistic()
     {
         Id = statistic.Id,
         Correct = statistic.Correct,
         DatePassed = statistic.DatePassed,
         QuizId = statistic.QuizId,
         UserId = statistic.UserId
     });
 }
예제 #3
0
        public void Create(DalQuizStatistic entity)
        {
            QuizStatistic statisticNode = new QuizStatistic()
            {
                Correct    = entity.Correct,
                DatePassed = entity.DatePassed,
                QuizId     = entity.QuizId,
                UserId     = entity.UserId
            };

            context.Set <QuizStatistic>().Add(statisticNode);
        }
예제 #4
0
    void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else
        {
            Destroy(gameObject);
            return;
        }

        DontDestroyOnLoad(gameObject);
    }
예제 #5
0
        public ActionResult Result(SubmittedQuizViewModel quiz)
        {
            if (ModelState.IsValid)
            {
                Quiz passedQuiz = quizService.GetById(quiz.Id);

                QuizResultViewModel result = new QuizResultViewModel()
                {
                    Title = passedQuiz.Title, Questions = new List <QuizQuestionResultViewModel>()
                };

                result.Total = quiz.Answers.Count;

                for (int i = 0; i < quiz.Answers.Count; i++)
                {
                    QuizQuestion testQuestion = passedQuiz.Questions.ElementAt(i);

                    QuizQuestionResultViewModel questionResult = new QuizQuestionResultViewModel()
                    {
                        Text     = testQuestion.Text,
                        Answers  = testQuestion.AnswerOptions.ToList(),
                        Correct  = testQuestion.CorrectAnswer,
                        Selected = quiz.Answers[i]
                    };

                    if (questionResult.Selected == testQuestion.CorrectAnswer)
                    {
                        result.Correct++;
                    }

                    result.Questions.Add(questionResult);
                }

                User user = userService.GetByEmail(User.Identity.Name);

                if (user != null)
                {
                    QuizStatistic statistic = new QuizStatistic()
                    {
                        DatePassed = DateTime.Now, QuizId = passedQuiz.Id, Correct = result.Correct, UserId = user.Id
                    };
                    statisticService.Create(statistic);
                }

                return(View(result));
            }

            return(RedirectToAction("Index"));
        }
예제 #6
0
        public DalQuizStatistic GetById(int id)
        {
            QuizStatistic statistic = context.Set <QuizStatistic>().FirstOrDefault(node => node.Id == id);

            if (statistic == null)
            {
                return(null);
            }

            return(new DalQuizStatistic()
            {
                Id = statistic.Id,
                Correct = statistic.Correct,
                DatePassed = statistic.DatePassed,
                UserId = statistic.UserId,
                QuizId = statistic.QuizId
            });
        }
        public QuizStatisticView GetQuizStatistic(QuizStatistic quizStatistic)
        {
            var passedPercent     = quizStatistic.CorrectPercent;
            var timeToSolved      = new TimeSpan(1, 14, 18);
            var quizStatisticView = new QuizStatisticView()
            {
                PassedPercent       = passedPercent,
                TimeToSolved        = timeToSolved.ToString(),
                QuizResultChartView = new QuizResultChartView
                {
                    CorrectAnswers = quizStatistic.CorrectAnswersCount,
                    FaliedAnswers  = quizStatistic.FailedAnswersCount,
                    TotalAnswers   = quizStatistic.TotalAnswersCount
                }
            };

            return(quizStatisticView);
        }
 public void Create(QuizStatistic statistic)
 {
     uow.StatisticRepository.Create(statistic.ToDalStatistic());
     uow.SaveChanges();
 }