/// <summary> /// Handles Dispatcher "Dispatching" event. /// </summary> /// <param name="sender">Event sender.</param> /// <param name="e">Event arguments.</param> private void Dispatcher_Dispatching(object sender, DispatchEventArgs e) { LogEntry entry = null; if (e != null && Logger != null) { if (e.Success) { if (e.Event != null) entry = e.Event; else entry = new LogEntry("Message has been successfully sent.", LogEntryLevel.Information); } else entry = e.Event; if (entry != null) { if (e.Message != null) { entry.Message += string.Format(" Message details (from, to[0], subject): ({0}, {1}, \"{2}\").", e.Message.From.Address, e.Message.To.Any() ? e.Message.To.First().Address : "---", e.Message.Subject); } if (!string.IsNullOrEmpty(entry.Message)) entry.Message = entry.Message.Trim(); Logger.Log(new LogEntry[] { entry }); } } }
/// <summary> /// Raises "Dispatching" event. /// </summary> /// <param name="e">Event arguments.</param> protected virtual void OnDispatching(DispatchEventArgs e) { if (Dispatching != null) Dispatching(this, e); }