public IActionResult TestPassFinished(int testId, int previousesQuestionCorrectAnswersAmount)
        {
            this.logger.LogInformation("TestPassFinished(post) action");

            string userName = this.User.Identity.Name;
            string userId   = this.dataManager.Users.GetIdByEmail(userName);
            StatiscticViewModel statiscticViewModel = new StatiscticViewModel()
            {
                testId = testId, Result = previousesQuestionCorrectAnswersAmount
            };

            this.servicesManager.Statistics.SaveStatisticEditModelIntoDb(new StatisticEditModel()
            {
                userId = userId, testId = testId, Result = previousesQuestionCorrectAnswersAmount
            });

            var testTitle       = this.servicesManager.Tests.TestFromDbToViewModelById(testId);
            var questionsAmount = this.servicesManager.Questions.GetAllViewQuestionsByTestId(testId).Count;

            double devide     = (double)statiscticViewModel.Result / (double)questionsAmount;
            var    percentage = devide * 100;

            this.ViewBag.TestTitle         = testTitle.Title;
            this.ViewBag.QuestionsAmount   = questionsAmount;
            this.ViewBag.PercentEquivalent = percentage;

            return(this.View(statiscticViewModel));
        }
Ejemplo n.º 2
0
        public void GetAllByUserIdUnit()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(),
                                                  new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(),
                                                  new WrittenLetterRepositoryMock());

            var statisticService = new StatisticService(managerMock);

            StatiscticViewModel model = new StatiscticViewModel()
            {
                testId = 1, ownerId = "1", Result = 1, PassedAt = DateTime.Parse("01/01/2021")
            };
            StatiscticViewModel model2 = new StatiscticViewModel()
            {
                testId = 2, ownerId = "1", Result = 2, PassedAt = DateTime.Parse("01/01/2021")
            };

            const string userId = "1";

            var actual = statisticService.GetAllByUserId(userId);

            Assert.Equal(actual[0].testId, model.testId);
            Assert.Equal(actual[0].ownerId, model.ownerId);
            Assert.Equal(actual[0].Result, model.Result);

            Assert.Equal(actual[1].testId, model2.testId);
            Assert.Equal(actual[1].ownerId, model2.ownerId);
            Assert.Equal(actual[1].Result, model2.Result);
        }