public ActionResult Index(int quizID, string search, int?page, int?items)
        {
            QuestionListViewModel model = new QuestionListViewModel();

            model.PageInfo = new PageInfo()
            {
                PageTitle       = "Questions",
                PageDescription = "List of Questions for Selected Quiz."
            };

            model.searchTerm = search;
            model.pageNo     = page ?? 1;
            model.pageSize   = items ?? 10;

            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
            var quiz   = UserHasRights() ? QuizzesService.Instance.GetQuizForAdmin(quizID) : QuizzesService.Instance.GetUserQuiz(userId, quizID);

            if (quiz != null)
            {
                model.QuizID = quizID;

                var result = QuestionsService.Instance.GetQuizQuestions(quiz.ID, model.searchTerm, model.pageNo, model.pageSize);

                model.Questions  = result.Questions;
                model.TotalCount = result.TotalCount;

                model.Pager = new Pager(model.TotalCount, model.pageNo, model.pageSize);

                return(View(model));
            }
            else
            {
                return(NotFound());
            }
        }
        public async Task <IActionResult> QuestionList(int surveyId)
        {
            var model = new QuestionListViewModel();

            model.Questions = await service.GetQuestionsBy(surveyId);

            return(View(model));
        }
Exemple #3
0
        public QuestionListPage()
        {
            InitializeComponent();
            _viewModel     = new QuestionListViewModel(Navigation);
            BindingContext = _viewModel;


            Appearing += OnPageAppearing;
        }
Exemple #4
0
        // GET: Question
        public ActionResult Index()
        {
            QuestionListViewModel questionListViewModel = new QuestionListViewModel
            {
                Questions     = QBL.GetAllQuestions(),
                Tags          = QBL.GetAllTags(),
                CurrentUserId = User.Identity.GetUserId(),
            };

            return(View(questionListViewModel));
        }
        // GET: Questions
        public virtual ActionResult QuestionList(QuestionFilter questionFilter = null)
        {
            var questionList = new QuestionListViewModel
            {
                TaskId = questionFilter.TaskId.Value,
                TaskName = TaskService.GetById(questionFilter.TaskId.Value).Title
            };

            var questions = QuestionService.GetAll(Query.ForQuestion(questionFilter).Include(x => x.Answers())).Decorate<Question, QuestionViewModel>();
            questionList.AddRange(questions);

            return PartialView(MVC.Questions.Views._QuestionList, questionList);
        }
        public ActionResult Surveys(int page = 1, int surveyId = 0)
        {
            int pageSize                = 10;
            var questions               = _questionService.GetBySurveyId(surveyId);
            var questionOptions         = _questionOptionService.GetAll();
            QuestionListViewModel model = new QuestionListViewModel
            {
                Questions       = questions.Skip((page - 1) * pageSize).Take(pageSize).ToList(),
                QuestionOptions = questionOptions,
                SurveyId        = surveyId
            };

            return(View(model));
        }
Exemple #7
0
        // Display list of questions page.
        public IActionResult Index()
        {
            // Get all questions.
            var questions = _questionHelper.GetAllQuestions(User.Identity.Name);

            // Create page model.
            var homeViewModel = new QuestionListViewModel()
            {
                Title     = "Questions",
                Questions = questions
            };

            return(View(homeViewModel));
        }
Exemple #8
0
        public async Task <ActionResult> Index()
        {
            var questions = (_questionAppService.GetAll(new PagedAndSortedResultRequestDto
            {
                MaxResultCount = int.MaxValue
            })).Items;

            var model = new QuestionListViewModel()
            {
                Questions = questions
            };

            return(View(model));
        }
Exemple #9
0
        public async Task <QuestionListViewModel> GetAllQuestions()
        {
            try
            {
                var model = new QuestionListViewModel()
                {
                    Questions = _mapper.Map <List <QuestionViewModel> >(_context.Question)
                };

                return(model);
            }
            catch (Exception e)
            {
                throw e.InnerException;
            }
        }
