public IActionResult PostSimtest([FromBody] AddTestModel model)
        {
            // map model to entity
            var simtest = _mapper.Map <Simtest>(model);

            _context.Simtest.Add(simtest);
            _context.SaveChangesAsync();
            return(Ok(new RegisterResult {
                Successful = true
            }));

            // return CreatedAtAction("GetSimtest", new { id = simtest.TestId }, simtest);
        }
Exemple #2
0
        public async Task <ActionResult> Post([FromBody] AddTestModel model)
        {
            try
            {
                var added = await _testService.AddTestAsync(model);

                return(Created(Url.Action("Get", "Tests", new { added.Id }, null, Request.Host.ToUriComponent()), added));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
Exemple #3
0
        public async Task <IActionResult> Tests()
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            var createdTests = _context.Tests.Where(t => t.CreatedBy.Id == user.Id && !t.IsDeleted).ToList();
            //if (createdTests == null) //return View(new ICollection<Test>);
            var addTestModel = new AddTestModel
            {
                Model1 = createdTests,
                Model2 = new AddTestViewModel()
            };

            return(View(addTestModel));
        }
Exemple #4
0
        public Task <Test> AddTestAsync(AddTestModel model)
        {
            if (model.Name == null)
            {
                throw new InvalidOperationException("name cannot be null");
            }

            var test = new Test
            {
                Name        = model.Name,
                State       = model.State,
                PhoneNumber = model.PhoneNumber,
                Data        = "{\"this\":\"is a test\"}"
            };

            var created = _testRepo.AddTestAsync(test);

            return(created);
        }
Exemple #5
0
        public async Task <IActionResult> Add(AddTestModel model)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (ModelState.IsValid)
            {
                var test = new Test
                {
                    Name             = model.Model2.Name,
                    CreatedBy        = user,
                    IsEnabled        = model.Model2.IsEnabled,
                    Shuffled         = model.Model2.Shuffled,
                    HideRightAnswers = !model.Model2.HideRightAnswers,
                    Count            = Math.Abs(model.Model2.Count),
                    TimeToPassing    = Math.Abs(model.Model2.Time)
                };
                await _context.Tests.AddAsync(test);

                // Добавить тест к пользователю, который его создал (чтобы он тоже мог проходить его)
                var testResult = new TestResult
                {
                    IsCompleted     = false,
                    Test            = test,
                    CompletedByUser = user
                                      //TotalQuestions = (uint)test.Questions.Count()
                };
                user.TestResults.Add(testResult);


                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", new { id = test.Id }));
            }

            return(View(model));
        }
 public async Task Addtest(AddTestModel testmodel)
 {
     await _client.PostJsonAsync <AddTestModel>(serviceEndPoint3, testmodel);
 }
