Пример #1
0
        ///возвращаем енумератор, тк есть случай выборки саджестов
        public async Task <IEnumerable <Question> > GetQuestion(string user_question)
        {
            //  реализовать алгоритм анализа сообщений
            var question = await _context.Questions.FirstOrDefaultAsync(u => u.Quest == user_question);

            // реализация отметки популярности
            if (question != null)
            {
                question.IndexOfPop++;
                await SaveAll();
            }
            else
            {
                //генерим саджесты и возвращаем
                var sugests = (await _context.Questions.ToArrayAsync())
                              .OrderByDescending(q => LevenshteinDistance.LevenshteinDistanceCompute(q.Quest, user_question));
                return(sugests.Take(AmountOfSugestions));
            }
            return(new List <Question>()
            {
                question
            });
        }