Пример #1
0
        public ActionResult Index(int?id)
        {
            TestDTO             testDTO  = TestFormingService.GetTest(id);
            TestAnswerViewModel testView = new TestAnswerViewModel()
            {
                Test_ID     = testDTO.Test_ID,
                Topic       = testDTO.Topic,
                TimeForTest = testDTO.TimeForTest,
            };

            testView.Questions = new List <QuestionAnswerViewModel>();
            var mapper = new MapperConfiguration(cfg => cfg.CreateMap <AnswerDTO, AnswerViewModel>()).CreateMapper();

            foreach (var quest in testDTO.Questions)
            {
                QuestionAnswerViewModel qvm = new QuestionAnswerViewModel
                {
                    Question_ID = quest.Question_ID,
                    Test_ID     = quest.Test_ID,
                    content     = quest.content,
                    ISFULL      = quest.ISFULL
                };
                testView.Questions.Add(qvm);
                qvm.Answers = mapper.Map <IEnumerable <AnswerDTO>, List <AnswerViewModel> >(quest.Answers);
            }
            return(View(testView));
        }
Пример #2
0
        public async Task <IViewComponentResult> InvokeAsync(string searchQuestionId, string searchAnswerContent)
        {
            IQueryable <int> questionQuery = from question in _questionContext.Question
                                             orderby question.QuestionId
                                             select question.QuestionId;

            var answers = from m in _answerContext.Answer
                          select m;

            if (!string.IsNullOrEmpty(searchAnswerContent))
            {
                answers = answers.Where(s => s.Content.Contains(searchAnswerContent));
            }

            if (!string.IsNullOrEmpty(searchQuestionId))
            {
                answers = answers.Where(x => x.QuestionId == int.Parse(searchQuestionId));
            }

            var vm = new QuestionAnswerViewModel
            {
                SearchQuestionId    = searchQuestionId,
                SearchAnswerContent = searchAnswerContent,
                Questions           = new SelectList(await questionQuery.Distinct().ToListAsync()),
                Answers             = await answers.ToListAsync()
            };

            return(View(vm));
        }
        public ActionResult QuestAnsDetails(int?id)
        {
            //create object of ADO.Net Entity Data Model Code First
            //var db = new QuestionAnswer();

            //Get Student detail as per student ID
            var quest = _context.Questions
                        .Include(q => q.Topic)
                        .Include(q => q.UserAccount)
                        .Where(m => m.QuestionId == id)
                        .FirstOrDefault();

            //.Select(m=> new QuestionAnswerViewModel {
            //Questions= new Question { },
            //Questtopic=m.Topic
            //} )


            //Get Result Exam marks detail as per student ID
            var ans = _context.Answers
                      .Include(q => q.Question)
                      .Include(q => q.UserAccount)
                      .Where(m => m.QuestId == id).ToList();

            //Output set to ViewModel
            var model = new QuestionAnswerViewModel {
                Questions = quest, Answers = ans
            };

            //var model = new QuestionAnswerViewModel { Questions = quest, Questtopic=quest.Topic, Answers =ans };
            return(View(model));
        }
Пример #4
0
 public JsonResult Add(QuestionAnswerViewModel questionInput)
 {
     if (ModelState.IsValid)
     {
         this.answersService.Add(questionInput.QuestionId, questionInput.Answer);
         return Json(new { isSuccessfullyAdded = true });
     }
     return Json(new { isSuccessfullyAdded = false });
 }
        /// <summary>
        /// Check if the selected answers are giving the correct answer
        /// </summary>
        /// <param name="qvm"></param>
        /// <returns></returns>
        public bool QuestionsIsCorrect(QuestionAnswerViewModel qvm, List <string> answerList)
        {
            //SDI: In this version of the tool, there can only be one correct answer (To be changed in V1.1)
            bool res = false;

            if (answerList.Count() == 1 && qvm.CorrectAnswerText == answerList[0])
            {
                res = true;
            }
            return(res);
        }
