protected void BindQuestionList(int pageNo) { Keyword = WebUtil.GetRequestParamValueInString(AppConstants.QueryString.QUESTION_KEYWORD); Category = WebUtil.GetRequestParamValueInString(AppConstants.QueryString.QUESTION_CATEGORY); if (Category == "None") { Category = null; } SessionCache.CurrentQuestionSearchCriteriaForKeyword = null; SessionCache.CurrentQuestionSearchCriteriaForCategory = null; if (!string.IsNullOrEmpty(Keyword)) { SessionCache.CurrentQuestionSearchCriteriaForKeyword = Keyword; } else { SessionCache.CurrentQuestionSearchCriteriaForCategory = Category; } int pageSize = ConfigReader.AdminQuestionListSize; App.Domain.Questions.QuestionsManager manager = new App.Domain.Questions.QuestionsManager(); List<Questions> questions = null; int totalRecord = 0; if (ShowQuestionsForAnswerMode) { bool filter = false; if (SessionCache.CurrentUser != null) { if (SessionCache.CurrentUser.Mode == "Filtered") { filter = true; } } questions = manager.GetPagedListByKeywordOrCategory(pageNo, pageSize, Keyword, Category,SessionCache.CurrentUser.Author_ID,filter).ToList(); totalRecord = manager.GetQuestionCountByKeywordOrCategory(Keyword, Category, SessionCache.CurrentUser.Author_ID, filter); } else { questions = manager.GetPagedListByKeywordOrCategory(pageNo, pageSize, null, null, SessionCache.CurrentUser.Author_ID, false).ToList(); totalRecord = manager.GetQuestionCountByKeywordOrCategory(string.Empty, string.Empty, SessionCache.CurrentUser.Author_ID, false); } SessionCache.CurrentQuestionPageNo = pageNo; SessionCache.CurrentQuestionList = questions; if (questions == null || questions.Count == 0) { rptQuestionList.Visible = false; ucPager.Visible = false; divNoQuestionFound.Visible = true; } else { divNoQuestionFound.Visible = false; rptQuestionList.DataSource = questions; rptQuestionList.DataBind(); BindPagerControl(pageNo, totalRecord, pageSize); } }
public static Questions GetNextQuestion(int currentQuestionID) { IList<Questions> questions = CurrentQuestionList; string Keyword = CurrentQuestionSearchCriteriaForKeyword; string Category = CurrentQuestionSearchCriteriaForCategory; Questions nextQuestion = null; if (questions != null) { for (int i = 0; i < questions.Count; i++) { if (questions[i].QuestionID == currentQuestionID && i + 1 < questions.Count) { nextQuestion = questions[i + 1]; } } } if (nextQuestion == null) { //Reload the questions based upon the current criteria int pageSize = ConfigReader.AdminQuestionListSize; App.Domain.Questions.QuestionsManager manager = new App.Domain.Questions.QuestionsManager(); int pageNo = CurrentQuestionPageNo + 1; CurrentQuestionPageNo = pageNo; if (string.IsNullOrEmpty(Keyword) && string.IsNullOrEmpty(Category)) { questions = manager.GetPagedList(pageNo, 1000000).ToList(); } else { bool filter = false; if (SessionCache.CurrentUser != null) { if (SessionCache.CurrentUser.Mode == "Filtered") { filter = true; } } questions = manager.GetPagedListByKeywordOrCategory(pageNo, 10000000, Keyword, Category, SessionCache.CurrentUser.Author_ID, filter).ToList(); } CurrentQuestionList = questions; if (questions != null) { for (int i = 0; i < questions.Count; i++) { if (questions[i].QuestionID == currentQuestionID && i + 1 < questions.Count) { nextQuestion = questions[i + 1]; } } } } return nextQuestion; }