public PersistentEvent ToEvent() { var ev = new PersistentEvent { Id = Id, OrganizationId = OrganizationId, ProjectId = ProjectId, StackId = ErrorStackId, Type = Code == "404" ? Event.KnownTypes.NotFound : Event.KnownTypes.Error, Date = OccurrenceDate, IsFixed = IsFixed, IsHidden = IsHidden, Message = Message }; ev.Tags.AddRange(Tags); var error = new Exceptionless.Models.Data.Error { Message = Message, Type = Type, Code = Code }; if (StackTrace != null && StackTrace.Count > 0) error.StackTrace = StackTrace.ToStackTrace(); if (TargetMethod != null) error.TargetMethod = TargetMethod.ToMethod(); if (Modules != null && Modules.Count > 0) error.Modules = Modules.ToModules(); if (Inner != null) error.Inner = Inner.ToInnerError(); object traceLog; if (ExtendedData != null && ExtendedData.TryGetValue("TraceLog", out traceLog)) { ev.Data[Event.KnownDataKeys.TraceLog] = traceLog; ExtendedData.Remove("TraceLog"); } if (ExtendedData != null && ExtendedData.Count > 0) error.Data.AddRange(ExtendedData.ToData()); // TODO: __ExceptionInfo ev.Data[Event.KnownDataKeys.Error] = error; if (!String.IsNullOrEmpty(UserEmail) || !String.IsNullOrEmpty(UserDescription)) ev.SetUserDescription(UserEmail, UserDescription); if (!String.IsNullOrEmpty(UserName)) ev.SetUserIdentity(UserName); if (RequestInfo != null) ev.Data[Event.KnownDataKeys.RequestInfo] = RequestInfo.ToRequestInfo(); if (EnvironmentInfo != null) ev.Data[Event.KnownDataKeys.EnvironmentInfo] = EnvironmentInfo.ToEnvironmentInfo(); return ev; }