Пример #6
0
 public void Create(QuestionAnswerViewModel vm)
 {
     try
     {
         _dataContext.Save(vm.Question);
         var id = _dataContext.GetAll().Last().ID;
         vm.AnswerList.ForEach(i => { i.QuestionID = id; });
         aws.CreateList(vm.AnswerList);
     }
     catch (Exception ex)
     {
     }
 }
Пример #7
0
        public List <QuestionAnswerViewModel> GetRandomQuestions(int _questNbr, ChapterViewModel _chapVM)
        {
            List <QuestionAnswerViewModel> TestQuestionVMList = new List <QuestionAnswerViewModel>();

            List <Question> AllQuestions = Repository.GetQuestionsByChapterId(_chapVM.ChapterId).ToList();
            Chapter         selChapter   = Repository.GetChapterByChapterId(_chapVM.ChapterId);

            if (AllQuestions != null && (AllQuestions.Count() >= _questNbr))
            {
                //Generate a random list of questions
                List <Question> RandomQuestionList = Tools.PickRandom(AllQuestions.ToArray(), _questNbr);
                foreach (Question question in RandomQuestionList)
                {
                    QuestionAnswerViewModel qvm = new QuestionAnswerViewModel(_chapVM);
                    qvm.QuestionId          = question.ID;
                    qvm.QuestionChaperId    = question.ChaperId;
                    qvm.QuestionChapterName = selChapter.Name;
                    qvm.QuestionText        = question.Text;
                    qvm.CorrectAnswerText   = question.CorrectAnswer;
                    qvm.FakeAnswerText1     = question.FakeAnswer1;
                    qvm.FakeAnswerText2     = question.FakeAnswer2;
                    qvm.FakeAnswerText3     = question.FakeAnswer3;
                    qvm.CurrentChapter      = selChapter;


                    TestQuestionVMList.Add(qvm);
                }
            }
            else if (AllQuestions != null && (AllQuestions.Count() > 0))
            {
                //Generate a random list of questions
                List <Question> RandomQuestionList = Tools.PickRandom(AllQuestions.ToArray(), AllQuestions.Count());
                foreach (Question question in RandomQuestionList)
                {
                    QuestionAnswerViewModel qvm = new QuestionAnswerViewModel(_chapVM);
                    qvm.QuestionId          = question.ID;
                    qvm.QuestionChaperId    = question.ChaperId;
                    qvm.QuestionChapterName = selChapter.Name;
                    qvm.QuestionText        = question.Text;
                    qvm.CorrectAnswerText   = question.CorrectAnswer;
                    qvm.FakeAnswerText1     = question.FakeAnswer1;
                    qvm.FakeAnswerText2     = question.FakeAnswer2;
                    qvm.FakeAnswerText3     = question.FakeAnswer3;
                    qvm.CurrentChapter      = selChapter;

                    TestQuestionVMList.Add(qvm);
                }
            }

            return(TestQuestionVMList);
        }
        public IActionResult Add([FromQuery] QuestionAnswerViewModel model)
        {
            var QuestionsOptionResponse = _questionAnswerService.Add(new QuestionsAnswer
            {
                Content     = model.Content,
                QuestionsId = model.QuestionsId
            });

            if (QuestionsOptionResponse.IsSucceeded && QuestionsOptionResponse.Result != null)
            {
                return(Ok(QuestionsOptionResponse.Result));
            }
            return(QuestionsOptionResponse.HttpGetResponse());
        }
        public TestQuestionResult(TestQuestionManager tqMgr, QuestionAnswerViewModel qaVM)
        {
            this.BindingContext = tqMgr;

            Content = new StackLayout
            {
                Children =
                {
                    new Label {
                        Text = "Votre resultat au test de " + qaVM.CurrentChapter.Name + " est de:" + tqMgr.TotalCorrectAnswer.ToString() + " / " + tqMgr.TotalTestQuestion.ToString()
                    }
                }
            };
        }
