Ejemplo n.º 1
0
        public override string CreateResponse(params object[] args)
        {
            var query = args[0] as string;

            var toSearch = db;

            var matches  = System.Text.RegularExpressions.Regex.Matches(query, Regex, RegexOptions.IgnoreCase);
            var question = matches[0].Groups["Scope"].Value;
            var category = matches[0].Groups["Category"].Value;

            var spacePos  = question.IndexOf(" ", StringComparison.OrdinalIgnoreCase);
            var isMin     = question.Substring(0, spacePos).StartsWith("мин");
            var scope     = question.Substring(spacePos + 1).Trim();
            var scopeFunc = GetScope(scope);

            if (query?.Contains("в категории") ?? false)
            {
                if (db.IsCategory(category))
                {
                    toSearch = db.GetTaskInCategory(category);
                }
                else
                {
                    return("Ошибка в имени категории");
                }
            }

            var task = isMin ? toSearch.GetTaskWithMin(scopeFunc) : toSearch.GetTaskWithMax(scopeFunc);

            return(taskWrapper.GetWrapped(task));
        }
Ejemplo n.º 2
0
        public override string CreateResponse(params object[] args)
        {
            var name = args[0] as string;

            var task = db.GetTask(name);

            return(taskWrapper.GetWrapped(task));
        }