예제 #1
0
        public IActionResult StartDate()
        {
            CitizenUser citizenUser = new CitizenUser();

            if (User.Identity.IsAuthenticated)
            {
                var userName = User.Identity.Name;
                citizenUser = _userManager.Users.FirstOrDefault(p => p.Email == userName);
            }
            CitizenReport citizenReport = _examDBContect.DbCitizenReport.FirstOrDefault(p => p.Passport == citizenUser.Passport);

            citizenReport.StartDate = DateTime.UtcNow.AddSeconds(2400);
            // citizenReport.StartDate= DateTime.UtcNow.AddSeconds(95);
            _examDBContect.DbCitizenReport.Update(citizenReport);
            _examDBContect.SaveChanges();

            TempQuestions tempQuestions = new TempQuestions();

            tempQuestions = _examDBContect.DbTempQuestions.FirstOrDefault(p => p.Passport == citizenUser.Passport);
            if (tempQuestions != null)
            {
                tempQuestions.CurrentAttempt = 31;
                //   tempQuestions.TestStart = false;
                tempQuestions.TestEnd = false;
                tempQuestions.QestEnd = false;
                _examDBContect.DbTempQuestions.Update(tempQuestions);
                _examDBContect.SaveChanges();
            }


            return(RedirectToAction("Random", "Questions"));
        }
예제 #2
0
        public IActionResult Test(CitizenTestResults citizenTestResults, int testTicket)
        {
            //  if (ModelState.IsValid)
            //   {
            citizenTestResults.NumberTicket = testTicket;
            _examDBContect.Add(citizenTestResults);
            _examDBContect.SaveChanges();

            //   }

            EmptyTextViewModel emptyTextViewModel = _examDBContect.DbEmptyTextViewModel
                                                    .FirstOrDefault(p => p.Id == testTicket);
            CitizenTestViewModel citizenTestViewModel = _testChecked.TestResult(citizenTestResults, emptyTextViewModel);

            citizenTestResults.Result = citizenTestViewModel.Result;

            //ViewBags Start

            ViewBag.NumberTicket = emptyTextViewModel.Id;
            ViewBag.Region       = emptyTextViewModel.Region;
            ViewBag.Community    = emptyTextViewModel.Community;
            ViewBag.CEC          = emptyTextViewModel.CEC;
            ViewBag.TEC          = emptyTextViewModel.TEC;
            ViewBag.Participants = emptyTextViewModel.Participants;
            ViewBag.AllAdditionallyDuringElDay = emptyTextViewModel.AllAdditionallyDuringElDay;
            ViewBag.AllMobileVoters            = emptyTextViewModel.AllMobileVoters;
            ViewBag.PartMobileVoters           = emptyTextViewModel.PartMobileVoters;
            ViewBag.VadTickets             = emptyTextViewModel.VadTickets;
            ViewBag.NumerableTickets       = emptyTextViewModel.NumerableTickets;
            ViewBag.UnusedNumerableTickets = emptyTextViewModel.UnusedNumerableTickets;
            ViewBag.UnusedGlueTickets      = emptyTextViewModel.UnusedGlueTickets;
            ViewBag.InvalidTickets         = emptyTextViewModel.InvalidTickets;
            ViewBag.ForA                = emptyTextViewModel.ForA;
            ViewBag.ForB                = emptyTextViewModel.ForB;
            ViewBag.ForC                = emptyTextViewModel.ForC;
            ViewBag.ForAx               = emptyTextViewModel.ForAx;
            ViewBag.ForAy               = emptyTextViewModel.ForAy;
            ViewBag.ForBm               = emptyTextViewModel.ForBm;
            ViewBag.ForBn               = emptyTextViewModel.ForBn;
            ViewBag.ForCk               = emptyTextViewModel.ForCk;
            ViewBag.ForCl               = emptyTextViewModel.ForCl;
            ViewBag.ListAll             = emptyTextViewModel.ListAll;
            ViewBag.TecGlueTickets      = emptyTextViewModel.TecGlueTickets;
            ViewBag.TecNumerableTickets = emptyTextViewModel.TecNumerableTickets;

            //ViewBags end

            CitizenUser citizenUser = new CitizenUser();

            if (User.Identity.IsAuthenticated)
            {
                var userName = User.Identity.Name;
                citizenUser = _userManager.Users.FirstOrDefault(p => p.Email == userName);

                ViewBag.UserFullName = citizenUser.FirstName + " " +
                                       citizenUser.SecondName + " " +
                                       citizenUser.LastName;
            }

            CitizenReport citizenReport = _examDBContect.DbCitizenReport
                                          .FirstOrDefault(p => p.Passport == citizenUser.Passport);

            citizenReport.Test1DataTime = DateTime.Now;
            citizenReport.Test1Check    = true;
            citizenReport.Result_Test1  = citizenTestViewModel.Result;
            citizenReport.NumberTicket  = citizenTestViewModel.NumberTicket;



            _examDBContect.Update(citizenReport);
            _examDBContect.SaveChanges();

            TempQuestions tempQuestions = new TempQuestions();

            tempQuestions         = _examDBContect.DbTempQuestions.FirstOrDefault(p => p.Passport == citizenUser.Passport);
            tempQuestions.TestEnd = true;
            _examDBContect.DbTempQuestions.Update(tempQuestions);
            _examDBContect.SaveChanges();

            return(View(citizenTestViewModel));
        }
