DummyOrdinalCmd.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using Quadarax.Foundation.Core.QConsole;
  2. using Quadarax.Foundation.Core.QConsole.Argument;
  3. using Quadarax.Foundation.Core.QConsole.Attributes;
  4. using Quadarax.Foundation.Core.QConsole.Command.Base;
  5. using Quadarax.Foundation.Core.Value;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace qdr.fnd.core.qconsole.test.Commands
  12. {
  13. [CommandDefinition]
  14. internal class DummyOrdinalCmd : AbstractCommand
  15. {
  16. public const string CommandName = "dummyord";
  17. public const string ArgOrdName = "ord";
  18. public override string Name => CommandName;
  19. public override string Description => CommandName;
  20. protected string? Argument{get;set; } = string.Empty;
  21. public DummyOrdinalCmd(Engine engine) : base(engine)
  22. {
  23. }
  24. protected override Result OnExecute()
  25. {
  26. WriteInfo($"Argument={Argument}");
  27. return new Result();
  28. }
  29. protected override void OnValidateArguments()
  30. {
  31. Argument = GetArgumentValueOrDefault<string>(ArgOrdName);
  32. }
  33. protected override IEnumerable<AbstractArgument> OnSetupArguments()
  34. {
  35. var args = base.OnSetupArguments().ToList();
  36. args.Add(new OrdinalArgument(0,false, ArgOrdName,ArgOrdName,ArgOrdName, Quadarax.Foundation.Core.QConsole.Value.TypeValuesEnum.String, string.Empty, true));
  37. return args;
  38. }
  39. }
  40. }