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)); }
public override string CreateResponse(params object[] args) { var name = args[0] as string; var task = db.GetTask(name); return(taskWrapper.GetWrapped(task)); }