using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using System.Windows.Input; using Microsoft.Maui.Controls; using Microsoft.Maui.Networking; using ZXing.Net.Maui; namespace Jugenddienst_Stunden.ViewModels { internal class StundenViewModel : ObservableObject { public string Name => AppInfo.Name; public string Surname => AppInfo.VersionString; public string MoreInfoUrl => "https://aka.ms/maui"; public string Message => "Hier werden deine geleisteten Arbeitsstunden aufgelistet"; public ICommand LoadDataCommand { get; private set; } public object Stunden { get; } private Models.Hours _hour; public Models.Hours Hours { get => _hour; } public string ZeitDone { get => _hour.zeit; } public string ZeitCalculated { get => _hour.zeit_total; } public string Nominal { get => _hour.nominal; } public string Overtime { get => _hour.overtime; } public string OvertimeMonth { get => _hour.overtime_month; } public Dictionary ZeitTotalDaily { get => _hour.zeit_total_daily; } public string Title { get; set; } = Preferences.Default.Get("name", "") + " " + Preferences.Default.Get("surname", ""); public StundenViewModel() { _hour = new Models.Hours(); LoadDataCommand = new AsyncRelayCommand(LoadData); } //public async Task LoadData() => // await Models.Stunde.LoadData(); public async Task LoadData() { _hour = await Models.Stunde.LoadData(); //Models.Hours Hours = new Models.Hours(); //Title = _hour.operator_api.name + " " + _hour.operator_api.surname; RefreshProperties(); } private void RefreshProperties() { OnPropertyChanged(nameof(Nominal)); OnPropertyChanged(nameof(Overtime)); OnPropertyChanged(nameof(OvertimeMonth)); OnPropertyChanged(nameof(ZeitCalculated)); OnPropertyChanged(nameof(ZeitDone)); OnPropertyChanged(nameof(Hours)); OnPropertyChanged(nameof(Title)); OnPropertyChanged(nameof(ZeitTotalDaily)); } } }