using Quadarax.Foundation.Core.QConsole; using Quadarax.Foundation.Core.QConsole.Argument; using Quadarax.Foundation.Core.QConsole.Attributes; using Quadarax.Foundation.Core.QConsole.Command.Base; using Quadarax.Foundation.Core.Value; namespace qdr.fnd.core.qconsole.test.Commands { [CommandDefinition] internal class DummyCmd : AbstractCommand { public const string CommandName = "dummy"; public const string ArgResultName = "result"; protected bool ResultSuccess {get;set;} public DummyCmd(Engine engine) : base(engine) { } public override string Name => CommandName; public override string Description => CommandName; protected override Result OnExecute() { if(!ResultSuccess) { Console.WriteLine("Dummy command execution failed."); return new Result(new Exception("Dummy command execution failed by user request.")); } Console.WriteLine("Dummy command executed successfully."); return new Result(); } protected override void OnValidateArguments() { ResultSuccess = GetArgumentValueOrDefault(ArgResultName); } protected override IEnumerable OnSetupArguments() { var args = base.OnSetupArguments().ToList(); args.Add(new NamedArgument(ArgResultName,ArgResultName,ArgResultName, Quadarax.Foundation.Core.QConsole.Value.TypeValuesEnum.Bool, "True", false)); return args; } } }