Detailseite mit Daten füllen

This commit is contained in:
2024-09-18 16:57:19 +02:00
parent 12c1771d9d
commit cf89527585
9 changed files with 301 additions and 75 deletions

View File

@@ -1,4 +1,5 @@
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -28,6 +29,17 @@ namespace Jugenddienst_Stunden.ViewModels {
public ICommand DeleteCommand { get; private set; }
public StundeViewModel() {
_stunde = new Types.DayTime();
//SaveCommand = new AsyncRelayCommand(Save);
//DeleteCommand = new AsyncRelayCommand(Delete);
}
public StundeViewModel(Types.DayTime stunde) {
_stunde = stunde;
//SaveCommand = new AsyncRelayCommand(Save);
//DeleteCommand = new AsyncRelayCommand(Delete);
}
//private async Task Save() {
// _stunde.Date = DateTime.Now;
@@ -42,9 +54,10 @@ namespace Jugenddienst_Stunden.ViewModels {
async void IQueryAttributable.ApplyQueryAttributes(IDictionary<string, object> query) {
if (query.ContainsKey("load")) {
DateTime heute = DateTime.Now;
//_stunde = await Models.Stunde.LoadDay(heute);
//DateTime heute = DateTime.Now;
_stunde = await Models.Stunde.LoadEntry(Convert.ToInt32(query["load"]));
//_stunde = await Models.Stunde.LoadData();
//_note = Models.Note.Load(query["load"].ToString());
//RefreshProperties();
}
}

View File

@@ -26,12 +26,12 @@ namespace Jugenddienst_Stunden.ViewModels {
public object Stunden { get; }
private List<Types.DayTime> _stunde;
public List<Types.DayTime> Stunde {
private List<DayTime> _stunde;
public List<DayTime> Stunde {
get => _stunde;
}
private Types.Hours _hour;
public Types.Hours Hours {
private Hours _hour;
public Hours Hours {
get => _hour;
}
public string ZeitDone {
@@ -93,51 +93,51 @@ namespace Jugenddienst_Stunden.ViewModels {
public string Title { get; set; } = Preferences.Default.Get("name", "") + " " + Preferences.Default.Get("surname", "");
public ObservableCollection<string> Options { get; }
public ObservableCollection<string> OptionsProjekt { get; }
public ObservableCollection<string> OptionsFreistellung { get; }
//public ObservableCollection<string> Options { get; }
//public ObservableCollection<string> OptionsProjekt { get; }
//public ObservableCollection<string> OptionsFreistellung { get; }
public List<TimeDay> TimeDay { get; set; }
private string selectedOption;
public string SelectedOption {
get => selectedOption;
set {
if (selectedOption != value) {
selectedOption = value;
//new AsyncRelayCommand(LoadData);
OnPropertyChanged(nameof(SelectedOption));
}
}
}
//private string selectedOption;
//public string SelectedOption {
// get => selectedOption;
// set {
// if (selectedOption != value) {
// selectedOption = value;
// //new AsyncRelayCommand(LoadData);
// OnPropertyChanged(nameof(SelectedOption));
// }
// }
//}
public StundenViewModel() {
Options = new ObservableCollection<string> {
"Gemeinde 1",
"Gemeinde 2",
"Gemeinde 3",
"Gemeinde 4"
};
OptionsProjekt = new ObservableCollection<string> {
"Projekt 1",
"Projekt 2",
"Projekt 3"
};
OptionsFreistellung = new ObservableCollection<string> {
"Urlaub",
"Krankheit",
"Elternzeit"
};
// Options = new ObservableCollection<string> {
// "Gemeinde 1",
// "Gemeinde 2",
// "Gemeinde 3",
// "Gemeinde 4"
//};
// OptionsProjekt = new ObservableCollection<string> {
// "Projekt 1",
// "Projekt 2",
// "Projekt 3"
//};
// OptionsFreistellung = new ObservableCollection<string> {
// "Urlaub",
// "Krankheit",
// "Elternzeit"
//};
_hour = new Types.Hours();
LoadDataCommand = new AsyncRelayCommand(LoadData);
SelectEntryCommand = new AsyncRelayCommand<ViewModels.StundeViewModel>(SelectEntryAsync);
SelectEntryCommand = new AsyncRelayCommand<DayTime>(SelectEntryAsync);
}
private async Task SelectEntryAsync(ViewModels.StundeViewModel entry) {
private async Task SelectEntryAsync(DayTime entry) {
if (entry != null)
await Shell.Current.GoToAsync($"{nameof(Views.StundePage)}?load={entry.id}");
}
@@ -147,7 +147,7 @@ namespace Jugenddienst_Stunden.ViewModels {
public event EventHandler<string> AlertEvent;
public async Task LoadData() {
private async Task LoadData() {
try {
_hour = await Models.Stunde.LoadData();
RefreshProperties();
@@ -156,7 +156,7 @@ namespace Jugenddienst_Stunden.ViewModels {
}
}
public async Task LoadDay(DateTime date) {
private async Task LoadDay(DateTime date) {
try {
_hour.daytime = await Models.Stunde.LoadDay(date);
////if (_hour.zeit_total_daily_api != null) {