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)); }
public QuestionListPage() { InitializeComponent(); _viewModel = new QuestionListViewModel(Navigation); BindingContext = _viewModel; Appearing += OnPageAppearing; }
// 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)); }
// 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)); }
public async Task <ActionResult> Index() { var questions = (_questionAppService.GetAll(new PagedAndSortedResultRequestDto { MaxResultCount = int.MaxValue })).Items; var model = new QuestionListViewModel() { Questions = questions }; return(View(model)); }
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; } }
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)); }
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)); }
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)); }