private TimeSpan?ParseHumanDuration(string text) { if (string.IsNullOrWhiteSpace(text)) { return(null); } var match = HumanDurationRegex.Match(text); if (!match.Success) { return(null); } var value = match.Groups["value"].Value; var unit = match.Groups["unit"].Value.TrimEnd('s', 'S'); if (!double.TryParse(value, out var quantity) || quantity < 0) { return(null); } if (!DurationFactory.TryGetValue(unit, out var factory)) { return(null); } return(factory(quantity)); }
private void AnimateProgressBar(CmdExecutorProgress o) { var duration = DurationFactory.FromMilliseconds(250); DoubleAnimation doubleAnimation = new DoubleAnimation(o.Percentage, duration); ConsoleProgressBar.BeginAnimation(RangeBase.ValueProperty, doubleAnimation); ConsoleProgressBar.Value = o.Percentage; }
public IDurationFactory CreateDurationFactory() { IDurationFactory factory = null; try { factory = new DurationFactory(); } finally { } return(factory); }