public List <Question> GetQuestionsByFilter([FromUri] FilterQuestions filter)
 {
     if (!ModelState.IsValid)
     {
         throw new BadRequestException();
     }
     return(Service.GetQuestionsByFilter(filter));
 }
Esempio n. 2
0
        /// <summary>
        /// Формирование объекта фильтра вопросов
        /// </summary>
        /// <returns>Объект фильтра вопросов</returns>
        private FilterQuestions FormingFilterQuestions()
        {
            FilterQuestions filter = new FilterQuestions();

            if (Form.cbxFilterActing.Checked)
            {
                filter.Acting = Form.cbxActing.Checked;
            }
            if (Form.cbxFilterLevelDifficulty.Checked)
            {
                filter.LevelDifficulty = GetLevelDifficulty();
            }
            if (Form.cbxFilterSubject.Checked)
            {
                filter.Subject = (SubjectEnum)Form.cmbSubject.SelectedIndex;
            }
            return(filter);
        }
Esempio n. 3
0
        /// <summary>
        /// Возвращение списка вопросов по фильтру
        /// </summary>
        /// <param name="filter">Объект фильтра вопросов</param>
        /// <returns>Список вопросов</returns>
        public List <Question> GetQuestionsByFilter(FilterQuestions filter)
        {
            List <Question>       listQuestions = null;
            IQueryable <Question> questions     = Context.Questions;

            if (filter.Acting != null)
            {
                questions = questions.Where(n => n.Acting == filter.Acting);
            }
            if (filter.LevelDifficulty != null)
            {
                questions = questions.Where(n => n.LevelDifficulty == filter.LevelDifficulty);
            }
            if (filter.Subject != null)
            {
                questions = questions.Where(n => n.Subject == filter.Subject);
            }
            listQuestions = questions.ToList();
            return(listQuestions);
        }
Esempio n. 4
0
        /// <summary>
        /// Возвращение вопросов по фильтру
        /// </summary>
        /// <returns>Список вопросов</returns>
        public async Task <List <Question> > GetQuestionsByFilter()
        {
            List <Question> listQuestions = null;
            FilterQuestions filter        = FormingFilterQuestions();

            try
            {
                string uri = $"{ServicePath}/api/Questions/GetQuestionsByFilter?acting={filter.Acting}&" +
                             $"levelDifficulty={filter.LevelDifficulty}&subject={filter.Subject}";
                HttpResponseMessage result = await Client.GetAsync(uri);

                if (CheckResult(result))
                {
                    string listQuestionsJson = await result.Content.ReadAsStringAsync();

                    listQuestions = JsonSerializer.Deserialize <List <Question> >(listQuestionsJson);
                }
            }
            catch
            {
                OutputInfoForm(ServiceError);
            }
            return(listQuestions);
        }