/// <summary> /// Called when the user clicks the copy to clipboard button. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void View_CopySelectedItemsToClipboardClicked(object sender, EventArgs e) { var buffer = new StringBuilder(); var events = _View.SelectedConnectorActivityEvents; if (events.Length == 0) { events = _View.ConnectorActivityEvents; } foreach (var activity in events) { var line = String.Format("[{0}] [{1}] [{2}] {3}", FormatTime(activity.Time), activity.ConnectorName, Describe.ConnectorActivityType(activity.Type), activity.Message ); if (activity.Exception != null) { line = String.Format("{0}{1}{2}", line, Environment.NewLine, Describe.ExceptionSingleLineFull(activity.Exception.Exception)); } buffer.AppendLine(line); } try { Clipboard.SetText(buffer.ToString()); } catch { // The clipboard occasionally throws some bizarro exception but even when // it does it's usually worked } }
/// <summary> /// Gets the column value to sort on. /// </summary> /// <param name="listViewItem"></param> /// <returns></returns> public override IComparable GetRowValue(ListViewItem listViewItem) { var result = base.GetRowValue(listViewItem); var activity = listViewItem.Tag as ConnectorActivityEvent; if (activity != null) { var column = SortColumn ?? _Parent.columnHeaderDate; if (column == _Parent.columnHeaderDate) { result = activity.Time; } else if (column == _Parent.columnHeaderConnector) { result = activity.ConnectorName ?? ""; } else if (column == _Parent.columnHeaderType) { result = Describe.ConnectorActivityType(activity.Type); } else if (column == _Parent.columnHeaderMessage) { result = activity.Message; } } return(result); }
public EventModel(VirtualRadar.Interface.Network.ConnectorActivityEvent obj) { Id = obj.Id; ConnectorName = obj.ConnectorName; Time = obj.Time.ToLocalTime().ToString("dd-MMM-yyyy HH:mm:ss"); Type = Describe.ConnectorActivityType(obj.Type); Message = obj.Message; }
/// <summary> /// Populates an individual listview item. /// </summary> /// <param name="listViewItem"></param> private void PopulateListViewItem(ListViewItem listViewItem) { FillListViewItem <ConnectorActivityEvent>(listViewItem, r => { var time = _Presenter.FormatTime(r.Time); var name = r.ConnectorName ?? ""; var activity = Describe.ConnectorActivityType(r.Type); var message = r.Message ?? ""; return(HideConnectorName ? new string[] { time, activity, message } : new string[] { time, name, activity, message }); }); }
/// <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)); }