Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        public override void Read(ConsoleReadContext context, CustomConsoleTaskParameter param)
        {
            var isCanceled = param.CustomReadFunction(context);

            if (isCanceled)
            {
                context.IsCanceled = true;
                return;
            }
        }
Ejemplo n.º 3
0
        private static bool CheckEvaluable(TaskParameter p, ConsoleReadContext context)
        {
            foreach (var condition in p.Conditions)
            {
                if (!condition.Evaluate(context))
                {
                    return(false);
                }
            }

            return(true);
        }
Ejemplo n.º 4
0
        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;
        }
Ejemplo n.º 5
0
        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;
        }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
0
        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;
        }
Ejemplo n.º 8
0
        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;
        }
Ejemplo n.º 9
0
 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;
         }
     }
 }
Ejemplo n.º 10
0
 public abstract void Read(ConsoleReadContext context, TaskParameter param);
Ejemplo n.º 11
0
 internal override bool Evaluate(ConsoleReadContext context)
 {
     return(Exists == context.Values.ContainsKey(Parameter));
 }
Ejemplo n.º 12
0
 abstract internal bool Evaluate(ConsoleReadContext context);
Ejemplo n.º 13
0
 internal override bool Evaluate(ConsoleReadContext context)
 {
     return(context.Values.ContainsKey(Parameter) && Value.Equals(context.Values[Parameter]));
 }