/// <summary> /// /// </summary> /// <param name="eventPosition"></param> /// <returns></returns> protected long CalculateStartSeq(EventPosition eventPosition) { long startSeq = 0L; if (eventPosition.SequenceNumber.HasValue) { startSeq = eventPosition.SequenceNumber.Value; } else { PropertyInfo propertyInfo = eventPosition.GetType().GetProperty("Offset", BindingFlags.NonPublic | BindingFlags.Instance); string offset = (string)propertyInfo.GetValue(eventPosition); if (!string.IsNullOrEmpty(offset)) { startSeq = (long.Parse(offset) / 100L); } } return(startSeq); }