protected string GetEventSummaryForSMS(General.ErrorLogging.Model.ErrorOtherLogTrigger Data) { //Max length is 160 chars, about 60 will be used up by the Prefix and EventViewLink string strMessage = Settings.EventNotificationSubjectPrefix; if (!String.IsNullOrWhiteSpace(strMessage)) { strMessage += ": "; } if (Data.Event.EventType != Model.ErrorOtherTypes.Unknown) { strMessage += LimitStr(Data.Event.EventType.ToString(), 10) + "\n"; } if (!String.IsNullOrWhiteSpace(Data.Event.EventName)) { strMessage += LimitStr(Data.Event.EventName, 45) + "\n"; } if (!String.IsNullOrWhiteSpace(Data.Event.AppName)) { strMessage += LimitStr(Data.Event.AppName, 25) + "\n"; } strMessage += "\n" + GetEventViewLink(Data.Event.IncidentCode); if (!String.IsNullOrWhiteSpace(Data.Filter.Name)) { strMessage += "\n(" + LimitStr(Data.Filter.Name.Replace("filter", "fltr").Replace("Filter", "Fltr"), 20) + ")"; } return(strMessage); }
protected string GetEventSubjectForEmail(General.ErrorLogging.Model.ErrorOtherLogTrigger Data) { try { string strSubject = Settings.EventNotificationSubjectPrefix; if (!String.IsNullOrWhiteSpace(strSubject)) { if (strSubject.Contains("]")) { strSubject += " "; } else { strSubject += ": "; } } if (Data.Event.EventType != Model.ErrorOtherTypes.Unknown) { strSubject += General.Reflection.EnumSerializer.GetDisplayName <General.ErrorLogging.Model.ErrorOtherTypes>(Data.Event.EventType); } if (!String.IsNullOrWhiteSpace(Data.Event.AppName)) { strSubject += " " + Data.Event.AppName; } return(strSubject); } catch { return("Application Event Matched Your Filters"); } }
protected string GetEventSummaryForEmail(General.ErrorLogging.Model.ErrorOtherLogTrigger Data) { string s = ""; s += "App: " + Data.Event.AppName + "<br/>"; try { string strEventName = General.Debugging.ErrorReporter.SanitizeString(Data.Event.EventName); if (!String.IsNullOrWhiteSpace(strEventName)) { s += "Msg: " + LimitStr(strEventName, 150) + "<br/>"; } } catch { } if (!String.IsNullOrWhiteSpace(Data.Event.ClientID)) { s += "ClientID: " + Data.Event.ClientID + "<br/>"; } if (!String.IsNullOrWhiteSpace(Data.Event.UserType)) { s += "UserType: " + Data.Event.UserType + "<br/>"; } else if (!String.IsNullOrWhiteSpace(Data.Event.UserID)) { s += "UserID: " + Data.Event.UserID + "<br/>"; } s += "Environment: " + Data.Event.Environment.ToString() + "<br/>"; if (String.IsNullOrWhiteSpace(Data.Filter.Name)) { s += "Filter: " + Data.Filter.ID.ToString() + "<br/>"; } else { s += "Filter: " + Data.Filter.Name + "<br/>"; } s += "Detail: " + GetEventViewLink(Data.Event.IncidentCode) + "<br/>"; return(s); }
protected NotificationResult NotifyByTrigger(General.ErrorLogging.Model.ErrorOtherLogTrigger Data) { NotificationResult result = new NotificationResult(); result.Success = true; //Send email? try { if (Data.Filter != null && Data.Filter.PageEmail != null && Data.Filter.PageEmail.Valid) { var oneResult = SendEmail(General.Debugging.Report.ErrorEmailFrom, Data.Filter.PageEmail, GetEventSubjectForEmail(Data), GetEventSummaryForEmail(Data), true); if (oneResult.Success) { result.EmailSent = true; result.MessageCount += oneResult.MessageCount; } else { result.Success = false; } if (!String.IsNullOrWhiteSpace(oneResult.Detail)) { result.Detail += oneResult.Detail + "\r\n"; } } } catch (Exception ex) { result.Success = false; result.Detail = General.Debugging.ErrorReporter.GetErrorReport(ex, "\r\n").ToString(); if (Data.Event.AppID > 0) //Don't report errors on yourself, it could create a loop of errors. { ErrorReporter.ReportError(ex); } } try { //Send SMS message? if (Data.Filter != null && Data.Filter.PageSMS != null && Data.Filter.PageSMS.Valid) { var oneResult = SendSMS(Data.Filter.PageSMS, GetEventSummaryForSMS(Data)); if (oneResult.Success) { result.SMSSent = true; result.MessageCount += oneResult.MessageCount; } else { result.Success = false; } if (!String.IsNullOrWhiteSpace(oneResult.Detail)) { result.Detail += oneResult.Detail + "\r\n"; } } } catch (Exception ex) { result.Success = false; result.Detail = General.Debugging.ErrorReporter.GetErrorReport(ex, "\r\n").ToString(); if (Data.Event.AppID > 0) //Don't report errors on yourself, it could create a loop of errors. { ErrorReporter.ReportError(ex); } } return(result); }