PsProcessProviderDummy.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using qdr.fnd.core.pqueue.Exceptions;
  2. using Quadarax.Foundation.Core.Data;
  3. using Quadarax.Foundation.Core.Logging;
  4. namespace qdr.fnd.core.pqueue.Process
  5. {
  6. public class PsProcessProviderDummy : PsProcessProviderBase
  7. {
  8. #region *** Constants ***
  9. /// <summary>
  10. /// (Input) Argument name for the result code. Type is <see cref="string"/>
  11. /// </summary>
  12. public const string CS_ARG_INPUT_TEXT = "input-text";
  13. #endregion
  14. #region *** Constructors ***
  15. public PsProcessProviderDummy(ProcessDoneCallback processDoneCallback, ProcessStdOutputCallback processStdOutputCallback, string itemId, TypedArgument[] arguments, ILogger logger) : base(processDoneCallback, processStdOutputCallback, itemId, arguments, logger)
  16. {
  17. }
  18. #endregion
  19. #region *** Overrides ***
  20. public new static IEnumerable<TypedArgument> CreateArguments()
  21. {
  22. var list = new List<TypedArgument>(PsProcessProviderBase.CreateArguments());
  23. list.Add(new TypedArgument(CS_ARG_INPUT_TEXT, typeof(string), true));
  24. return list;
  25. }
  26. protected override void OnValidate()
  27. {
  28. base.OnValidate();
  29. if (!ContainsArgument(CS_ARG_INPUT_TEXT) || !Arguments[CS_ARG_INPUT_TEXT].IsOutput)
  30. throw new PsProcessProviderException(PsProcessProviderException.ErrorCodes.ProcessProviderNotDefinedArgument, GetType().Name, ItemId, CS_ARG_INPUT_TEXT);
  31. }
  32. protected override Task OnProcess()
  33. {
  34. Arguments[CS_ARG_RESULT_CODE].Value = "0";
  35. Arguments[CS_ARG_RESULT_TEXT].Value = GetArgumentValue<string>(CS_ARG_INPUT_TEXT);
  36. return base.OnProcess();
  37. }
  38. #endregion
  39. }
  40. }