Ejemplo n.º 1
0
        public ActionResult QuizTest(QuizVM sendFlag)
        {
            //QuizVM quizSelected = (QuizVM) TempData["SelectedQuiz"] ;
            IQueryable <QuestionVM> questions = null;

            if (sendFlag != null)
            {
                questions = dbContext.Question.Where(q => q.ID_TEST == sendFlag.QuizID)
                            .Select(q => new QuestionVM
                {
                    QuestionID   = q.ID_QUESTION,
                    QuestionText = q.TITLE_QUESTION,
                    Choices      = dbContext.Answer.Where(c => c.ID_QUESTION == q.ID_QUESTION).Select(c => new ChoiceVM
                    {
                        ChoiceID   = c.ID_ANSWER,
                        ChoiceText = c.ANSWER
                    }).ToList()
                }).AsQueryable();
                ViewData["TestTitle"] = sendFlag.QuizName;
                TempData["SigmaData"] = questions.Count();

                LessonId = questions.Count();
                // TestId = sendFlag.QuizID;
            }

            return(View(questions));
        }
Ejemplo n.º 2
0
        public QuizVM Get(string dictaatName, int quizId)
        {
            var    user   = _userManager.GetUserId(HttpContext.User);
            QuizVM result = _quizRepo.GetQuiz(quizId, user);

            return(result);
        }
Ejemplo n.º 3
0
        public ActionResult QuizTest()
        {
            if (Session["UserConnected"] != null)
            {
                QuizVM quizSelected = Session["SelectedQuiz"] as QuizVM;
                IQueryable <QuestionVM> questions = null;

                if (quizSelected != null)
                {
                    questions = dbContext.Questions.Where(q => q.Quiz.QuizID == quizSelected.QuizID)
                                .Select(q => new QuestionVM
                    {
                        QuestionID   = q.QuestionID,
                        QuestionText = q.QuestionText,
                        Choices      = q.Choices.Select(c => new ChoiceVM
                        {
                            ChoiceID   = c.ChoiceID,
                            ChoiceText = c.ChoiceText
                        }).ToList()
                    }).AsQueryable();
                }
                return(View(questions));
            }
            return(RedirectToAction("GetUser"));
        }
Ejemplo n.º 4
0
 public ActionResult SelectQuizz(QuizVM quiz)
 {
     TempData["CourseID"]  = quiz.CourseID;
     TempData["SubjectID"] = quiz.SubjectID;
     TempData["UnitID"]    = quiz.UnitID;
     return(RedirectToAction("StartQuiz"));
 }
Ejemplo n.º 5
0
        public ActionResult QuizTest()
        {
            QuizVM quizSelected = Session["SelectedQuiz"] as QuizVM;
            IQueryable <QuestionVM> questions = null;

            Random random = new Random();

            if (quizSelected != null)
            {
                questions = dbContext.Questions.Where(q => q.Quiz.QuizID == quizSelected.QuizID)
                            .Select(q => new QuestionVM
                {
                    QuestionID   = q.QuestionID,
                    QuestionText = q.QuestionText,
                    Choices      = q.Choices.Select(c => new ChoiceVM
                    {
                        ChoiceID   = c.ChoiceID,
                        ChoiceText = c.ChoiceText
                    }).ToList(),
                    Answers = q.Answers.Select(c => new AnswerVM
                    {
                        AnswerID   = c.AnswerID,
                        AnswerText = c.AnswerText
                    }).ToList(),

                    listado_opciones = q.Choices.Select(x => x.ChoiceText).Union(q.Answers.Select(y => y.AnswerText)).ToList()
                }).AsQueryable();
            }
            else
            {
                return(RedirectToAction("SelectQuizz"));
            }

            return(View(questions));
        }
Ejemplo n.º 6
0
        public async Task <QuizVM> Put(string dictaatName, [FromBody] QuizVM quiz)
        {
            if (!AuthorizeResrouce(dictaatName))
            {
                return(null);
            }

            QuizVM result = _quizRepo.UpdateQuiz(dictaatName, quiz);

            return(result);
        }
Ejemplo n.º 7
0
        public ActionResult SelectQuizz()
        {
            QuizVM quiz = new QuizVM();

            quiz.ListOfQuizz = dbContext.Tests.Select(q => new SelectListItem
            {
                Text  = q.NAME_TEST,
                Value = q.ID_TEST.ToString()
            }).ToList();

            return(View(quiz));
        }
        // POST api/<controller>
        public IHttpActionResult Post(QuizVM quizVM)
        {
            using (var ctx = new MyContext())
            {
                ctx.Quizzes.Add(new Quiz()
                {
                    Titre = quizVM.Titre
                });
                ctx.SaveChanges();
            }

            return(Ok());
        }