Exemple #10
0
        public async Task <QuestionListViewModel> GetAllQuestion(int id)
        {
            try
            {
                var model = new QuestionListViewModel()
                {
                    Questions = _mapper.Map <List <QuestionViewModel> >(_context.Question.Where(e => e.QuizId == id).Include(e => e.Quiz))
                };

                return(model);
            }
            catch (Exception e)
            {
                throw e.InnerException;
            }
        }
        public async Task <IActionResult> Index()
        {
            var topQuestions = await _context
                               .Questions
                               .Where(q => q.Tenant.Id == _currentTenant.Id)
                               .OrderByDescending(q => q.UpdatedAt)
                               .Take(5)
                               .ToArrayAsync();

            var viewModel = new QuestionListViewModel
            {
                Questions = topQuestions
            };

            return(View(viewModel));
        }
        public IActionResult Index(string search = null, int page = 1)
        {
            int pageSize     = 30;
            var questions    = _questionService.GetAll().Data;
            var searchedList = questions.Where(x => search != null && x.QuestionContent.ToLower().Contains(search.ToLower())).ToList();

            QuestionListViewModel model = new QuestionListViewModel
            {
                Questions   = PagingListSelectBySearch.SelectList(questions, searchedList, page, pageSize),
                PageCount   = PagingListSelectBySearch.GetPageCount(questions, searchedList, pageSize),
                PageSize    = pageSize,
                CurrentPage = page
            };

            return(View(model));
        }
Exemple #13
0
        public ActionResult Index(QuestionListViewModel questionListViewModel)
        {
            if (questionListViewModel.TagsId == null)
            {
                return(RedirectToAction("Index"));
            }
            var tagsId    = questionListViewModel.TagsId;
            var questions = QBL.GetQuestionsBySelectedTags(tagsId);
            QuestionListViewModel questionListByTag = new QuestionListViewModel
            {
                Questions     = questions,
                Tags          = QBL.GetAllTags(),
                CurrentUserId = User.Identity.GetUserId(),
            };

            return(View(questionListByTag));
        }
