Пример #1
0
        public async Task <IEnumerable <QuestionBanks> > SearchQuestionAsync(QuestionSearch model)
        {
            try
            {
                var dbfactory = DbFactoryProvider.GetFactory();
                using (var db = (SqlConnection)dbfactory.GetConnection())
                {
                    await db.OpenAsync();

                    string questionQuery = "SELECT * FROM dbo.QuestionBankView WHERE " +
                                           "(@QuestionTypeId IS NULL OR QuestionTypeId = @QuestionTypeId) " +
                                           "AND (@QuestionCategoryId IS NULL OR QuestionCategoryId = @QuestionCategoryId) " +
                                           "AND (@QuestionComplexityId IS NULL OR QuestionComplexityId = @QuestionComplexityId) " +
                                           "AND (Question LIKE @Question)";
                    var result = await db.QueryAsync <QuestionBanks>(questionQuery,
                                                                     new
                    {
                        QuestionTypeId       = model.QuestionTypeId == 0 ? (int?)null : (int?)model.QuestionTypeId,
                        QuestionCategoryId   = model.QuestionCategoryId == 0 ? (int?)null : (int?)model.QuestionCategoryId,
                        QuestionComplexityId = model.QuestionComplexityId == 0 ? (int?)null : (int?)model.QuestionComplexityId,
                        Question             = "%" + model.Question + "%"
                    });

                    Console.WriteLine(questionQuery);

                    return(result);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #2
0
        public PagedResponse <QuestionDto> Execute(QuestionSearch search)
        {
            var query = _context.Questions.AsQueryable();

            if (!string.IsNullOrEmpty(search.Title) || !string.IsNullOrWhiteSpace(search.Title))
            {
                query = query.Where(question => question.Title.ToLower().Contains(search.Title.ToLower()));
            }

            return(query.Paged <QuestionDto, Question>(search, _mapper));
        }
Пример #3
0
        public async Task <ApiResponse> SearchQuestionBankAsync(QuestionSearch model)
        {
            try
            {
                var result = await _questionService.SearchQuestionAsync(model);

                return(HttpResponse(200, "", result));
            }
            catch (Exception e)
            {
                _logger.Log(LogType.Error, () => e.Message, e);
                return(HttpResponse(500, e.Message));
            }
        }
 public IActionResult Get([FromQuery] QuestionSearch search, [FromServices] IGetQuestionsQuery query)
 {
     return(Ok(_executor.ExecuteQuery(query, search)));
 }
Пример #5
0
        public List <QuestionDetail> SearchQuestions([FromBody] QuestionSearch searchParms)
        {
            ModuleBuilderManager m = new ModuleBuilderManager();

            return(m.SearchQuestions(searchParms));
        }
Пример #6
0
        /// <summary>
        /// 搜索题目信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public PagerModel <Questions> Search(QuestionSearchRequest request)
        {
            QuestionSearch search = new QuestionSearch(request);

            return(search.Search());
        }