using Quadarax.Foundation.Core.Business.Enums; using System; namespace Quadarax.Foundation.Core.Business { public class WorkerStatusInfo { public string WorkerName { get; private set; } public DateTime LastStart { get;private set;} public DateTime FirstStart { get;private set;} public DateTime? LastStop { get; private set;} public WorkerStateEnum WorkerState { get; private set;} public int ThreadId { get; private set;} public int StartCount { get; private set;} public int StopCount { get; private set;} public long IterationCount { get; private set;} public WorkerStatusInfo(string workerName) { WorkerName = workerName; WorkerState = WorkerStateEnum.Starting; FirstStart = DateTime.Now; LastStart = DateTime.Now; StartCount = 0; ThreadId = 0; StopCount = 0; IterationCount = 0; } public void SetStop() { StopCount++; LastStop = DateTime.Now; WorkerState = WorkerStateEnum.Stopped; } public void SetStart() { StartCount++; LastStart = DateTime.Now; WorkerState = WorkerStateEnum.Started; } public void SetIterations(int threadId, long iterationCount) { ThreadId = threadId; IterationCount = iterationCount; } } }