public EventViewModel(IEvent eventObj) { this._storage = ServiceLocator.EventStore; string classNameReversed = eventObj.ToString().Reverse(); AggregateId = ((IEvent<IIdentity>)eventObj).Id.GetId(); EventName = classNameReversed.Substring(0, classNameReversed.IndexOf('.')).Reverse().Wordify(); EventVersion = ((IEvent<IIdentity>)eventObj).Version; EventDate = ((IEvent<IIdentity>)eventObj).Date; string rawAggregateType = _storage.GetAggregateType(AggregateId); if (rawAggregateType != null) { string reversedType = rawAggregateType.Reverse(); AggregateType = reversedType.Substring(0, reversedType.IndexOf('.')).Reverse().Wordify(); } JsConfig.DateHandler = JsonDateHandler.ISO8601; JsConfig.ExcludeTypeInfo = true; EventDetails = JsvFormatter.Format(JsonSerializer.SerializeToString((IEvent<IIdentity>)eventObj)); }