From cf89527585a94b6b71f4769d7b78cb2c9231ff39 Mon Sep 17 00:00:00 2001 From: DaPi Date: Wed, 18 Sep 2024 16:57:19 +0200 Subject: [PATCH] =?UTF-8?q?Detailseite=20mit=20Daten=20f=C3=BCllen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jugenddienst Stunden/AppShell.xaml.cs | 1 + .../Jugenddienst Stunden.csproj | 37 ++++++- Jugenddienst Stunden/Models/Stunde.cs | 7 +- .../Properties/Resources.Designer.cs | 63 +++++++++++ .../Properties/Resources.resx | 101 ++++++++++++++++++ .../ViewModels/StundeViewModel.cs | 17 ++- .../ViewModels/StundenViewModel.cs | 76 ++++++------- Jugenddienst Stunden/Views/StundePage.xaml | 7 +- Jugenddienst Stunden/Views/StundenPage.xaml | 67 +++++++----- 9 files changed, 301 insertions(+), 75 deletions(-) create mode 100644 Jugenddienst Stunden/Properties/Resources.Designer.cs create mode 100644 Jugenddienst Stunden/Properties/Resources.resx diff --git a/Jugenddienst Stunden/AppShell.xaml.cs b/Jugenddienst Stunden/AppShell.xaml.cs index 1284421..f0fcb2e 100644 --- a/Jugenddienst Stunden/AppShell.xaml.cs +++ b/Jugenddienst Stunden/AppShell.xaml.cs @@ -4,6 +4,7 @@ InitializeComponent(); Routing.RegisterRoute(nameof(Views.NotePage), typeof(Views.NotePage)); + Routing.RegisterRoute(nameof(Views.StundePage), typeof(Views.StundePage)); } } } diff --git a/Jugenddienst Stunden/Jugenddienst Stunden.csproj b/Jugenddienst Stunden/Jugenddienst Stunden.csproj index 2585e49..a6e7250 100644 --- a/Jugenddienst Stunden/Jugenddienst Stunden.csproj +++ b/Jugenddienst Stunden/Jugenddienst Stunden.csproj @@ -1,7 +1,7 @@  - net8.0-maccatalyst;net8.0-android34.0 + net8.0-maccatalyst;net8.0-android @@ -43,14 +43,37 @@ True + com.danielpichler.jugenddienststunden True + com.danielpichler.jugenddienststunden True + com.danielpichler.jugenddienststunden + Xamarin + True + + + + de-de + + + + com.danielpichler.jugenddienststunden + + + + com.danielpichler.jugenddienststunden + Xamarin + True + + + + com.danielpichler.jugenddienststunden @@ -95,6 +118,11 @@ + + True + True + Resources.resx + LoginPage.xaml @@ -103,6 +131,13 @@ + + + ResXFileCodeGenerator + Resources.Designer.cs + + + MSBuild:Compile diff --git a/Jugenddienst Stunden/Models/Stunde.cs b/Jugenddienst Stunden/Models/Stunde.cs index d041417..6eea328 100644 --- a/Jugenddienst Stunden/Models/Stunde.cs +++ b/Jugenddienst Stunden/Models/Stunde.cs @@ -75,7 +75,7 @@ namespace Jugenddienst_Stunden.Models { var tokendata = new TokenData(apiKey); //string data = await Auth.GetApiDataWithAuthAsync(requestUrl, apiKey); - string data = await Auth.GetApiDataWithAuthAsync(tokendata.url + "?hours&month=" + DateTime.Today.Month, tokendata.apiKey); + string data = await Auth.GetApiDataWithAuthAsync(tokendata.url + "?hours", tokendata.apiKey); if (data == null) { throw new Exception("Keine Daten erhalten"); @@ -107,7 +107,7 @@ namespace Jugenddienst_Stunden.Models { var tokendata = new TokenData(apiKey); //string data = await Auth.GetApiDataWithAuthAsync(requestUrl, apiKey); - string data = await Auth.GetApiDataWithAuthAsync(tokendata.url + "?hours&date=" + date.ToString("yyyy-MM-dd"), tokendata.apiKey); + string data = await Auth.GetApiDataWithAuthAsync(tokendata.url + "?date=" + date.ToString("yyyy-MM-dd"), tokendata.apiKey); if (data == null) { throw new Exception("Keine Daten erhalten"); @@ -116,7 +116,8 @@ namespace Jugenddienst_Stunden.Models { throw new Exception("Problem mit Token"); } - daytimes = System.Text.Json.JsonSerializer.Deserialize>(data); + //daytimes = System.Text.Json.JsonSerializer.Deserialize>(data); + daytimes = JsonConvert.DeserializeObject>(data); //Preferences.Default.Set("name", hours.operator_api.name); //Preferences.Default.Set("surname", hours.operator_api.surname); diff --git a/Jugenddienst Stunden/Properties/Resources.Designer.cs b/Jugenddienst Stunden/Properties/Resources.Designer.cs new file mode 100644 index 0000000..906d31a --- /dev/null +++ b/Jugenddienst Stunden/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace Jugenddienst_Stunden.Properties { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Jugenddienst_Stunden.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/Jugenddienst Stunden/Properties/Resources.resx b/Jugenddienst Stunden/Properties/Resources.resx new file mode 100644 index 0000000..4fdb1b6 --- /dev/null +++ b/Jugenddienst Stunden/Properties/Resources.resx @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Jugenddienst Stunden/ViewModels/StundeViewModel.cs b/Jugenddienst Stunden/ViewModels/StundeViewModel.cs index 6d06d3d..6f5438a 100644 --- a/Jugenddienst Stunden/ViewModels/StundeViewModel.cs +++ b/Jugenddienst Stunden/ViewModels/StundeViewModel.cs @@ -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 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(); } } diff --git a/Jugenddienst Stunden/ViewModels/StundenViewModel.cs b/Jugenddienst Stunden/ViewModels/StundenViewModel.cs index abdc44d..1819e0b 100644 --- a/Jugenddienst Stunden/ViewModels/StundenViewModel.cs +++ b/Jugenddienst Stunden/ViewModels/StundenViewModel.cs @@ -26,12 +26,12 @@ namespace Jugenddienst_Stunden.ViewModels { public object Stunden { get; } - private List _stunde; - public List Stunde { + private List _stunde; + public List 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 Options { get; } - public ObservableCollection OptionsProjekt { get; } - public ObservableCollection OptionsFreistellung { get; } + //public ObservableCollection Options { get; } + //public ObservableCollection OptionsProjekt { get; } + //public ObservableCollection OptionsFreistellung { get; } public List 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 { - "Gemeinde 1", - "Gemeinde 2", - "Gemeinde 3", - "Gemeinde 4" - }; - OptionsProjekt = new ObservableCollection { - "Projekt 1", - "Projekt 2", - "Projekt 3" - }; - OptionsFreistellung = new ObservableCollection { - "Urlaub", - "Krankheit", - "Elternzeit" - }; + // Options = new ObservableCollection { + // "Gemeinde 1", + // "Gemeinde 2", + // "Gemeinde 3", + // "Gemeinde 4" + //}; + // OptionsProjekt = new ObservableCollection { + // "Projekt 1", + // "Projekt 2", + // "Projekt 3" + //}; + // OptionsFreistellung = new ObservableCollection { + // "Urlaub", + // "Krankheit", + // "Elternzeit" + //}; _hour = new Types.Hours(); LoadDataCommand = new AsyncRelayCommand(LoadData); - SelectEntryCommand = new AsyncRelayCommand(SelectEntryAsync); + SelectEntryCommand = new AsyncRelayCommand(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 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) { diff --git a/Jugenddienst Stunden/Views/StundePage.xaml b/Jugenddienst Stunden/Views/StundePage.xaml index 281d7cf..6a17eb2 100644 --- a/Jugenddienst Stunden/Views/StundePage.xaml +++ b/Jugenddienst Stunden/Views/StundePage.xaml @@ -5,9 +5,9 @@ x:Class="Jugenddienst_Stunden.Views.StundePage" Title="StundePage"> - +