public override void OnNavigatedTo(NavigationContext navigationContext) { SelectedEmployeeIndex = -1; Employees = dbAccess.GetAllEmployees(); Employees = Employees.OrderBy(e => e.FullName).ToList(); RaisePropertyChanged("Employees"); TransactionTypes = new ObservableCollection <DatevTransactionType>(dbAccess.GetAllTransactionTypes()); RaisePropertyChanged("TransactionTypes"); TravelExpense t = navigationContext.Parameters["TravelExpense"] as TravelExpense; if (t.Id > 0) { TravelExpense = dbAccess.GetTravelExpenseById(t.Id); if (TravelExpense != null) { expenseItems = new ObservableCollection <TravelExpenseItem>(TravelExpense.TravelExpenseItems); if (expenseItems.Count > 0) { currentTravelExpenseItem = expenseItems.ElementAt(0); CanEditTaxableIncome = currentTravelExpenseItem.IsTaxableIncome; } else { currentTravelExpenseItem = null; } ReportAsOf = TravelExpense.ExpenseDate; SelectedEmployee = Employees.FirstOrDefault(e => e.Id == TravelExpense.EmployeeForTravelExpensesId); SelectedEmployeeIndex = Employees.IndexOf(SelectedEmployee); RaisePropertyChanged("SelectedEmployee"); // check, whether ReceiptFile is still available if (!string.IsNullOrEmpty(TravelExpense.ReportFileName)) { if (File.Exists(Path.Combine(travelExpenseRoot, TravelExpense.ReportFileName))) { ReceiptFileNameFound = true; } else { ReceiptFileNameFound = false; } if (!ReceiptFileNameFound) { NotificationRequest.Raise(new Notification() { Title = "QuantCo Deutschland GmbH", Content = "Die angegebene Datei existiert nicht. Sie wurde entweder gelöscht oder verschoben" }); } } else { ReceiptFileNameFound = false; NotificationRequest.Raise(new Notification() { Title = "QuantCo Deutschland GmbH", Content = "Es wurde keine Beleg-Datei angegeben" }); } } } else { TravelExpense = new TravelExpense(); expenseItems = new ObservableCollection <TravelExpenseItem>(); currentTravelExpenseItem = null; ReceiptFileNameFound = false; ReportAsOf = DateTime.Now.Date; ReportAsOf = ReportAsOf.AddMonths(-1); } ListOfTravelExpenseItems = CollectionViewSource.GetDefaultView(expenseItems); ListOfTravelExpenseItems.CurrentChanged -= ListOfTravelExpenseItems_CurrentChanged; ListOfTravelExpenseItems.CurrentChanged += ListOfTravelExpenseItems_CurrentChanged; // set Filter: do not show deletedItems ListOfTravelExpenseItems.Filter = item => { TravelExpenseItem te = item as TravelExpenseItem; if (te == null) { return(true); } return(te.Status != DBStatus.Removed); }; RaisePropertyChanged("ListOfTravelExpenseItems"); }