예제 #3
0
        private void forth_Click(object sender, EventArgs e)
        {
            if (counter >= 10)
            {
                button_terminate.Show();
            }
            if (counter >= 19)
            {
                button_terminate.Show();
                forth.Hide();
            }

            if (radio_first.Checked == true || radio_second.Checked == true || radio_third.Checked == true)
            {
                counter++;
                var currentElement  = nums[counter];
                var previousElement = nums[counter - 1];
                var trueRadio       = (from r in radio
                                       where r.Checked == true
                                       select r).FirstOrDefault();

                back.Show();
                label_number.Text = "Вопрос: " + (counter + 1).ToString() + " из " + nums.Length;

                // Add previous data

                using (var ctx = new MyDbContext())
                {
                    var previousQuestion = ctx.Questions
                                           .Where(q => q.idQuestion == previousElement)
                                           .Select(q => q)
                                           .FirstOrDefault();


                    TempQuestions tempq = new TempQuestions()
                    {
                        Question     = previousQuestion.Question,
                        Seq          = previousQuestion.Options,
                        ChosenAnswer = trueRadio.Text,
                        RightAnswer  = previousQuestion.Answer,
                        UniqueNumber = previousElement,
                        image_path   = previousQuestion.image_path
                    };

                    var isExist = ctx.TempQuestions
                                  .Select(t => t)
                                  .Any(u => u.UniqueNumber == previousElement);

                    if (!isExist)
                    {
                        ctx.TempQuestions.Add(tempq);
                        ctx.SaveChanges();
                        for (var i = 0; i < radio.Length; i++)
                        {
                            radio[i].Checked = false;
                        }
                    }
                    else
                    {
                        var changeTemp = ctx.TempQuestions
                                         .Where(q => q.UniqueNumber == previousElement)
                                         .Select(q => q)
                                         .FirstOrDefault();


                        changeTemp.Question     = previousQuestion.Question;
                        changeTemp.Seq          = previousQuestion.Options;
                        changeTemp.ChosenAnswer = trueRadio.Text;
                        changeTemp.RightAnswer  = previousQuestion.Answer;
                        changeTemp.UniqueNumber = previousElement;
                        changeTemp.image_path   = previousQuestion.image_path;

                        ctx.SaveChanges();
                    }
                }

                // Update radiobuttons with new data

                using (var ctx = new MyDbContext())
                {
                    var currentQuestion = ctx.Questions
                                          .Where(q => q.idQuestion == currentElement)
                                          .Select(q => q)
                                          .FirstOrDefault();

                    var isExist = ctx.TempQuestions
                                  .Select(t => t)
                                  .Any(u => u.UniqueNumber == currentElement);

                    label_question.Text = currentQuestion.Question;
                    string[] splittedQuestions = currentQuestion
                                                 .Options
                                                 .Split('|');

                    radio_first.Text  = splittedQuestions[0];
                    radio_second.Text = splittedQuestions[1];
                    radio_third.Text  = splittedQuestions[2];

                    if (currentQuestion.image_path != null)
                    {
                        pic_components
                        .Load(currentQuestion.image_path);
                    }
                    else
                    {
                        pic_components
                        .Load(COMPUTER_FUNNY_PATH);
                    }

                    if (!isExist)
                    {
                        for (var i = 0; i < radio.Length; i++)
                        {
                            radio[i].Checked = false;
                        }
                    }
                    else
                    {
                        for (var i = 0; i < radio.Length; i++)
                        {
                            var currentTempQuestion = ctx.TempQuestions
                                                      .Where(q => q.UniqueNumber == currentElement)
                                                      .Select(q => q)
                                                      .FirstOrDefault();

                            for (var j = 0; j < radio.Length; j++)
                            {
                                if (radio[j].Text == currentTempQuestion.ChosenAnswer)
                                {
                                    radio[j].Checked = true;
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Ответ не выбран!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }