private ObservableCollection <Event> GetEvents(EventLogEntryCollection entries) { var events = new ObservableCollection <Event>(); EventLogEntry[] entriesArray = new EventLogEntry[entries.Count]; entries.CopyTo(entriesArray, 0); var logs = entriesArray.OrderByDescending(e => e.TimeGenerated).Take(20).ToList(); for (var i = 0; i < logs.Count; i++) { events.Add(new Event { EventSource = logs[i].Source, DateAndTime = logs[i].TimeGenerated, Level = logs[i].EntryType.ToString(), Message = logs[i].Message.ToString() }); } return(events); }