diff --git a/Jugenddienst Stunden/ViewModels/StundeViewModel.cs b/Jugenddienst Stunden/ViewModels/StundeViewModel.cs index ab74050..aa3b95e 100644 --- a/Jugenddienst Stunden/ViewModels/StundeViewModel.cs +++ b/Jugenddienst Stunden/ViewModels/StundeViewModel.cs @@ -78,6 +78,7 @@ public partial class StundeViewModel : ObservableObject, IQueryAttributable { public StundeViewModel() : this(GetServiceOrCreate()) { + LoadSettingsAsync(); } private static IHoursService GetServiceOrCreate() { @@ -124,10 +125,24 @@ public partial class StundeViewModel : ObservableObject, IQueryAttributable { async Task Save() { bool exceptionOccurred = false; bool proceed = true; + + //Arbeitszeit sollte nicht null sein if (DayTime.TimeSpanVon == DayTime.TimeSpanBis && DayTime.FreistellungAktiv.Name == null) { proceed = false; AlertEvent?.Invoke(this, "Uhrzeiten sollten unterschiedlich sein"); } + + //Projekt ist ein Pflichtfeld + if (Settings.ProjektAktivSet && DayTime.ProjektAktiv.Id == 0) { + proceed = false; + AlertEvent?.Invoke(this, "Projekt darf nicht leer sein"); + } + + //Gemeinde ist ein Pflichtfeld + if (Settings.GemeindeAktivSet && DayTime.GemeindeAktiv.Id == 0) { + proceed = false; + AlertEvent?.Invoke(this, "Gemeinde darf nicht leer sein"); + } if (proceed) { try { @@ -182,18 +197,18 @@ public partial class StundeViewModel : ObservableObject, IQueryAttributable { //DateTime heute = DateTime.Now; try { var entry = await _hoursService.GetEntryAsync(Convert.ToInt32(query["load"])); - var settings = await _hoursService.GetSettingsAsync(); - GlobalVar.Settings = settings; - GemeindeAktivSet = settings.GemeindeAktivSet; - ProjektAktivSet = settings.ProjektAktivSet; + // var settings = await _hoursService.GetSettingsAsync(); + // GlobalVar.Settings = settings; + // GemeindeAktivSet = settings.GemeindeAktivSet; + // ProjektAktivSet = settings.ProjektAktivSet; DayTime = entry; DayTime.TimeSpanVon = entry.Begin.ToTimeSpan(); DayTime.TimeSpanBis = entry.End.ToTimeSpan(); - OptionsGemeinde = settings.Gemeinden ?? new List(); - OptionsProjekt = settings.Projekte ?? new List(); - OptionsFreistellung = settings.Freistellungen ?? new List(); + // OptionsGemeinde = settings.Gemeinden ?? new List(); + // OptionsProjekt = settings.Projekte ?? new List(); + // OptionsFreistellung = settings.Freistellungen ?? new List(); DayTime.GemeindeAktiv = OptionsGemeinde.FirstOrDefault(Gemeinde => Gemeinde.Id == DayTime.Gemeinde) ?? new Gemeinde(); @@ -244,7 +259,7 @@ public partial class StundeViewModel : ObservableObject, IQueryAttributable { //Ein Tag ohne Einträge gibt eine Fehlermeldung, //die soll aber ignoriert werden, weil beim Neueintrag ist das ja Wurscht //In dem Fall müssen die Settings aber nochmal geholt werden, weil die dann nicht geladen wurden - LoadSettingsAsync(); + // LoadSettingsAsync(); } finally { DayTime = new DayTime(); DayTime.Day = _date; diff --git a/Jugenddienst Stunden/Views/StundePage.xaml b/Jugenddienst Stunden/Views/StundePage.xaml index eb3cfa2..dbed4c1 100644 --- a/Jugenddienst Stunden/Views/StundePage.xaml +++ b/Jugenddienst Stunden/Views/StundePage.xaml @@ -63,14 +63,6 @@ -