public override ScheduleElement GetValue(DatePartTemplateElement template, string valueString) { var parts = valueString.Split(Delimiter) .Select(part => ScheduleElement.GetValue(template, part)).ToArray(); return(new IntListScheduleElement(template, parts)); }
public override ScheduleElement GetValue(DatePartTemplateElement template, string valueString) { var matches = Pattern.Matches(valueString); var step = matches[0].Groups["step"].Length > 0 ? int.Parse(matches[0].Groups["step"].Value) : 1; return(new IntRangeScheduleElement(template, template.MinValue, template.MaxValue, step)); }
public IntRangeScheduleElement(DatePartTemplateElement template, int minValue, int maxValue, int step) : base(template) { MinValue = minValue; MaxValue = maxValue; Step = step; }
public static ScheduleElement GetValue(DatePartTemplateElement template, string valueString) { var valueParser = SupportParsers.FirstOrDefault(parser => parser.IsMatch(valueString)); if (valueParser == null) { throw new ArgumentException($"Неверный формат параметра \"{template.Name}\""); } return(valueParser.GetValue(template, valueString)); }
public override ScheduleElement GetValue(DatePartTemplateElement template, string valueString) { var matches = Pattern.Matches(valueString); var minValue = template.GetValue(matches[0].Groups["min"].Value); var maxValue = template.GetValue(matches[0].Groups["max"].Value); if (minValue > maxValue) { var tmp = minValue; minValue = maxValue; maxValue = tmp; } var step = matches[0].Groups["step"].Length > 0 ? int.Parse(matches[0].Groups["step"].Value) : 1; return(new IntRangeScheduleElement(template, minValue, maxValue, step)); }
public override ScheduleElement GetValue(DatePartTemplateElement template, string valueString) => new IntScheduleElement(template, template.GetValue(valueString));
public abstract ScheduleElement GetValue(DatePartTemplateElement template, string valueString);
public IntScheduleElement(DatePartTemplateElement template, int value) : base(template) { Value = value; }
protected ScheduleElement(DatePartTemplateElement template) { ParentTemplate = template; }
public static ScheduleElement GetDefaultValue(DatePartTemplateElement template) => GetValue(template, template.DefaultValue);
public IntListScheduleElement(DatePartTemplateElement template, IEnumerable <ScheduleElement> elements) : base(template) { _intListItems = elements.ToList(); }