Exemple #7
0
        public ActionResult AddTest(string action, AddTestModel adt, string quest,
                                    string Answ_1, string Answ_2, string Answ_3, string Answ_4, string Answ_5,
                                    int score1, int score2, int score3, int score4, int score5)
        {
            if (action == "Добавити")
            {
                if (String.IsNullOrEmpty(quest) == true)
                {
                    ViewBag.NameTest    = SystemInfo.NameTestInSystem;
                    ViewBag.sub         = SystemInfo.SubjectName;
                    ViewBag.NumberQuest = SystemInfo.NumberQuest;
                    @ViewBag.Error      = "Введіть запитання!";
                }
                else
                {
                    if (String.IsNullOrEmpty(Answ_1) == true && String.IsNullOrEmpty(Answ_2) == true)
                    {
                        ViewBag.NameTest    = SystemInfo.NameTestInSystem;
                        ViewBag.sub         = SystemInfo.SubjectName;
                        ViewBag.NumberQuest = SystemInfo.NumberQuest;
                        @ViewBag.Error      = "Введіть хоча б дві відповіді!";
                    }
                    else
                    {
                        if (adt.Answ1Check == false &&
                            adt.Answ2Check == false &&
                            adt.Answ3Check == false &&
                            adt.Answ4Check == false &&
                            adt.Answ5Check == false)
                        {
                            ViewBag.NameTest    = SystemInfo.NameTestInSystem;
                            ViewBag.sub         = SystemInfo.SubjectName;
                            ViewBag.NumberQuest = SystemInfo.NumberQuest;
                            ViewBag.ErrorCheck  = "Виберіть хоча б одну правильну відповідь!";
                        }
                        else
                        {
                            if (SystemInfo.NumberQuest == 1)
                            {
                                Tests newT = new Tests
                                {
                                    test_name    = SystemInfo.NameTestInSystem,
                                    subject_name = SystemInfo.SubjectName
                                };
                                Tes.Tests.Add(newT);
                                Tes.SaveChanges();
                            }

                            int lenght = 2;

                            if (String.IsNullOrEmpty(Answ_3) == false)
                            {
                                lenght++;
                                if (String.IsNullOrEmpty(Answ_4) == false)
                                {
                                    lenght++;
                                    if (String.IsNullOrEmpty(Answ_5) == false)
                                    {
                                        lenght++;
                                    }
                                }
                            }

                            string[] anser    = new string[lenght];
                            bool[]   ifcorect = new bool[lenght];
                            int[]    score    = new int[lenght];

                            anser[0]    = Answ_1;
                            ifcorect[0] = adt.Answ1Check;
                            score[0]    = score1;
                            anser[1]    = Answ_2;
                            ifcorect[1] = adt.Answ2Check;
                            score[1]    = score2;

                            if (lenght >= 3)
                            {
                                anser[2]    = Answ_3;
                                ifcorect[2] = adt.Answ3Check;
                                score[2]    = score3;
                                if (lenght >= 4)
                                {
                                    anser[3]    = Answ_4;
                                    ifcorect[3] = adt.Answ4Check;
                                    score[3]    = score4;
                                    if (lenght == 5)
                                    {
                                        anser[4]    = Answ_5;
                                        ifcorect[4] = adt.Answ5Check;
                                        score[4]    = score5;
                                    }
                                }
                            }

                            int cir  = 0;
                            int type = 1;
                            for (int i = 0; i < lenght; i++)
                            {
                                if (ifcorect[i] == true)
                                {
                                    cir++;
                                }
                                if (cir >= 2)
                                {
                                    type = 2;
                                }
                            }

                            int idTest = Tes.Tests.Where(c => c.test_name == SystemInfo.NameTestInSystem).
                                         Select(c => c.test_id).FirstOrDefault();

                            Questions newQues = new Questions
                            {
                                test_id       = idTest,
                                question_text = quest,
                                type          = type
                            };

                            Tes.Questions.Add(newQues);
                            Tes.SaveChanges();

                            for (int i = 0; i < lenght; i++)
                            {
                                if (ifcorect[i] == false)
                                {
                                    score[i] = 0;
                                }
                            }

                            var table = from Questions in Tes.Questions
                                        select new
                            {
                                idQest = Questions.question_id
                            };
                            var idmas  = table.ToList();
                            int idQest = 0;
                            for (int i = 0; i < idmas.Count; i++)
                            {
                                if (idmas[i].idQest > idQest)
                                {
                                    idQest = idmas[i].idQest;
                                }
                            }

                            for (int i = 0; i < lenght; i++)
                            {
                                Answers newAns = new Answers
                                {
                                    question_id  = idQest,
                                    answer_text  = anser[i],
                                    is_correct   = ifcorect[i],
                                    answer_score = score[i]
                                };
                                Tes.Answers.Add(newAns);
                                Tes.SaveChanges();
                            }

                            SystemInfo.NumberQuest++;
                            ViewBag.NameTest    = SystemInfo.NameTestInSystem;
                            ViewBag.sub         = SystemInfo.SubjectName;
                            ViewBag.NumberQuest = SystemInfo.NumberQuest;
                        }
                    }
                }
            }
            else if (action == "Закінчити створення")
            {
                SystemInfo.NumberQuest      = 1;
                SystemInfo.NameTestInSystem = null;
                SystemInfo.SubjectName      = null;
                return(RedirectToAction("TestMenu"));
            }

            return(View());
        }