/// <summary> /// See interface docs /// </summary> /// <param name="activity"></param> /// <returns></returns> public string FormatDetailText(ConnectorActivityEvent activity) { var result = new StringBuilder(); if (!String.IsNullOrEmpty(activity.Message)) { result.Append(activity.Message); } if (activity.Exception != null && activity.Exception.Exception != null) { if (result.Length > 0) { result.Append("\r\n"); } result.Append(Describe.ExceptionMultiLine(activity.Exception.Exception, "\r\n")); } return(result.ToString()); }
/// <summary> /// Records an activity in <see cref="_Activities"/>. /// </summary> /// <param name="activity"></param> protected void RecordActivity(ConnectorActivityEvent activity) { if (activity != null && (activity.Exception == null || !(activity.Exception.Exception is ThreadAbortException))) { lock (_SyncLock) { while (_Activities.Count >= MaxActivities) { _Activities.RemoveFirst(); } var last = _Activities.Last; if (last != null && last.Value.Time == activity.Time) { activity.ShiftTimeForwardOneMillisecond(); } _Activities.AddLast(activity); } OnActivityRecorded(new EventArgs <ConnectorActivityEvent>(activity)); } }
/// <summary> /// See interface docs. /// </summary> /// <param name="activity"></param> /// <returns></returns> public string FormatDetailTitle(ConnectorActivityEvent activity) { return(String.Format("{0} {1:G}", Describe.ConnectorActivityType(activity.Type), activity.Time)); }
#pragma warning restore 0067 public ConnectorActivityLogView() { SelectedConnectorActivityEvents = new ConnectorActivityEvent[0]; }