Пример #10
0
 public static QuestionAnswerEntity ToBllQuestionAnswer(this QuestionAnswerViewModel questionAnswer)
 {
     if (questionAnswer == null)
     {
         return(null);
     }
     return(new QuestionAnswerEntity()
     {
         Id = questionAnswer.Id,
         Content = questionAnswer.Content,
         Correct = questionAnswer.Correct,
         QuestionId = questionAnswer.QuestionId
     });
 }
Пример #11
0
        // GET: Questions
        public async Task <IActionResult> Index()
        {
            var Questions = await _context.Question.ToListAsync();

            var Answers = await _context.Answer.ToListAsync();

            var QAViewModel = new QuestionAnswerViewModel
            {
                Questions = Questions,
                Answers   = Answers
            };

            return(View(QAViewModel));
        }
 public ActionResult RemoveQuestionAnswer(QuestionCategoriesViewModelContainer model)
 {
     if (!String.IsNullOrEmpty(model.QuestionAnswerHelper.AnswerToRemove))
     {
         QuestionAnswerViewModel existingAnswer = model.QuestionAnswerViewModel.Where(qa => qa.Value == model.QuestionAnswerHelper.AnswerToRemove.Trim()).FirstOrDefault();
         if (existingAnswer != null)
         {
             model.QuestionAnswerViewModel.Remove(existingAnswer);
         }
     }
     model.QuestionAnswerHelper.AnswerToAdd    = "";
     model.QuestionAnswerHelper.AnswerToRemove = "";
     ModelState.Clear();
     return(View("Index", model));
 }
Пример #13
0
        public IActionResult AddQuestionAnswer(int questionId)
        {
            var question = _questionDao.GetAll().FirstOrDefault(q => q.Id == questionId);

            if (question != null)
            {
                var AnswerViewModel = new QuestionAnswerViewModel()
                {
                    QuestionId      = question.Id,
                    QuestionContent = question.Content
                };
                return(View("AddOrUpdateQuestionAnswer", AnswerViewModel));
            }

            return(RedirectToAction("Details", new { questionId }));
        }
Пример #14
0
        public IActionResult UserAnswer([FromBody] QuestionAnswerViewModel viewModel)
        {
            var question = _questionRepository.GetById(viewModel.QuestionId);

            if (question == null)
            {
                return(NotFound());
            }
            if (viewModel.Answer.Trim() == question.RightAnswer.Trim())
            {
                return(Ok(new { Message = "Answer is correct" }));
            }
            else
            {
                return(Ok(new { Message = "Answer is incorrect" }));
            }
        }
        private QuestionCategoriesViewModelContainer MapCategoryToCategoryViewModel(QuestionCategory category)
        {
            QuestionCategoriesViewModelContainer model = new QuestionCategoriesViewModelContainer();

            if (category != null)
            {
                model.QuestionCategoryViewModel = _mapper.Map <QuestionCategoryViewModel>(category);
                foreach (QuestionAnswer answer in _categoryService.GetAnswers(category.Id).ToList())
                {
                    QuestionAnswerViewModel answerModel = _mapper.Map <QuestionAnswerViewModel>(answer);
                    answerModel.IsPrimary = answer.Questions.Any();
                    model.QuestionAnswerViewModel.Add(answerModel);
                }
            }

            return(model);
        }
Пример #16
0
        public IActionResult Questionnaire()
        {
            List <Question> _questions = _context.Questions.ToList();
            List <Answer>   _answers   = _context.Answers.ToList();


            QuestionAnswerViewModel _questionAnswerVM = new QuestionAnswerViewModel()
            {
                Date      = DateTime.Today,
                Random    = new Random(),
                Questions = _questions,
                Answers   = _answers
            };


            return(View(_questionAnswerVM));
        }
