Пример #1
0
        public ActionResult SaveAnswerAndRedirect(int testNumber)
        {
            var testDto = _baseTestService.GetTestByNumber(testNumber);

            //TODO: check for null, error handling

            _baseTestService.AddTestAnswer(testDto.Id, User.FindFirstValue(ClaimTypes.NameIdentifier), testDto.StartDate.Value);

            //TODO: use Automapper?
            var testAnswerDto = _baseTestService.GetAnswerByTestId(testDto.Id);

            var testAnswerVm = new TestAnswerVm()
            {
                TestId              = testAnswerDto.TestId,
                UserId              = testAnswerDto.UserId,
                AnsweringTime       = testAnswerDto.AnsweringTime,
                AnsweringTimeOffset = testAnswerDto.AnsweringTimeOffset
            };

            var answerVm = new AnswerVm()
            {
                TestAnswerVm = testAnswerVm, TestNumber = testNumber
            };

            return(View("Answered", answerVm));
        }
Пример #2
0
        public ActionResult AddTest(TestVm model)
        {
            if (ModelState.IsValid)
            {
                var dbTest = _baseTestService.GetTestByNumber(model.Number);
                if (dbTest != null)
                {
                    ModelState.AddModelError(nameof(model.Number), "Test o podanym numerze już istnieje.");
                    return(View(model));
                }

                //automatically set start and end time
                var testDay = model.StartDate;
                model.StartDate = testDay.AddHours(12).AddMinutes(00);
                model.EndDate   = testDay.AddHours(23).AddMinutes(59);

                var testDto = new TestDto
                {
                    Number           = model.Number,
                    Description      = model.Description,
                    Answer           = model.Answer.ToUpper().Replace(" ", ""),
                    StartDate        = model.StartDate,
                    EndDate          = model.EndDate,
                    SponsorLogoUrl   = model.SponsorLogoUrl,
                    SponsorName      = model.SponsorName,
                    Discount         = model.Discount,
                    DiscountUrl      = model.DiscountUrl,
                    DiscountLogoUrl  = model.DiscountLogoUrl,
                    DiscountLogoPath = model.DiscountLogoPath
                };
                _adminService.AddTest(testDto);
                return(RedirectToAction("Index"));
            }
            return(View(model));
        }
Пример #3
0
        public void SaveWrongAnswer(string wrongAnswer, int testNumber)
        {
            var testDto = _baseTestService.GetTestByNumber(testNumber);

            _baseTestService.AddTestWrongAnswer(User.FindFirstValue(ClaimTypes.NameIdentifier), testDto.Id, wrongAnswer, DateTime.Now);
        }