public IEnumerable <HistoryEvent> TimerFiredGraph(Identity timerId, TimeSpan startToFireTimeout, bool isARescheduleTimer = false) { var historyEvents = new List <HistoryEvent>(); var eventIds = EventIds.TimerFiredIds(ref _currentEventId); historyEvents.Add(new HistoryEvent() { EventType = EventType.TimerFired, EventId = eventIds.EventId(EventIds.TimerFired), TimerFiredEventAttributes = new TimerFiredEventAttributes() { StartedEventId = eventIds.EventId(EventIds.Started), TimerId = timerId.Id }, }); historyEvents.Add(new HistoryEvent() { EventType = EventType.TimerStarted, EventId = eventIds.EventId(EventIds.Started), TimerStartedEventAttributes = new TimerStartedEventAttributes() { TimerId = timerId.Id, StartToFireTimeout = ((long)startToFireTimeout.TotalSeconds).ToString(), Control = (new TimerScheduleData() { TimerName = timerId.Name, IsARescheduleTimer = isARescheduleTimer }).ToJson() } }); return(historyEvents); }