private async void LoadTimeEntries() { _busyService.ShowBusy(_reportscreenKey); List <TimeEntry> timeEntries = null; try { timeEntries = await _timeEntryService.GetTimeEntriesByDate(FromDate, ToDate); } catch (Exception ex) { if (!_isShowingTextbox) { _isShowingTextbox = true; var result = MessageBox.Show("Error loading timeentries", "Error", MessageBoxButton.OK); _isShowingTextbox = result == MessageBoxResult.None; } Logger.Error(ex); } try { ReportCommands.DataLoaded.Execute(null); if (timeEntries != null) { var gridRowViewModels = timeEntries.Select(timeEntry => { TimeEntryType timeEntryType = null; if (TimeEntryTypes != null) { var @default = TimeEntryTypes.FirstOrDefault(x => x.IsDefault); timeEntryType = timeEntry.TimeEntryType == null ? @default : TimeEntryTypes.FirstOrDefault(x => x.Id == timeEntry.TimeEntryType.Id); } return(new GridRowItemViewModel(timeEntry, timeEntryType)); }); GridRows = new ObservableCollection <GridRowItemViewModel>(gridRowViewModels); } } catch (Exception ex) { Logger.Error(ex); } _busyService.HideBusy(_reportscreenKey); }