Exemple #1
0
        public void RemoveQuestion(QuizQuestion q)
        {
            List <QuizQuestion> temp = QuizQuestions.ToList();

            temp.Add(q);
            QuizQuestions = temp;
        }
        public async Task <QuizQuestions> AddQuestionToQuizAsync(Guid quizId, Guid questionId)
        {
            try
            {
                QuizQuestions quizQuestion = new QuizQuestions()
                {
                    QuestionId = questionId,
                    QuizId     = quizId
                };

                var controle = await context.QuizQuestions.SingleOrDefaultAsync <QuizQuestions>(e => e.QuizId == quizId && e.QuestionId == questionId);

                if (controle != null)
                {
                    Console.WriteLine("already in quiz");
                    return(null);
                }
                var result = await context.QuizQuestions.AddAsync(quizQuestion);

                await context.SaveChangesAsync();

                return(quizQuestion);
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                return(null);
            }
        }
Exemple #3
0
        public void LoadQuiz(string fileName)
        {
            if (fileName.EndsWith(".json"))
            {
                using (StreamReader inputFile = new StreamReader(Path.Combine(fileName)))
                {
                    string inputJson = inputFile.ReadToEnd();

                    try
                    {
                        _quizInstance = new JavaScriptSerializer().Deserialize <QuizQuestions>(inputJson);
                    }
                    catch (Exception)
                    {
                        throw new Exception("Failed to open file");
                    }
                }
            }
            else
            {
                Console.WriteLine(fileName);
                XmlSerializer deserializer = new XmlSerializer(typeof(QuizQuestions));
                TextReader    reader       = new StreamReader(Path.Combine(fileName));
                object        obj          = deserializer.Deserialize(reader);
                _quizInstance = (QuizQuestions)obj;
                reader.Close();
            }
        }
