public ProcessTimedOut(
         string tenantId,
         ProcessId processId,
         int totalRetriesPermitted,
         int retryCount)
 {
     this.EventVersion = 1;
     this.OccurredOn = DateTime.Now;
     this.ProcessId = processId;
     this.RetryCount = retryCount;
     this.TenantId = tenantId;
     this.TotalRetriesPermitted = totalRetriesPermitted;
 }
 public TimeConstrainedProcessTracker(
         string tenantId,
         ProcessId processId,
         string description,
         DateTime originalStartTime,
         long allowableDuration,
         int totalRetriesPermitted,
         string processTimedOutEventType)
 {
     this.AllowableDuration = allowableDuration;
     this.Description = description;
     this.ProcessId = processId;
     this.ProcessInformedOfTimeout = false;
     this.ProcessTimedOutEventType = processTimedOutEventType;
     this.TenantId = tenantId;
     this.TimeConstrainedProcessTrackerId = -1L;
     this.TimeoutOccursOn = originalStartTime.Ticks + allowableDuration;
     this.TotalRetriesPermitted = totalRetriesPermitted;
 }
 public ProductDiscussionRequestTimedOut(string tenantId, ProcessId processId, int totalRetriedPermitted, int retryCount)
     : base(tenantId, processId, totalRetriedPermitted, retryCount)
 {
 }