Пример #17
0
        //edit question

        public ActionResult EditQuestion(string Id, string Content, int?Count, string[] editdynamicField)
        {
            QuestionViewModel questionViewModel = new QuestionViewModel(db.Questions.Find(new Guid(Id)));

            if (questionViewModel != null)
            {
                questionViewModel.Content = Content;
                if (questionViewModel.Type == "Checkbox")
                {
                    QuestionAnswerViewModel answer;
                    var answers = db.QuestionAnswers.Where(x => x.QuestionId == questionViewModel.Id);
                    int i       = 0;
                    foreach (var item in answers)
                    {
                        answer = new QuestionAnswerViewModel(item);
                        if (editdynamicField.Count() > i)
                        {
                            answer.Answer = editdynamicField[i];
                            answer.UpdateQuestionAnswer(answer);
                        }
                        else
                        {
                            answer.DeleteQuestionAnswer(answer);
                        }
                        i++;
                    }
                    if (answers.Count() < editdynamicField.Count())
                    {
                        for (int j = i; j < editdynamicField.Count(); j++)
                        {
                            answer = new QuestionAnswerViewModel
                            {
                                Id         = Guid.NewGuid(),
                                QuestionId = questionViewModel.Id,
                                Answer     = editdynamicField[j]
                            };
                            answer.AddQuestionAnswer(answer);
                        }
                    }
                }
                questionViewModel.UpdateQuestion(questionViewModel);
            }

            return(RedirectToAction("Create", "Surveys"));
        }
        public ActionResult AddQuestionAnswer(QuestionCategoriesViewModelContainer model)
        {
            if (!String.IsNullOrEmpty(model.QuestionAnswerHelper.AnswerToAdd))
            {
                QuestionAnswerViewModel answerModel = new QuestionAnswerViewModel()
                {
                    CategoryID = model.QuestionCategoryViewModel.Id,
                    Value      = model.QuestionAnswerHelper.AnswerToAdd,
                    IsPrimary  = false
                };

                model.QuestionAnswerViewModel.Add(answerModel);
            }
            model.QuestionAnswerHelper.AnswerToAdd    = "";
            model.QuestionAnswerHelper.AnswerToRemove = "";
            ModelState.Clear();
            return(View("Index", model));
        }
Пример #19
0
        public static List <QuestionAnswerViewModel> GetQuestionAnswerViewModel(List <QAModel> lsitQAModel)
        {
            List <QuestionAnswerViewModel> results = new List <QuestionAnswerViewModel>();

            foreach (var item in lsitQAModel)
            {
                QuestionAnswerViewModel qavm = new QuestionAnswerViewModel();

                if (!string.IsNullOrEmpty(item.QUES_Type))
                {
                    qavm.Title = item.QUES_Desc;
                }

                results.Add(qavm);
            }

            return(results);
        }
Пример #20
0
        public IActionResult EditQuestionAnswer(int AnswerId)
        {
            var answer = _answerDao.GetById(AnswerId);

            if (answer != null)
            {
                var question        = _questionDao.GetBydId(answer.QuestionId);
                var answerViewModel = new QuestionAnswerViewModel()
                {
                    QuestionId      = question.Id,
                    QuestionContent = question.Content,
                    AnswerContent   = answer.Content,
                    AnswerId        = answer.Id
                };
                return(View("AddOrUpdateQuestionAnswer", answerViewModel));
            }

            return(RedirectToAction("List"));
        }
Пример #21
0
        public async Task <IActionResult> AddQuestionAnswer(QuestionsAnswerDTO item)
        {
            setViewData();
            if (ModelState.IsValid)
            {
                if (!_repo.QuestionsAnswerExists(item.QuestionId, item.AnswerId))
                {
                    await _repo.AddQuestionAnswer(item);

                    var model = new QuestionAnswerViewModel();
                    model.List = await _repo.GetListQuestionsAnswer(item.QuestionId);

                    model.QuestionId = item.QuestionId;
                    return(PartialView("_Answers", model));
                }
                return(Content("exists"));
            }
            return(Content("Wypełnij wszystkie wymagane pola"));
        }
        public ActionResult Index(int id)
        {
            DBEntities DBContext = new DBEntities();
            IEnumerable <AnswerDBTable> Selected         = DBContext.AnswerDBTables.Where(x => x.QuestionID == id);
            List <AnswerDBTable>        SelectedAnswers  = Selected.ToList();
            QuestionDBTable             QuestionSelected = DBContext.QuestionDBTables.First(x => x.ID == id);

            QuestionAnswerViewModel QAViewModel = new QuestionAnswerViewModel
            {
                Question = QuestionSelected,
                Answers  = SelectedAnswers
            };


            if (SelectedAnswers.Count() == 0)
            {
                return(HttpNotFound());
            }
            return(View(QAViewModel));
        }
