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; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace qdr.fnd.core.qconsole.test.Commands { [CommandDefinition] internal class DummyOrdinalCmd : AbstractCommand { public const string CommandName = "dummyord"; public const string ArgOrdName = "ord"; public override string Name => CommandName; public override string Description => CommandName; protected string? Argument{get;set; } = string.Empty; public DummyOrdinalCmd(Engine engine) : base(engine) { } protected override Result OnExecute() { WriteInfo($"Argument={Argument}"); return new Result(); } protected override void OnValidateArguments() { Argument = GetArgumentValueOrDefault(ArgOrdName); } protected override IEnumerable OnSetupArguments() { var args = base.OnSetupArguments().ToList(); args.Add(new OrdinalArgument(0,false, ArgOrdName,ArgOrdName,ArgOrdName, Quadarax.Foundation.Core.QConsole.Value.TypeValuesEnum.String, string.Empty, true)); return args; } } }