public IQueryable <Question> FilterQuestions(QuestionFilterModel searchModel) { var result = this.DbContext.Questions.AsQueryable(); try { if (searchModel != null) { if (searchModel.QuestionID.HasValue) { result = result.Where(x => x.QuestionID == searchModel.QuestionID); } if (!string.IsNullOrEmpty(searchModel.Content)) { result = result.Where(x => x.Content.Contains(searchModel.Content)); } if (searchModel.Level.HasValue) { result = result.Where(x => x.Level == searchModel.Level); } if (searchModel.CategoryID.HasValue) { result = result.Where(x => x.CategoryID == searchModel.CategoryID); } if (!string.IsNullOrEmpty(searchModel.CreatedBy)) { var user = DbContext.Users.SingleOrDefault(x => x.Name == searchModel.CreatedBy); if (user != null) { result = result.Where(x => x.CreatedBy == user.UserId); } else { result = null; } } if (searchModel.FromDate.HasValue) { result = result.Where(x => x.CreatedDate > searchModel.FromDate && x.CreatedDate < searchModel.ToDate); } } return(result); } catch (Exception e) { log.Debug(e.Message); return(result); } }
public ServiceResponse <List <Question> > GetQuestions(QuestionFilterModel filter) { var response = new ServiceResponse <List <Question> >(); response.IsSucceeded = true; response.RecordsTotal = questionRepository.ListQueryable.Count(); response.RecordsFiltered = questionRepository.ListQueryable.AddSearchFilters(filter).Count(); response.Result = questionRepository.ListQueryable.AddSearchFilters(filter).AddOrderAndPageFilters(filter).ToList(); return(response); }
public ActionResult Search(string keySearch, QuestionFilterModel searchModel) { var listCategory = questionCategorySevice.GetAllQuestionCategoriesActive(); var listLevels = questionService.GetAlLevels(); ViewData["Category"] = listCategory; ViewData["Level"] = listLevels; var listQuestionDtos = questionService.SearchByContent(keySearch, searchModel); return(View(listQuestionDtos)); }
public ActionResult Index(QuestionFilterModel searchModel) { var listCategory = questionCategorySevice.GetAllQuestionCategoriesActive(); var listLevels = questionService.GetAlLevels(); ViewData["Category"] = listCategory; ViewData["Level"] = listLevels; var listQuestionDtos = questionService.GetAllQuestionDtos(searchModel); ViewBag.listQuestionDtos = listQuestionDtos; return(View()); }
public IEnumerable <QuestionDto> SearchByContent(string input, QuestionFilterModel searchModel) { try { var search = GetAllQuestionDtos(searchModel).Where(x => x.Content.Contains(input)).ToList(); return(search.AsEnumerable()); } catch (Exception e) { log.Debug(e.Message); throw; } }
public IActionResult GetQuestionss(QuestionFilterModel model) { try { var result = _QuestionsService.GetQuestions(model); if (result.IsSucceeded) { return(Ok(result.Result)); } return(BadRequest(result.ErrorMessage)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IQueryable <QuestionDto> GetAllQuestionDtos(QuestionFilterModel searchModel) { var listQuestionDtos = new List <QuestionDto>(); try { if (FilterQuestions(searchModel) != null) { foreach (var item in FilterQuestions(searchModel)) { listQuestionDtos.Add(new QuestionDto { QuestionID = item.QuestionID, IsActive = item.IsActive, Content = item.Content, Image = item.Image, CreatedBy = item.CreatedBy, CreatedName = userRepository.GetUserById(item.CreatedBy).Name, CreatedDate = item.CreatedDate, ModifiedBy = item.ModifiedBy, ModifiedName = userRepository.GetUserById(item.ModifiedBy.GetValueOrDefault()).Name, ModifiedDate = item.ModifiedDate, CategoryID = item.CategoryID, CategoryName = questionCategory.FindCategoryByID(item.CategoryID).Name, Level = item.Level, LevelName = GetNameLevelByQuestionID(item.QuestionID) }); } } else { //listQuestionDtos = null; } var listQuestion = listQuestionDtos.AsQueryable(); return(listQuestion.OrderByDescending(x => x.CreatedDate)); } catch (Exception e) { log.Debug(e.Message); return(listQuestionDtos.AsQueryable()); } }
public ActionResult Detail(int?id, QuestionFilterModel searchModel) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } else { ViewBag.listAnswerByQuestion = answerService.GetAnswersByQuestionID(id); var question = questionService.GetQuestionInQuestionDTO(id, searchModel); if (question == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } { return(View(question)); } } }
public IEnumerable <QuestionDto> SearchByContent(string input, QuestionFilterModel searchModel) { return(questionRepository.SearchByContent(input, searchModel)); }
public IQueryable <Question> FilterQuestions(QuestionFilterModel searchModel) { return(questionRepository.FilterQuestions(searchModel)); }
public IQueryable <QuestionDto> GetAllQuestionDtos(QuestionFilterModel searchModel) { return(questionRepository.GetAllQuestionDtos(searchModel)); }
public QuestionDto GetQuestionInQuestionDTO(int?id, QuestionFilterModel searchModel) { return(questionRepository.GetQuestionInQuestionDto(id, searchModel)); }
public QuestionDto GetQuestionInQuestionDto(int?id, QuestionFilterModel searchModel) { var question = GetAllQuestionDtos(searchModel).SingleOrDefault(x => x.QuestionID == id); return(question); }
public static IQueryable <Question> AddSearchFilters(this IQueryable <Question> input, QuestionFilterModel filter) { if (filter != null) { if (filter.Term?.Length > 0) { input = input.Where(x => x.Content.ToString().Contains(filter.Term)); } } return(input); }