public override void Read(ConsoleReadContext context, SelectFromCollectionTaskParameter param) { string value; if (param.AllowManualEntry) { value = _collectionProvider.SelectFromCollectionOrManual(param.Collection, param.Label, param.DefaultValue); if (string.IsNullOrEmpty(value)) { context.IsCanceled = true; return; } } else { var configValue = _collectionProvider.SelectFromCollection(param.Collection, param.Label, param.DefaultValue, param.ExitValue); if (configValue == null) { context.IsCanceled = true; return; } value = param.UseKeyAsValue ? configValue.Name : configValue.Value; } context[param.Name] = value; }
public override void Read(ConsoleReadContext context, CustomConsoleTaskParameter param) { var isCanceled = param.CustomReadFunction(context); if (isCanceled) { context.IsCanceled = true; return; } }
private static bool CheckEvaluable(TaskParameter p, ConsoleReadContext context) { foreach (var condition in p.Conditions) { if (!condition.Evaluate(context)) { return(false); } } return(true); }
public override void Read(ConsoleReadContext context, IntegerTaskParameter param) { var value = UtilConsole.ReadInteger(param.Label, param.MinValue, param.MaxValue, param.DefaultValue); if (value == null) { context.IsCanceled = true; return; } context[param.Name] = value.Value; }
public override void Read(ConsoleReadContext context, SelectEnumTaskParameter param) { var value = UtilConsole.SelectFromEnum(param.Label, param.EnumType, param.DefaultValue); if (param.DefaultValue.Equals(value) && param.CancelIfDefault) { context.IsCanceled = true; return; } context[param.Name] = value; }
public override void Read(ConsoleReadContext context, FolderTaskParameter param) { var value = UtilConsole.ReadFolder(param.Label, param.ShouldExist); if (string.IsNullOrEmpty(value)) { context.IsCanceled = true; return; } context[param.Name] = value; }
public override void Read(ConsoleReadContext context, SelectStringTaskParameter param) { var value = UtilConsole.SelectFromList(param.List, param.Label, param.ExitValue, param.DefaultValue); if (string.IsNullOrEmpty(value) && !param.AllowEmpty) { context.IsCanceled = true; return; } context[param.Name] = value; }
public override void Read(ConsoleReadContext context, StringTaskParameter param) { var value = UtilConsole.ReadString(param.Label, param.DefaultValue, param.CancelString, param.RegularExpression, param.MinLength, param.MaxLength); if (string.IsNullOrEmpty(value) && !param.AllowEmpty) { context.IsCanceled = true; return; } context[param.Name] = value; }
public override void Read(ConsoleReadContext context, GroupTaskParameter param) { foreach (var p in param.Parameters) { var reader = _taskParameterConsoleReaderFactory.GetInstance(p.Type); var isEvaluable = CheckEvaluable(p, context); if (isEvaluable) { reader.Read(context, p); } if (context.IsCanceled) { return; } } }
public abstract void Read(ConsoleReadContext context, TaskParameter param);
internal override bool Evaluate(ConsoleReadContext context) { return(Exists == context.Values.ContainsKey(Parameter)); }
abstract internal bool Evaluate(ConsoleReadContext context);
internal override bool Evaluate(ConsoleReadContext context) { return(context.Values.ContainsKey(Parameter) && Value.Equals(context.Values[Parameter])); }