Exemple #4
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Question,CorrectAnswer,AnswerOne,AnswerTwo,AnswerThree")] QuizQuestions quizQuestions)
        {
            if (id != quizQuestions.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(quizQuestions);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!QuizQuestionsExists(quizQuestions.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(quizQuestions));
        }
        public async Task <IActionResult> PutQuizQuestionsModel([FromRoute] int id, [FromBody] QuizQuestions quizQuestionsModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != quizQuestionsModel.Id)
            {
                return(BadRequest());
            }

            context.Entry(quizQuestionsModel).State = EntityState.Modified;

            try
            {
                await context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!QuizQuestionsModelExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public QuizQuestions Create(QuizQuestions quizQuestions)
        {
            quizQuestions.quiz.score = getScore(quizQuestions.questionAnswers);
            _context.quiz.Add(quizQuestions.quiz);
            _context.SaveChanges();

            return(quizQuestions);
        }
Exemple #7
0
        public List <QuizQuestion> GetQuestionsOnCategory(CategoryEnum category)
        {
            if (category == CategoryEnum.Random)
            {
                return(GetRandomQuestions());
            }

            return(QuizQuestions.Where(x => x.Category == category).ToList());
        }
Exemple #8
0
 private void PreviousButton_Clicked()
 {
     if (CurrentQuestionNo > 1)
     {
         CurrentQuestionNo--;
         CurrentQuestion  = QuizQuestions.FirstOrDefault(question => question.QuestionNo == CurrentQuestionNo);
         CurrentProgress -= 10;
     }
 }
        public static QuizQuestionsVM SetSubData(QuizQuestions data, Guid aid, bool isSurvey)
        {
            var model = QuizQuestionsVM.MToVM(data);

            model.Images  = ImageLinkStorageVM.MsToVMs(ImageLinkStorageService.GetByOIDAPI(data.ID, aid));
            model.Status  = StatusTypesReferencesVM.MToVM(StatusTypesReferencesService.GetByID(data.Status));
            model.Choices = isSurvey? QuizQuestionAnswerService.SetSurveyFormats(QuizQuestionAnswerService.GetByQQID(data.ID), aid, data.QuizInfoID) : QuizQuestionAnswerService.SetSubDatas(QuizQuestionAnswerService.GetByQQID(data.ID), aid);
            return(model);
        }
Exemple #10
0
 private void ClearAnswers(QuizQuestions quizInstance)
 {
     for (int i = 0; i < quizInstance.Questions.Count; i++)
     {
         for (int j = 0; j < quizInstance.Questions[i].Answers.Count; j++)
         {
             quizInstance.Questions[i].Answers[j].IsCorrect = false;
         }
     }
 }
Exemple #11
0
        public async Task <IActionResult> Create([Bind("Id,Question,CorrectAnswer,AnswerOne,AnswerTwo,AnswerThree")] QuizQuestions quizQuestions)
        {
            if (ModelState.IsValid)
            {
                _context.Add(quizQuestions);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(quizQuestions));
        }
Exemple #12
0
 private void FinalExamPage_Click(object sender, RoutedEventArgs e)
 {
     if (App.StudentProfile.ID > 0)
     {
         NavigateTo(new QuizPage(QuizQuestions.GetQuestions(ModuleNumber.FinalExam), ModuleNumber.FinalExam));
     }
     else
     {
         Functions.ShowMessageDialog("", PageText.NoProfileError);
     }
 }
        public async Task <IActionResult> SetQuiz([FromBody] QuizQuestions questionSet)
        {
            if (questionSet == null || string.IsNullOrEmpty(questionSet.QuizName) || string.IsNullOrEmpty(questionSet.QuizType) || questionSet.Questions?.Count == 0)
            {
                return(BadRequest("Mandatory Fields Missing."));
            }
            questionSet.DocumentType = "QuestionSet";
            var response = await CouchbaseHelper.CouchbaseClient.UpsertAsync(questionSet.QuizName + "_" + questionSet.QuizType + "_" + "questions", questionSet);

            return(Ok(response));
        }
Exemple #14
0
        private List <QuizQuestion> GetRandomQuestions()
        {
            List <QuizQuestion> questions = QuizQuestions.ToList();
            Random rnd = new Random();

            while (questions.Count > 15)
            {
                questions.RemoveAt(rnd.Next(questions.Count));
            }

            return(questions);
        }
        public async Task <IActionResult> PostQuizQuestionsModel([FromBody] QuizQuestions quizQuestionsModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            context.QuizQuestions.Add(quizQuestionsModel);
            await context.SaveChangesAsync();

            return(CreatedAtAction("GetQuizQuestions", new { id = quizQuestionsModel.Id }, quizQuestionsModel));
        }
Exemple #16
0
        public void LoadQestions()
        {
            foreach (QuestionDetail item in questionsModel.GetRandomQuestions())
            {
                QuizQuestions.Add(item);
            }

            TotalQuestion = QuizQuestions.Count;

            CurrentQuestion   = QuizQuestions.First();
            CurrentQuestionNo = 1;
        }
 public async Task <Guid?> GetQuizIdFromQuestionId(Guid id)
 {
     try
     {
         QuizQuestions quizQuestion = context.QuizQuestions.Where(e => e.QuestionId == id).FirstOrDefault();
         return(quizQuestion.QuizId);
     }
     catch (Exception exc)
     {
         Console.WriteLine(exc.Message);
         return(null);
     }
 }
Exemple #18
0
        private void FillUpQuestions()
        {
            Random r = new Random();

            int[] rndQuestions = new int[NumOfQuestions];

            for (int i = 0; i < rndQuestions.Length; i++)
            {
                int rInt = r.Next(1171, 2340); //Ha marad kapacitás itt lehet egy első és utolsó ID lekérdezést beépíteni
                //for (int j = 0; j < i + 1; j++)
                //{
                //    if (rndQuestions[j] == rInt)
                //    {
                //        return;
                //        i--;
                //    }
                //}
                rndQuestions[i] = rInt;
            }

            for (int i = 0; i < rndQuestions.Length; i++)
            {
                int qID = rndQuestions[i];

                var question = from x in context.Questions
                               where x.QuestionID.Equals(qID)
                               select new { QuestionID = x.QuestionID, QuestionText = x.QuestionText };
                var answer = from x in context.Answers
                             where x.QuestionID.Equals(qID)
                             select new { Answer1 = x.A1Text, Answer2 = x.A2Text, Answer3 = x.A3Text, Solution = x.CorrectAnswer };

                QuizQuestions qq = new QuizQuestions();

                foreach (var item in question)
                {
                    qq.QuestionID   = item.QuestionID;
                    qq.QuestionText = item.QuestionText;
                }

                foreach (var item in answer)
                {
                    qq.Answer1Text = item.Answer1;
                    qq.Answer2Text = item.Answer2;
                    qq.Answer3Text = item.Answer3;
                    qq.AnswerID    = item.Solution;
                }

                quizQuestions.Add(qq);
            }
        }
Exemple #19
0
        // GET: Quiz
        public ActionResult Index(tbl_Questions q, tbl_Quiz qq, QuizQuestions qqq, string QuizId)
        {
            QuizQuestions qqs = new QuizQuestions();

            if (QuizId != null && QuizId != "")
            {
                //qqs = ViewBag.Quiz;


                using (OnlineQuizEntities oq = new OnlineQuizEntities())
                {
                    if (TempData["quizdrpdwn"] as QuizQuestions == null)
                    {
                        var quizdata = oq.tbl_Quiz.ToList();
                        foreach (var item in quizdata)
                        {
                            qqs.QuizList.Add(new SelectListItem {
                                Text = item.QuizName, Value = item.QuizId.ToString()
                            });
                        }
                        TempData["quizdrpdwn"] = qq;
                    }
                    else
                    {
                        qqs = TempData["quizdrpdwn"] as QuizQuestions;
                    }

                    var allqs     = oq.tbl_Questions.ToList();
                    var allquizqu = oq.tbl_QuizQuestionRelation.ToList();
                    var quizqus   = allquizqu.Where(a => a.QuizId == Convert.ToInt32(QuizId)).ToList();

                    List <tbl_Questions> actualqs = new List <tbl_Questions>();

                    allqs.Intersect <tbl_Questions>(allqs);


                    var resp = from a in allqs
                               join b in quizqus on a.QuestionId equals b.QuestionId
                               select a;

                    foreach (var item in resp)
                    {
                        actualqs.Add(item);
                    }
                    ViewBag.AllQuestions = actualqs;
                }
                return(View("Quiz", qqs));
            }
            return(View("Quiz", qqs));
        }
Exemple #20
0
        private void ShowQuestions(QuizQuestions currentQ)
        {
            lblResult.Visible = false;

            NumOfQuestions--;

            lblQuestion.Text     = currentQ.QuestionText;
            lblAnswer1.Text      = currentQ.Answer1Text;
            lblAnswer2.Text      = currentQ.Answer2Text;
            lblAnswer3.Text      = currentQ.Answer3Text;
            CurrentCorrectAnswer = currentQ.AnswerID;
            QuizShow();
            CountDown = 15;
        }
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            QuizQuestions = await _context.QuizQuestions.FirstOrDefaultAsync(m => m.Id == id);

            if (QuizQuestions == null)
            {
                return(NotFound());
            }
            return(Page());
        }
        public void GetQuestions()
        {
            DataTable dt = null;

            var questions = (from qq in _quizQuestionService.GetAll().ToList()
                             join ql in _quizLevelService.GetAll().ToList() on qq.LevelId equals ql.Id
                             join qr in _quizRoundService.GetAll().ToList() on qq.RoundId equals qr.Id
                             select new QuizQuestions
            {
                Id = qq.Id,
                AcademicYear = qq.AcademicYear,
                Level = ql.Name,
                Round = qr.Name,
                QuestionText = qq.Question,
                QuestionType = qq.QuestionType,
                DocUrl = qq.DocUrl,
                IsMCQ = qq.IsMCQ,
                CorrectAnswer = qq.CorrectAnswer,
                Option1 = qq.Option1,
                Option2 = qq.Option2,
                Option3 = qq.Option3,
                Option4 = qq.Option4,
                Time = qq.Time + " Sec."
            }).ToList();

            if (questions != null && questions.Count() != 0)
            {
                if (questions.Count() > 0)
                {
                    dt = ExportExcelhelper.ListToDataTable(questions);
                }
            }
            else
            {
                List <QuizQuestions> list = new List <QuizQuestions>();

                QuizQuestions quizQuestion = new QuizQuestions();
                list.Add(quizQuestion);

                dt = ExportExcelhelper.ListToDataTable(list);
                dt.Rows.RemoveAt(0);
            }

            QuestiondataGridView.AutoGenerateColumns   = true;
            QuestiondataGridView.DataSource            = dt;
            QuestiondataGridView.Columns["Id"].Visible = false;
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            QuizQuestions = await _context.QuizQuestions.FindAsync(id);

            if (QuizQuestions != null)
            {
                _context.QuizQuestions.Remove(QuizQuestions);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
Exemple #24
0
        public ActionResult Quiz()
        {
            using (OnlineQuizEntities oq = new OnlineQuizEntities())
            {
                var quiz         = oq.tbl_Quiz.ToList();
                var allquestions = oq.tbl_Questions.ToList();

                QuizQuestions qq = new QuizQuestions();
                foreach (var item in quiz)
                {
                    qq.QuizList.Add(new SelectListItem {
                        Text = item.QuizName, Value = item.QuizId.ToString()
                    });
                }
                ViewBag.AllQuestions = allquestions;
                ViewBag.Quiz         = qq;
                return(View(qq));
            }
        }
Exemple #25
0
        public IActionResult add([FromBody] Question question)
        {
            if (question == null || question.options == null || question.questionType == null)
            {
                return(BadRequest(ReturnResponse.GetFailureStatus("Bad Request")));
            }

            QuizQuestions ques = new QuizQuestions();

            ques.Description    = question.name;
            ques.AccountId      = question.accountId;
            ques.ClassSubjectId = question.classSubjectId;

            _context.QuizQuestions.Add(ques);
            _context.SaveChanges();

            int  newQuestionId   = ques.Id;
            long correctAnswerId = 0;

            foreach (Option o in question.options)
            {
                QuizQuestionsOptions opt = new QuizQuestionsOptions();
                opt.Description = o.name;
                opt.QuestionId  = newQuestionId;

                _context.QuizQuestionsOptions.Add(opt);
                _context.SaveChanges();

                if (o.isAnswer)
                {
                    correctAnswerId = opt.Id;
                }
            }


            ques.CorrectAnswerOptionId = correctAnswerId;

            _context.QuizQuestions.Update(ques);
            _context.SaveChanges();

            return(Ok(ReturnResponse.GetSuccessStatus("Successfully Inserted: new id is: " + newQuestionId.ToString())));
        }
Exemple #26
0
        public async Task GetQuestions()
        {
            if (initializedQuest == true)
            {
                return;
            }
            IsBusy = true;
            IEnumerable <QuizQuestion> questions = await quizService.GetQuestions();

            // очищаем список
            while (QuizQuestions.Any())
            {
                QuizQuestions.RemoveAt(QuizQuestions.Count - 1);
            }

            // добавляем загруженные данные
            foreach (QuizQuestion f in questions)
            {
                QuizQuestions.Add(f);
            }
            IsBusy           = false;
            initializedQuest = true;
        }
Exemple #27
0
        private void SubmitButton_Clicked(string navigationPath)
        {
            float noOfCorrectQuestions = 0.0f;
            float percent = 0.0f;

            foreach (var item in QuizQuestions.Select(x => x.Options))
            {
                foreach (var options in item)
                {
                    if (options.IsSelected && options.IsCorrect)
                    {
                        noOfCorrectQuestions++;
                    }
                }
            }

            percent = (noOfCorrectQuestions / TOTAL_QUESTIONS) * 100;

            if (percent >= 70)
            {
                NotificationRequest.Raise(new Notification {
                    Content = "Congratulations! You have passed the exam with " + percent + "%", Title = "Result"
                });
            }
            else
            {
                NotificationRequest.Raise(new Notification {
                    Content = string.Format("You have achieved {0} %, which is not enough to pass the exam. Please try again.", percent), Title = "Result"
                });
            }

            if (navigationPath != null)
            {
                this.regionManager.RequestNavigate("MainView", navigationPath);
            }
        }
Exemple #28
0
 public Model()
 {
     _quizInstance = new QuizQuestions();
 }
Exemple #29
0
 public List <Questions> Get()
 {
     return(QuizQuestions.GetQuizQuestions());
 }
Exemple #30
0
        public async Task <ServiceResponse <object> > AddQuestion(QuizQuestionDtoForAdd model)
        {
            if (model.Answers.Where(m => m.IsTrue == true).Count() > 0)
            {
                var questionObj = new QuizQuestions
                {
                    QuizId         = model.QuizId,
                    QuestionTypeId = model.QuestionTypeId,
                    Question       = model.Question,
                    Marks          = model.Marks
                };
                await _context.QuizQuestions.AddAsync(questionObj);

                await _context.SaveChangesAsync();

                foreach (var item in model.Answers)
                {
                    var answer = new QuizAnswers
                    {
                        QuestionId = questionObj.Id,
                        Answer     = item.Answer,
                        IsTrue     = item.IsTrue
                    };
                    await _context.QuizAnswers.AddAsync(answer);

                    await _context.SaveChangesAsync();
                }
                List <QuestionForListDto> questions = await(from q in _context.QuizQuestions
                                                            join qType in _context.QuestionTypes
                                                            on q.QuestionTypeId equals qType.Id
                                                            where q.QuizId == model.QuizId
                                                            select new QuestionForListDto
                {
                    QuestionId     = q.Id,
                    Question       = q.Question,
                    QuestionTypeId = q.QuestionTypeId,
                    QuestionType   = qType.Type,
                    Marks          = Convert.ToInt32(q.Marks),
                }).ToListAsync();

                foreach (var question in questions)
                {
                    List <AnswerForListDto> answers = await(from ans in _context.QuizAnswers
                                                            where ans.QuestionId == question.QuestionId
                                                            select new AnswerForListDto
                    {
                        AnswerId = ans.Id,
                        Answer   = ans.Answer,
                        IsTrue   = Convert.ToBoolean(ans.IsTrue),
                    }).ToListAsync();
                    question.Answers.AddRange(answers);
                }
                _serviceResponse.Data = new
                {
                    QuestionCount = questions.Count(),
                    Questions     = questions
                };
                _serviceResponse.Success = true;
                _serviceResponse.Message = CustomMessage.Added;
                return(_serviceResponse);
            }
            else
            {
                _serviceResponse.Success = false;
                _serviceResponse.Message = CustomMessage.SelectLeastOneTrue;
                return(_serviceResponse);
            }
        }