Пример #23
0
        public IActionResult AddOrUpdateQuestionAnswer(QuestionAnswerViewModel answerviewModel)
        {
            var answer = new Answer
            {
                Id         = answerviewModel.AnswerId ?? 0,
                QuestionId = answerviewModel.QuestionId,
                Content    = answerviewModel.AnswerContent
            };

            if (answerviewModel.AnswerId.HasValue && answerviewModel.AnswerId.Value > 0)
            {
                _answerDao.UpdateAnswer(answer);
            }
            else
            {
                var AnswerId = _answerDao.CreateAnswer(answer);
            }

            return(RedirectToAction("Details", new { questionId = answerviewModel.QuestionId }));
        }
        // GET: Questions/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Question question = db.Questions.Find(id);

            if (question == null)
            {
                return(HttpNotFound());
            }
            var qa = new QuestionAnswerViewModel
            {
                Question  = question,
                NewAnswer = new Answer()
            };

            qa.NewAnswer.QuestionId = qa.Question.Id;
            return(View(qa));
        }
Пример #25
0
        public ActionResult Details(int id)
        {
            if (id == 0)
            {
                return(HttpNotFound());
            }

            Question question = _questionService.Get(id);

            if (question == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new QuestionAnswerViewModel()
            {
                Question = question
            };

            return(View("Details", viewModel));
        }
        public IActionResult Edit(int id, QuestionAnswerViewModel model)
        {
            var getQuestionsOption = _questionAnswerService.GetQuestionsAnswerById(id);

            if (getQuestionsOption != null && getQuestionsOption.IsSucceeded)

            {
                getQuestionsOption.Result.Content     = model.Content;
                getQuestionsOption.Result.QuestionsId = model.QuestionsId;

                var updateResult = _questionAnswerService.Update(getQuestionsOption.Result);

                if (updateResult.IsSucceeded)

                {
                    return(Ok(updateResult.Result));
                }
                return(updateResult.HttpGetResponse());
            }
            return(getQuestionsOption.HttpGetResponse());
        }
Пример #27
0
        //end edit question

        public ActionResult DeleteQuestion(Guid Id)
        {
            QuestionViewModel questionViewModel = new QuestionViewModel(db.Questions.Find(Id));

            if (questionViewModel != null)
            {
                questionViewModel.DeleteQuestion(questionViewModel);
                if (questionViewModel.Type == "Checkbox")
                {
                    QuestionAnswerViewModel answer;
                    var answers = db.QuestionAnswers.Where(x => x.QuestionId == questionViewModel.Id);
                    int i       = 0;
                    foreach (var item in answers)
                    {
                        answer = new QuestionAnswerViewModel(item);
                        answer.DeleteQuestionAnswer(answer);
                    }
                }
            }
            return(RedirectToAction("Create", "Surveys"));
        }
Пример #28
0
        public PartialViewResult Answer(Guid questionId, Guid answerId)
        {
            var gameState = Session["GameState"] as GamePlayState;

            var answer = QuizDb.Answers.SingleOrDefault(x => x.Id == answerId);
            var game   = QuizDb.QuizGames.SingleOrDefault(x => x.Id == gameState.Game.Id);
            var player = QuizDb.GamePlayers.SingleOrDefault(x => x.Id == gameState.Player.Id);

            var log = new GameLog();

            log.Answer      = answer;
            log.Game        = game;
            log.Player      = player;
            log.LogDateTime = DateTime.Now;

            QuizDb.GameLogs.Add(log);
            QuizDb.SaveChanges();

            // Update
            var statService = new StatisticsService(QuizDb);

            statService.NotifyUpdates();

            var questionToDelete = gameState.QuestionsLeft.SingleOrDefault(x => x.Id == answer.Question.Id);

            gameState.QuestionsLeft.Remove(questionToDelete);

            // jetzt die Antwort mit Ergebnis zurückschicken


            // die Frage
            // die Antwort
            var model = new QuestionAnswerViewModel();

            model.Answers       = gameState.CurrentQuestion.Answers;
            model.GivenAnswer   = answer;
            model.CorrectAnswer = questionToDelete.Answers.FirstOrDefault(x => x.IsCorrect);

            return(PartialView("_Answer", model));
        }
Пример #29
0
        public IActionResult Question(int questionId, string title)
        {
            int lintUserId = HttpContext.Session.GetInt32("UserId") ?? 0;
            QuestionViewModel questionViewModel = new QuestionViewModel();

            using (var unitOfWork = new UnitOfWork(new CuriousDriveContext()))
            {
                Question question = unitOfWork.Questions.GetQuestionDetails(questionId);

                questionViewModel.questionId    = question.QuestionId;
                questionViewModel.questionTitle = question.QuestionTitle;
                questionViewModel.questionHtml  = question.QuestionHtml;
                questionViewModel.createdDate   = question.CreatedDate;

                questionViewModel.userDetailsViewModel = new UserDetailsViewModel();

                questionViewModel.userDetailsViewModel.userId      = question.User.UserId;
                questionViewModel.userDetailsViewModel.displayName = question.User.DisplayName;
                questionViewModel.userDetailsViewModel.urlTitle    = Utility.GetURLTitle(question.User.DisplayName);

                questionViewModel.userDetailsViewModel.profilePictureViewModel = new ProfilePictureViewModel();

                questionViewModel.userTagListViewModel = new List <UserTagViewModel>();

                foreach (Tag tag in question.Tag)
                {
                    foreach (TagDetail tagDetail in tag.TagDetail)
                    {
                        UserTagViewModel userTagViewModel = new UserTagViewModel();

                        userTagViewModel.userId  = tagDetail.TaggedUser.UserId;
                        userTagViewModel.userTag = tagDetail.TaggedUser.DisplayName;

                        questionViewModel.userTagListViewModel.Add(userTagViewModel);
                    }
                }

                questionViewModel.commentsViewModel = new List <CommentViewModel>();

                foreach (Comment comment in question.Comment)
                {
                    CommentViewModel commentViewModel = new CommentViewModel();

                    commentViewModel.commentId   = comment.CommentId;
                    commentViewModel.commentHtml = comment.CommentHtml;
                    commentViewModel.userId      = comment.User.UserId;
                    commentViewModel.displayName = comment.User.DisplayName;
                    commentViewModel.urlTitle    = Utility.GetURLTitle(comment.User.DisplayName);

                    questionViewModel.commentsViewModel.Add(commentViewModel);
                }

                questionViewModel.questionAnswersViewModel = new List <QuestionAnswerViewModel>();

                foreach (QuestionAnswer questionAnswer in question.QuestionAnswer)
                {
                    QuestionAnswerViewModel questionAnswerViewModel = new QuestionAnswerViewModel();

                    questionAnswerViewModel.questionId       = question.QuestionId;
                    questionAnswerViewModel.questionAnswerId = questionAnswer.QuestionAnswerId;
                    questionAnswerViewModel.answerHtml       = questionAnswer.AnswerHtml;
                    questionAnswerViewModel.createdDate      = questionAnswer.CreatedDate;

                    questionAnswerViewModel.commentsViewModel = new List <CommentViewModel>();

                    foreach (Comment comment in questionAnswer.Comment)
                    {
                        CommentViewModel commentViewModel = new CommentViewModel();

                        commentViewModel.commentId   = comment.CommentId;
                        commentViewModel.commentHtml = comment.CommentHtml;
                        commentViewModel.userId      = comment.User.UserId;
                        commentViewModel.displayName = comment.User.DisplayName;
                        commentViewModel.urlTitle    = Utility.GetURLTitle(comment.User.DisplayName);

                        questionAnswerViewModel.commentsViewModel.Add(commentViewModel);
                    }

                    questionAnswerViewModel.userDetailsViewModel = new UserDetailsViewModel();

                    questionAnswerViewModel.userDetailsViewModel.userId      = questionAnswer.UserId;
                    questionAnswerViewModel.userDetailsViewModel.displayName = questionAnswer.User.DisplayName;
                    questionAnswerViewModel.userDetailsViewModel.urlTitle    = Utility.GetURLTitle(questionAnswer.User.DisplayName);

                    questionAnswerViewModel.userDetailsViewModel.profilePictureViewModel = new ProfilePictureViewModel();

                    questionViewModel.questionAnswersViewModel.Add(questionAnswerViewModel);
                }

                questionViewModel.questionClassesViewModel = new List <QuestionClassViewModel>();

                foreach (QuestionClass questionClass in question.QuestionClass)
                {
                    QuestionClassViewModel questionClassViewModel = new QuestionClassViewModel();

                    questionClassViewModel.classId   = questionClass.ClassId;
                    questionClassViewModel.className = questionClass.Class.ClassName;

                    questionViewModel.questionClassesViewModel.Add(questionClassViewModel);
                }
            }

            return(View(questionViewModel));
        }
Пример #30
0
        public ChapterContentEdition(ChapterViewModel _selChapterVM)
        {
            ListView lvAllChapterQuestions      = new ListView();
            QuestionAnswerViewModel QuestionsVM = new QuestionAnswerViewModel(_selChapterVM);

            var lblChapter = new Label
            {
                Text = "Chapitre " + _selChapterVM.ChapterName
            };

            List <QuestionAnswerViewModel> AllQuestionsVM = QuestionsVM.GetQuestionsForChapterVM(_selChapterVM);

            if (AllQuestionsVM == null || (AllQuestionsVM != null) && AllQuestionsVM.Count() == 0)
            {
                //QuestionAnswerViewModel test = new QuestionAnswerViewModel(_selChapterVM); ;
                //test.DeleteAllQuestions();

                //SDI: If there is no questions yet,we add a "fake" question which is a link to open the CreateQuestion page
                QuestionAnswerViewModel fakeToAdd = new QuestionAnswerViewModel(_selChapterVM);
                fakeToAdd.QuestionText = "Nouvelle question";
                AllQuestionsVM         = new List <QuestionAnswerViewModel>();
                AllQuestionsVM.Add(fakeToAdd);
            }
            else
            {
                //SDI: we just add the fake chapter at the end of the list
                QuestionAnswerViewModel fakeToAdd = new QuestionAnswerViewModel(_selChapterVM);
                fakeToAdd.QuestionText = "Nouvelle question";
                AllQuestionsVM.Add(fakeToAdd);
            }

            lvAllChapterQuestions.ItemsSource  = AllQuestionsVM;
            lvAllChapterQuestions.ItemTemplate = new DataTemplate(typeof(CustomQuestionCell));
            lvAllChapterQuestions.ItemTemplate.SetBinding(ImageCell.TextProperty, "QuestionText");
            lvAllChapterQuestions.ItemTemplate.SetValue(ImageCell.TextColorProperty, Color.FromHex("#795548"));

            lvAllChapterQuestions.ItemTapped += async(sender, e) =>
            {
                QuestionAnswerViewModel qvm = (QuestionAnswerViewModel)e.Item;
                //SDI: Creation and Update are using the same create question page since the fields are bound to the object
                await Navigation.PushAsync(new CreateQuestionAnswer(qvm));

                #region Old
                //if (qvm.QuestionText.Trim().ToLower().Equals("nouvelle question"))
                //{
                //    //SDI: if element tapped is to create a new question, we go to the CreateQuestion page
                //    await Navigation.PushAsync(new CreateQuestionAnswer(qvm)); //await DisplayAlert("Info", "nouvelle question", "Ok");
                //}
                //else //SDI:An existing question has been selected, we edit the question
                //{
                //    await Navigation.PushAsync(new QuestionAnswerContentEdition(qvm));
                //}
                #endregion

                ((ListView)sender).SelectedItem = null;
            };


            lvAllChapterQuestions.IsPullToRefreshEnabled = true;//To enable the refreshment of the listview when pulled


            var stackLayout = new StackLayout
            {
                Children =
                {
                    lblChapter, lvAllChapterQuestions
                },
                BackgroundColor = Color.White
            };

            this.BindingContext  = AllQuestionsVM;
            this.Content         = stackLayout;
            this.Padding         = new Thickness(10, Device.OnPlatform(20, 0, 0), 10, 5);
            this.BackgroundColor = Color.Gray;
        }
Пример #31
0
        public PartialViewResult userQuestionAnswer(CandidateAnswer objCandidateAnswer)

        {
            bool IsLast = false;

            if (Session["co"] == null)
            {
                Session["co"] = 1;
            }
            else
            {
                var i = Convert.ToInt32(Session["co"]);
                i++;
                Session["co"] = i;
            }
            if (objCandidateAnswer.AnswerText != null)
            {
                var ans = (from obj in obQuizDbEntities.Answers
                           where obj.QuestionId.Equals(objCandidateAnswer.QuestionId)
                           select obj).FirstOrDefault();

                Result result = new Result();
                result.AnswerText = objCandidateAnswer.AnswerText;
                result.UserId     = Session["CandidateName"].ToString();
                // result.QuestionId = objCandidateAnswer.QuestionId;
                result.QuestionId = Convert.ToInt32(Session["questionid"]);
                obQuizDbEntities.Results.Add(result);
                obQuizDbEntities.SaveChanges();
            }
            if (objCandidateAnswer.AnswerText != null)
            {
                List <CandidateAnswer> objCandidateAnswers = Session["CadQuestionAnswer"] as List <CandidateAnswer>;
                if (objCandidateAnswers == null)
                {
                    objCandidateAnswers = new List <CandidateAnswer>();
                }
                objCandidateAnswers.Add(objCandidateAnswer);
                Session["CadQuestionanswer"] = objCandidateAnswers;
            }

            int pageSize   = 1;
            int pageNumber = 0;
            int CategoryId = Convert.ToInt32(Session["CategoryId"]);

            if (Session["CadQuestionAnswer"] == null)
            {
                pageNumber = pageNumber + 1;
            }
            else
            {
                List <CandidateAnswer> canAnswer = Session["CanQuestionAnswer"] as List <CandidateAnswer>;
                pageNumber = Convert.ToInt32(Session["co"]);
                //  pageNumber = canAnswer.Count + 1;
                //pageNumber = pageNumber + 1;
            }
            List <Question> listOfQuestion = new List <Question>();

            listOfQuestion = obQuizDbEntities.Questions.Where(model => model.CategoryId == CategoryId).ToList();
            if (pageNumber == listOfQuestion.Count)
            {
                IsLast = true;
                var candidate = Session["CandidateName"].ToString();

                // Session["co"] = null;
            }

            QuestionAnswerViewModel objAnswerViewModel = new QuestionAnswerViewModel();
            Question objQuestion = new Question();

            objQuestion = listOfQuestion.Skip((pageNumber - 1) * pageSize).Take(pageSize).FirstOrDefault();
            objAnswerViewModel.isLast            = IsLast;
            objAnswerViewModel.QuestionId        = objQuestion.QuestionId;
            Session["questionid"]                = objQuestion.QuestionId;
            objAnswerViewModel.QuestionName      = objQuestion.QuestionName;
            objAnswerViewModel.ListOfQuizOptions = (from obj in obQuizDbEntities.Options
                                                    where obj.QuestionId == objQuestion.QuestionId
                                                    select new QuizOption()
            {
                OptionName = obj.OptionName,
                OptionId = obj.OptionId
            }).ToList();

            return(PartialView("QuizQuestionOption", objAnswerViewModel));
        }