Exemple #14
0
        public ActionResult QuestionByCategory(string Category = null)
        {
            List <Question>         questions;
            List <QuestionCategory> categories = CategoryContext.Collection().ToList();

            if (Category == null)
            {
                questions = context.Collection().ToList();
            }
            else
            {
                questions = context.Collection().Where(p => p.Category == Category).ToList();
            }

            QuestionListViewModel viewModel = new QuestionListViewModel();

            viewModel.Questions          = questions;
            viewModel.QuestionCategories = categories;


            return(View(viewModel));
        }
 public QuestionCRUD()
 {
     InitializeComponent();
     DataContext = new QuestionListViewModel();
 }
        public ActionResult QuestionList(int q, string sort, string search, int?page)
        {
            QuestionAndReportViewModel mainModel = new QuestionAndReportViewModel();
            HtmlToText convert = new HtmlToText();

            ViewBag.NewestSort = sort == "newestsearch" ? "newest_desc" : "newest_search";
            ViewBag.OldestSort = sort == "oldestsearch" ? "oldest_asec" : "oldest_search";

            ViewBag.CurrentSort   = sort;
            ViewBag.CurrentSearch = search;

            var questModel = _applicationDbContext.Questions.Where(catId => catId.DiscussionCategoryId == q).Include(d => d.DiscussionCategory)
                             .OrderByDescending(dt => dt.DateAsked).ToList();

            var questList  = new List <QuestionListViewModel>();
            var reportList = new List <TopTenReport>();
            var topQList   = new List <TopSevenQuestions>();
            var likeList   = new List <MostLikeQuestion>();


            foreach (var quest in questModel)
            {
                if (!String.IsNullOrEmpty(search))
                {
                    if (quest.Title.ToLower().Contains(search) || quest.Title.ToLower().Contains(search) || quest.Tag.ToLower().Contains(search))
                    {
                        QuestionListViewModel model = new QuestionListViewModel();

                        var answers = _applicationDbContext.AnswerToQuestions.Where(id => id.QuestionId == quest.QuestionId).ToList();
                        model.QuestionId         = quest.QuestionId;
                        model.Title              = quest.Title;
                        model.DiscussionCategory = quest.DiscussionCategory.Name;
                        model.DateAsked          = quest.DateAsked.ToString("d,MMMM yy");

                        DateTime commentDate        = DateTime.UtcNow.Date;
                        DateTime answerDate         = DateTime.UtcNow.Date;
                        var      userName           = _applicationDbContext.Users.Find(quest.UserId);
                        var      getQuestionComment = _applicationDbContext.QuestionComments.Where(id => id.QuestionId == quest.QuestionId).OrderByDescending(p => p.QuestionCommentId).FirstOrDefault();
                        var      getAnswerComment   = _applicationDbContext.AnswerToQuestions.Where(id => id.QuestionId == quest.QuestionId).OrderByDescending(p => p.AnswerToQuestionId).FirstOrDefault();
                        model.QuestionOwner = userName.NameExtension;
                        if (answers != null)
                        {
                            model.AnswerCount = answers.Count;
                        }
                        else
                        {
                            model.AnswerCount = 0;
                        }

                        if (getQuestionComment == null)
                        {
                            model.LastParticipantOwner = userName.NameExtension;
                            model.LastParticipantDate  = quest.DateAsked.ToString("d,MMMM yy");
                            commentDate = quest.DateAsked;
                        }
                        else
                        {
                            commentDate = getQuestionComment.DateCommented;
                        }
                        if (getAnswerComment == null)
                        {
                            model.LastParticipantOwner = userName.NameExtension;
                            model.LastParticipantDate  = quest.DateAsked.ToString("d,MMM yy");
                            answerDate = quest.DateAsked;
                        }
                        else
                        {
                            answerDate = getAnswerComment.DateAnswered;
                        }
                        if (getQuestionComment != null)
                        {
                            if (commentDate >= answerDate)
                            {
                                var commentOwner = _applicationDbContext.Users.Find(getQuestionComment.UserId);
                                model.LastParticipantOwner = commentOwner.NameExtension;
                                model.LastParticipantDate  = getQuestionComment.DateCommented.ToString("d,MMMM yy");
                            }
                        }
                        if (getAnswerComment != null)
                        {
                            if (commentDate <= answerDate)
                            {
                                var questionOwner = _applicationDbContext.Users.Find(getAnswerComment.UserId);
                                model.LastParticipantOwner = questionOwner.NameExtension;
                                model.LastParticipantDate  = getAnswerComment.DateAnswered.ToString("d,MMMM yy");
                            }
                        }

                        questList.Add(model);
                        string title     = quest.DiscussionCategory.Description;
                        string PageTitle = Regex.Replace(title, "[^A-Za-z0-9]", "-");
                        ViewBag.PageTitle = PageTitle;
                    }
                    else
                    {
                    }
                }
                else
                {
                    QuestionListViewModel model = new QuestionListViewModel();

                    var answers = _applicationDbContext.AnswerToQuestions.Where(id => id.QuestionId == quest.QuestionId).ToList();
                    model.QuestionId         = quest.QuestionId;
                    model.Title              = quest.Title;
                    model.DiscussionCategory = quest.DiscussionCategory.Name;
                    model.DateAsked          = quest.DateAsked.ToString("d,MMMM yy");

                    DateTime commentDate        = DateTime.UtcNow.Date;
                    DateTime answerDate         = DateTime.UtcNow.Date;
                    var      userName           = _applicationDbContext.Users.Find(quest.UserId);
                    var      getQuestionComment = _applicationDbContext.QuestionComments.Where(id => id.QuestionId == quest.QuestionId).OrderByDescending(p => p.QuestionCommentId).FirstOrDefault();
                    var      getAnswerComment   = _applicationDbContext.AnswerToQuestions.Where(id => id.QuestionId == quest.QuestionId).OrderByDescending(p => p.AnswerToQuestionId).FirstOrDefault();
                    model.QuestionOwner = userName.NameExtension;
                    if (answers != null)
                    {
                        model.AnswerCount = answers.Count;
                    }
                    else
                    {
                        model.AnswerCount = 0;
                    }

                    if (getQuestionComment == null)
                    {
                        model.LastParticipantOwner = userName.NameExtension;
                        model.LastParticipantDate  = quest.DateAsked.ToString("d,MMMM yy");
                        commentDate = quest.DateAsked;
                    }
                    else
                    {
                        commentDate = getQuestionComment.DateCommented;
                    }
                    if (getAnswerComment == null)
                    {
                        model.LastParticipantOwner = userName.NameExtension;
                        model.LastParticipantDate  = quest.DateAsked.ToString("d,MMM yy");
                        answerDate = quest.DateAsked;
                    }
                    else
                    {
                        answerDate = getAnswerComment.DateAnswered;
                    }
                    if (getQuestionComment != null)
                    {
                        if (commentDate >= answerDate)
                        {
                            var commentOwner = _applicationDbContext.Users.Find(getQuestionComment.UserId);
                            model.LastParticipantOwner = commentOwner.NameExtension;
                            model.LastParticipantDate  = getQuestionComment.DateCommented.ToString("d,MMMM yy");
                        }
                    }
                    if (getAnswerComment != null)
                    {
                        if (commentDate <= answerDate)
                        {
                            var questionOwner = _applicationDbContext.Users.Find(getAnswerComment.UserId);
                            model.LastParticipantOwner = questionOwner.NameExtension;
                            model.LastParticipantDate  = getAnswerComment.DateAnswered.ToString("d,MMMM yy");
                        }
                    }

                    questList.Add(model);
                    string title     = quest.DiscussionCategory.Description;
                    string PageTitle = Regex.Replace(title, "[^A-Za-z0-9]", "-");
                    ViewBag.PageTitle = PageTitle;
                }
            }
            if (questList.Count == 0)
            {
                mainModel.QuestionCount = 0;
            }
            if (questList.Count > 0)
            {
                mainModel.QuestionCount = 1;
            }
            var CategoryName = _applicationDbContext.DiscussionCategories.SingleOrDefault(d => d.DiscussionCategoryId == q);


            var topReport = _applicationDbContext.Reports
                            .OrderByDescending(dt => dt.DateCreated)
                            .Take(7);

            foreach (var top in topReport)
            {
                TopTenReport rmodel = new TopTenReport();
                rmodel.ReportText = convert.Convert(top.ReportText);
                rmodel.ReportId   = top.ReportId;
                rmodel.Title      = top.Title;
                rmodel.ReportDate = top.DateCreated;
                reportList.Add(rmodel);
            }

            var mostLikedQuestion = _applicationDbContext.QuestionLikes.ToList();
            var itemsWithTotals   = mostLikedQuestion
                                    .GroupBy(item => item.QuestionId)

                                    .Select(groupByQId => new
            {
                QuestionId = groupByQId.Key,
                Total      = groupByQId.Count()
            })
                                    .OrderByDescending(t => t.Total)
                                    .Take(7);

            foreach (var item in itemsWithTotals)
            {
                var getQuestion         = this._applicationDbContext.Questions.SingleOrDefault(id => id.QuestionId == item.QuestionId);
                MostLikeQuestion mModel = new MostLikeQuestion();
                mModel.QuestionId        = item.QuestionId;
                mModel.QuestionLikeCount = item.Total;
                mModel.QuestionTitle     = getQuestion.Title;
                mModel.QuestionText      = getQuestion.QuestionText;
                mModel.DateAsked         = getQuestion.DateAsked;
                likeList.Add(mModel);
            }

            var topSevenQuestion = _applicationDbContext.Questions
                                   .OrderByDescending(dt => dt.DateAsked)
                                   .Take(7);

            foreach (var qs in topSevenQuestion)
            {
                TopSevenQuestions qmodel = new TopSevenQuestions();
                qmodel.QuestionId    = qs.QuestionId;
                qmodel.QuestionTitle = qs.Title;
                qmodel.QuestionText  = convert.Convert(qs.QuestionText);
                topQList.Add(qmodel);
            }
            int pageSize   = 50;
            int pageNumber = page ?? 1;

            ViewBag.Category = CategoryName.Name;
            ViewBag.q        = q;

            mainModel.TopTenReports          = reportList;
            mainModel.TopSevenQuestions      = topQList;
            mainModel.MostLikeQuestions      = likeList;
            mainModel.QuestionListViewModels = questList.ToPagedList <QuestionListViewModel>(pageNumber, pageSize);
            return(View(mainModel));
        }