Ejemplo n.º 9
0
        public void CorrectAnswerTest()
        {
            QuizVM q = new QuizVM()
            {
                UserInput1 = " BLACK ",
                UserInput2 = "25%",
                UserInput3 = "true"
            };

            q.CheckAnswers();

            Assert.True(q.Result1 == CORRECT);
            Assert.True(q.Result2 == CORRECT);
            Assert.True(q.Result3 == CORRECT);
        }
Ejemplo n.º 10
0
        public void IncorrectAnswerTest()
        {
            QuizVM q = new QuizVM()
            {
                UserInput1 = "orange",
                UserInput2 = "47%",
                UserInput3 = "false"
            };

            q.CheckAnswers();

            Assert.True(q.Result1 == INCORRECT);
            Assert.True(q.Result2 == INCORRECT);
            Assert.True(q.Result3 == INCORRECT);
        }
Ejemplo n.º 11
0
        public QuizVM GetQuiz(int quizId, string userId = null)
        {
            Quiz quiz = _context.Quizes
                        .Include("Questions.Question.Answers")
                        .Include("Assignment.Attempts")
                        .FirstOrDefault(q => q.Id == quizId);

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

            //update the quiz to have an assignment
            //this code can be removed on an update where quiz title and desc are removed
            if (quiz.Assignment == null)
            {
                quiz.Assignment = new Domain.Assignments.Assignment()
                {
                    Title            = quiz.Title,
                    Description      = quiz.Description,
                    AssignmentType   = Domain.Assignments.AssignmentType.Quiz,
                    Metadata         = "1.1",
                    Points           = 0,
                    Level            = Domain.Assignments.AssignmentLevel.Bronze,
                    DictaatDetailsId = quiz.DictaatDetailsName
                };
                _context.SaveChanges();
            }

            var vm = new QuizVM(quiz);

            if (userId != null)
            {
                vm.MyAttempts = _context.QuizAttempts
                                .Include(q => q.QuestionsAnswered)
                                .Where(qa => qa.UserId == userId && qa.QuizId == quizId)
                                .OrderByDescending(qa => qa.Timestamp)
                                .ToList()
                                .Select(qa => new QuizAttemptVM(qa));

                vm.IsComplete = _context.AssignmentSubmissions
                                .Any(a => a.AssignmentId == quiz.AssignmentId &&
                                     a.UserId == userId);
            }


            return(vm);
        }
        public void WrongAnswerTest()
        {
            // Arrange
            var quiz = new QuizVM()
            {
                UserAnswer1 = "Victor Huge",
                UserAnswer2 = "",
                UserAnswer3 = "true"
            };

            // Act
            quiz.CheckAnswers();

            // Assert
            Assert.True("Wrong" == quiz.RightOrWrong1 &&
                        "Wrong" == quiz.RightOrWrong2 && "Wrong" == quiz.RightOrWrong3);
        }
        // Test when the user gives all the right answers
        public void RightAnswerTest()
        {
            // Arrange
            var quiz = new QuizVM()
            {
                UserAnswer1 = "Victor Hugo",
                UserAnswer2 = "1812",
                UserAnswer3 = "false"
            };

            // Act
            quiz.CheckAnswers();

            // Assert
            Assert.True("Right" == quiz.RightOrWrong1 &&
                        "Right" == quiz.RightOrWrong2 && "Right" == quiz.RightOrWrong3);
        }
Ejemplo n.º 14
0
        public IActionResult StartTest(int id)
        {
            QuizVM quizSelected = _context.Tests.Where(q => q.ID_LESSON == id).Select(q => new QuizVM
            {
                QuizID   = q.ID_TEST,
                QuizName = q.NAME_TEST,
            }).FirstOrDefault();

            if (quizSelected != null)
            {
                //TempData["SelectedQuiz"] = quizSelected;
                //id_Test = quizSelected.QuizID;
                return(RedirectToAction("QuizTest", "Quizz", quizSelected));
            }
            return(View("LessonPage", qS.getLessonById(id)));
            // return RedirectToAction("SelectQuizz",, ts.getTestById(id));
        }
Ejemplo n.º 15
0
        public ActionResult SelectQuizz(QuizVM quiz)
        {
            QuizVM quizSelected = dbContext.Quizs.Where(q => q.QuizID == quiz.QuizID).Select(q => new QuizVM
            {
                QuizID   = q.QuizID,
                QuizName = q.QuizName,
            }).FirstOrDefault();

            if (quizSelected != null)
            {
                Session["SelectedQuiz"] = quizSelected;

                return(RedirectToAction("QuizTest"));
            }

            return(View());
        }
