WorkerStatusInfo.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using Quadarax.Foundation.Core.Business.Enums;
  2. using System;
  3. namespace Quadarax.Foundation.Core.Business
  4. {
  5. public class WorkerStatusInfo
  6. {
  7. public string WorkerName { get; private set; }
  8. public DateTime LastStart { get;private set;}
  9. public DateTime FirstStart { get;private set;}
  10. public DateTime? LastStop { get; private set;}
  11. public WorkerStateEnum WorkerState { get; private set;}
  12. public int ThreadId { get; private set;}
  13. public int StartCount { get; private set;}
  14. public int StopCount { get; private set;}
  15. public long IterationCount { get; private set;}
  16. public WorkerStatusInfo(string workerName)
  17. {
  18. WorkerName = workerName;
  19. WorkerState = WorkerStateEnum.Starting;
  20. FirstStart = DateTime.Now;
  21. LastStart = DateTime.Now;
  22. StartCount = 0;
  23. ThreadId = 0;
  24. StopCount = 0;
  25. IterationCount = 0;
  26. }
  27. public void SetStop()
  28. {
  29. StopCount++;
  30. LastStop = DateTime.Now;
  31. WorkerState = WorkerStateEnum.Stopped;
  32. }
  33. public void SetStart()
  34. {
  35. StartCount++;
  36. LastStart = DateTime.Now;
  37. WorkerState = WorkerStateEnum.Started;
  38. }
  39. public void SetIterations(int threadId, long iterationCount)
  40. {
  41. ThreadId = threadId;
  42. IterationCount = iterationCount;
  43. }
  44. }
  45. }