CLI tool for running Playbooks
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.2 KiB

1 year ago
  1. using System;
  2. using System.Threading.Tasks;
  3. using TrustedUninstaller.Shared.Tasks;
  4. using YamlDotNet.Serialization;
  5. namespace TrustedUninstaller.Shared.Actions
  6. {
  7. public class WriteStatusAction : ITaskAction
  8. {
  9. [YamlMember(typeof(string), Alias = "status")]
  10. public string Status { get; set; }
  11. private bool InProgress { get; set; }
  12. public void ResetProgress() => InProgress = false;
  13. public string ErrorString() => "";
  14. public int GetProgressWeight() => 0;
  15. public UninstallTaskStatus GetStatus()
  16. {
  17. if (InProgress)
  18. {
  19. return UninstallTaskStatus.InProgress;
  20. }
  21. return hasCompleted ? UninstallTaskStatus.Completed : UninstallTaskStatus.ToDo;
  22. }
  23. private bool hasCompleted;
  24. public async Task<bool> RunTask()
  25. {
  26. if (String.IsNullOrEmpty(Status))
  27. {
  28. Console.WriteLine(":AME-STATUS: " + "Running actions");
  29. }
  30. else
  31. {
  32. Console.WriteLine(":AME-STATUS: " + Status);
  33. }
  34. hasCompleted = true;
  35. return true;
  36. }
  37. }
  38. }