private void LoadTimeEntryTypes(TimeEntry timeEntry) { if (_task.Project.Customer.InheritsTimeEntryTypes) { _dataService.GetGlobalTimeEntryTypes().Subscribe( timeEntryTypes => { foreach (var timeEntryType in timeEntryTypes) { TimeEntryTypes.Add(timeEntryType); } if (timeEntry.TimeEntryType == null) { SelectedTimeEntryType = TimeEntryTypes.FirstOrDefault(tt => tt.IsDefault); } //SelectedTimeEntryType = // TimeEntryTypes.SingleOrDefault( // tt => tt.TimeEntryTypeId == TimeEntry.TimeEntryTypeId); OnPropertyChanged("SelectedTimeEntryType"); } ); } else { TimeEntryTypes = _task.Project.Customer.TimeEntryTypes; } }
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); }