Ejemplo n.º 16
0
        public ActionResult SelectQuizz(QuizVM quiz)
        {
            QuizVM quizSelected = dbContext.Tests.Where(q => q.ID_TEST == quiz.QuizID).Select(q => new QuizVM
            {
                QuizID   = q.ID_TEST,
                QuizName = q.NAME_TEST,
            }).FirstOrDefault();

            if (quizSelected != null)
            {
                //TempData["SelectedQuiz"] = quizSelected;
                //id_Test = quizSelected.QuizID;
                return(RedirectToAction("QuizTest", quizSelected));
            }

            return(View());
        }
        // PUT api/<controller>/5
        public IHttpActionResult Put(QuizVM quizVM)
        {
            using (var ctx = new MyContext())
            {
                var existing = ctx.Quizzes.Where(s => s.ID == quizVM.ID)
                               .FirstOrDefault <Quiz>();

                if (existing != null)
                {
                    existing.Titre = quizVM.Titre;
                    ctx.SaveChanges();
                }
                else
                {
                    return(NotFound());
                }
            }
            return(Ok());
        }
Ejemplo n.º 18
0
        public QuizVM UpdateQuiz(string dictaatName, QuizVM form)
        {
            Quiz quiz = _context.Quizes
                        .Include("Questions")
                        .Include("Assignment")
                        .FirstOrDefault(q => q.Id == form.Id);

            quiz.Assignment = form.Assignment.ToPoco(quiz.Assignment);

            //update all questions and add all new
            foreach (var qForm in form.Questions)
            {
                if (qForm.Id != 0)
                {
                    //update
                    _questionRepo.UpdateQuestion(qForm);
                }
                else
                {
                    //add
                    quiz.Questions.Add(new QuestionQuiz()
                    {
                        Question = qForm.ToPoco()
                    });
                }
            }

            //remove all questions that are not in the form
            var questions = quiz.Questions; //copy the list

            quiz.Questions.ToList().ForEach(q =>
            {
                if (!form.Questions.Any(qform => qform.Id == q.QuestionId))
                {
                    questions.Remove(q); //remove from the copied list
                }
            });
            quiz.Questions = questions;//set the new list

            _context.SaveChanges();
            return(this.GetQuiz(quiz.Id, null));
        }
Ejemplo n.º 19
0
        public QuizVM CreateQuiz(string dictaatName, QuizVM quiz)
        {
            var q = new Quiz()
            {
                DictaatDetailsName = dictaatName,
                Timestamp          = DateTime.Now,
                Shuffle            = quiz.Shuffle,
                Questions          = quiz.Questions.Select(question => new QuestionQuiz(question.ToPoco())).ToList(),
                Assignment         = quiz.Assignment.ToPoco()
            };

            q.Assignment.AssignmentType = Domain.Assignments.AssignmentType.Quiz;

            q.Assignment.DictaatDetailsId = dictaatName;

            _context.Quizes.Add(q);
            _context.SaveChanges();

            return(new QuizVM(q));
        }
Ejemplo n.º 20
0
        public async Task <IActionResult> Index()
        {
            try
            {
                var quizzes = await _quizRepo.GetAllAsync();

                var quizVMs = new List <QuizVM>();
                foreach (var quiz in quizzes)
                {
                    var quizid        = quiz.Id;
                    var userid        = User.FindFirstValue(ClaimTypes.NameIdentifier);
                    var foundUserQuiz = await _userQuizRepo.GetUserQuizByMaximumScore(quizid, userid);

                    var quizVM = new QuizVM()
                    {
                        Quiz = quiz
                    };

                    if (foundUserQuiz != null)
                    {
                        quizVM.BestScore     = foundUserQuiz.EndScore;
                        quizVM.BestScoreDate = foundUserQuiz.Timestamp;
                    }

                    quizVMs.Add(quizVM);
                }


                return(View(quizVMs));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(View("Error", new ErrorViewModel()
                {
                    RequestId = HttpContext.TraceIdentifier
                }));
            }
        }
Ejemplo n.º 21
0
 public IActionResult AnimalQuiz(QuizVM q)
 {
     q.CheckAnswers();
     return(View(q));
 }
Ejemplo n.º 22
0
 public IActionResult Quiz(QuizVM quiz)
 {
     quiz.CheckAnswers();
     return(View(quiz));
 }
Ejemplo n.º 23
0
 public ActionResult StartQuiz(QuizVM model)
 {
     return(RedirectToAction("StartQuiz"));
 }