public static QuestionSearchCriteria Map(QuestionSearchViewModel viewModel)
        {
            var model = new QuestionSearchCriteria();

            model.Keyword     = viewModel.Keyword ?? String.Empty;
            model.Disciplines = viewModel.Disciplines != null
                ? viewModel.Disciplines.Select(x => x.Id)
                : null;

            return(model);
        }
Exemple #2
0
 public QuestionFilter(QuestionSearchCriteria criteria)
 {
     if (!String.IsNullOrEmpty(criteria.Keyword))
     {
         AddFilter(x => x.Where(q => q.Title.Contains(criteria.Keyword) ||
                                q.Text.Contains(criteria.Keyword)));
     }
     if (criteria.Disciplines != null)
     {
         AddFilter(x => x.Where(a => a.Disciplines.Any(
                                    d => criteria.Disciplines.Contains(d.Id))));
     }
 }
Exemple #3
0
        //Question Index with search
        public ActionResult QuestionIndex(QuestionSearchCriteria model)
        {
            var questions = _examManager.GetQuestionBySearch(model);

            if (questions == null)
            {
                questions = new List <Question>();
            }
            model.OrganizationListItem = GetOrganizationList();

            model.Questions = questions;

            return(View(model));
        }
        public IEnumerable <Question> FindQuestions(QuestionSearchCriteria criteria)
        {
            var filter = new QuestionFilter(criteria);

            return(filter.Select(Entities.Questions));
            //return criteria.Disciplines != null
            //    ? from question in Entities.Questions
            //      where
            //          question.Title.Contains(criteria.Keyword) &&
            //          question.Disciplines.Any(d => criteria.Disciplines.Contains(d.Id))
            //      orderby question.PostedDate descending
            //      select question
            //    : from question in Entities.Questions
            //      where
            //          question.Title.Contains(criteria.Keyword)
            //      orderby question.PostedDate descending
            //      select question;
        }
Exemple #5
0
        //Question Search
        public List <Question> GetQuestionBySearch(QuestionSearchCriteria criteria)
        {
            IQueryable <Question> questions = db.Questions.AsQueryable();

            if (criteria.OrganizationId > 0)
            {
                questions = questions.Where(c =>
                                            c.OrganizationId.ToString().ToLower().Contains(criteria.OrganizationId.ToString().ToLower()));
            }

            if (criteria.CourseId > 0)
            {
                questions = questions.Where(c =>
                                            c.CourseId.ToString().ToLower().Contains(criteria.CourseId.ToString().ToLower()));
            }

            if (criteria.ExamId > 0)
            {
                questions = questions.Where(c =>
                                            c.ExamId.ToString().ToLower().Contains(criteria.ExamId.ToString().ToLower()));
            }

            return(questions.ToList());
        }
Exemple #6
0
 public SearchResult<Question> FindQuestions(QuestionSearchCriteria criteria)
 {
     return SearchService.FindQuestions(criteria);
 }
Exemple #7
0
 //Search Question
 public List <Question> GetQuestionBySearch(QuestionSearchCriteria criteria)
 {
     return(_examRepository.GetQuestionBySearch(criteria));
 }
Exemple #8
0
        public SearchResult <Question> FindQuestions(QuestionSearchCriteria criteria)
        {
            var questions = context.QuestionStorage.FindQuestions(criteria).ToList();

            return(new SearchResult <Question>(questions));
        }