private void ParseTextQuery() { ParametersName.Clear(); Regex regex = new Regex(@"""+[^""]+"""); // "+[^"]+" if (QueryText.StartsWith("Выбрать", true, null)) { QueryText = $"\"{QueryText}\""; } if (regex.IsMatch(QueryText)) { string textQuery = string.Empty; foreach (Match match in regex.Matches(QueryText)) { textQuery += match.Value; } regex = new Regex("&+[A-zА-я0-9]*"); if (regex.IsMatch(textQuery)) { foreach (Match item in regex.Matches(textQuery)) { string nameParameter = item.Value.Substring(1); if (!ParametersName.Contains(nameParameter)) { ParametersName.Add(nameParameter); } } } } }
/// <summary> /// Методя для отображаения /// интервала значений /// параметра /// </summary> /// <param name="name">Имя параметра</param> /// <param name="label">Label соответствующий параметру</param> private void DisplayInterval(ParametersName name, Label label) { //Получаем параметер по имени var parameter = _modelParameters.Parameter(name); //Отображаем его интервал label.Text = "Интервал ( от " + parameter.MinValue + " до " + parameter.MaxValue + " )"; }
/// <summary> /// Метод возвращает параметер /// соответствующий поданому имени /// </summary> /// <param name="name">Имя запрашиваемого параметра</param> /// <returns></returns> public Parameter Parameter(ParametersName name) { return(_parameters[name]); }