diff --git a/Jugenddienst Stunden/ViewModels/StundeViewModel.cs b/Jugenddienst Stunden/ViewModels/StundeViewModel.cs index 440fd9d..3f917b8 100644 --- a/Jugenddienst Stunden/ViewModels/StundeViewModel.cs +++ b/Jugenddienst Stunden/ViewModels/StundeViewModel.cs @@ -74,6 +74,7 @@ public partial class StundeViewModel : ObservableObject, IQueryAttributable { public ICommand SaveCommand { get; private set; } public ICommand DeleteCommand { get; private set; } public ICommand DeleteConfirmCommand { get; private set; } + public ICommand SelectEntryCommand { get; } //public ICommand LoadDataCommand { get; private set; } @@ -83,6 +84,7 @@ public partial class StundeViewModel : ObservableObject, IQueryAttributable { _alertService = alertService; SaveCommand = new AsyncRelayCommand(Save); DeleteConfirmCommand = new Command(async () => await DeleteConfirm()); + SelectEntryCommand = new AsyncRelayCommand(SelectEntryAsync); _alertService.AlertRaised += (s, msg) => AlertEvent?.Invoke(this, msg); } @@ -136,7 +138,8 @@ public partial class StundeViewModel : ObservableObject, IQueryAttributable { if (!exceptionOccurred) { if (DayTime.Id != null) { - await Shell.Current.GoToAsync($"..?saved={DayTime.Id}"); + //await Shell.Current.GoToAsync($"..?saved={DayTime.Id}"); + await Shell.Current.GoToAsync($"//StundenPage?saved={DayTime.Id}"); } else { await Shell.Current.GoToAsync($"..?date={DayTime.Day.ToString("yyyy-MM-dd")}"); } @@ -173,6 +176,19 @@ public partial class StundeViewModel : ObservableObject, IQueryAttributable { } } + + /// + /// Öffnet eine bestehende Stundeneingabe + /// + private async Task SelectEntryAsync(DayTime entry) { + if (entry != null && entry.Id != null) { + //var navigationParameters = new Dictionary { { "load", entry.id } }; + //await Shell.Current.GoToAsync($"{nameof(Views.StundePage)}", navigationParameters); + await Shell.Current.GoToAsync($"{nameof(Views.StundePage)}?load={entry.Id}"); + } else AlertEvent?.Invoke(this, "Auswahl enthält keine Daten"); + } + + /// /// Anwenden der Query-Parameter /// diff --git a/Jugenddienst Stunden/ViewModels/StundenViewModel.cs b/Jugenddienst Stunden/ViewModels/StundenViewModel.cs index a9026d1..eb7dc1f 100644 --- a/Jugenddienst Stunden/ViewModels/StundenViewModel.cs +++ b/Jugenddienst Stunden/ViewModels/StundenViewModel.cs @@ -172,16 +172,6 @@ public partial class StundenViewModel : ObservableObject, IQueryAttributable, IN RefreshListCommand = new AsyncRelayCommand(RefreshList); RefreshCommand = new Command(async () => await RefreshItemsAsync()); - // Task task = LoadDay(DateTime.Today); - // Beim Startup NICHT direkt im CTOR laden (kann Startup/Navigation blockieren) - // Stattdessen via Dispatcher "nach" dem Aufbau starten: - // MainThread.BeginInvokeOnMainThread(async () => { - // try { - // await LoadDay(DateTime.Today); - // } catch (Exception ex) { - // AlertEvent?.Invoke(this, ex.Message); - // } - // }); } diff --git a/Jugenddienst Stunden/Views/StundePage.xaml b/Jugenddienst Stunden/Views/StundePage.xaml index a469ad2..e41b52f 100644 --- a/Jugenddienst Stunden/Views/StundePage.xaml +++ b/Jugenddienst Stunden/Views/StundePage.xaml @@ -21,7 +21,7 @@ StatusBarStyle="LightContent" /> - +