Observable und Typo
This commit is contained in:
@@ -162,7 +162,7 @@ public partial class StundeViewModel : ObservableObject, IQueryAttributable {
|
||||
DayTime.GemeindeAktiv = OptionsGemeinde.FirstOrDefault(Gemeinde => Gemeinde.Id == DayTime.Gemeinde) ?? new Gemeinde();
|
||||
DayTime.ProjektAktiv = OptionsProjekt.FirstOrDefault(Projekt => Projekt.Id == DayTime.Projekt) ?? new Projekt();
|
||||
DayTime.FreistellungAktiv = OptionsFreistellung.FirstOrDefault(Freistellung => Freistellung.Id == DayTime.Free) ?? new Freistellung();
|
||||
OnPropertyChanged(nameof(DayTime));
|
||||
//OnPropertyChanged(nameof(DayTime));
|
||||
|
||||
} catch (Exception e) {
|
||||
AlertEvent?.Invoke(this, e.Message);
|
||||
@@ -215,7 +215,7 @@ public partial class StundeViewModel : ObservableObject, IQueryAttributable {
|
||||
FreistellungEnabled = true;
|
||||
|
||||
OnPropertyChanged(nameof(SubTitle));
|
||||
OnPropertyChanged(nameof(DayTime));
|
||||
//OnPropertyChanged(nameof(DayTime));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace Jugenddienst_Stunden.ViewModels;
|
||||
/// <summary>
|
||||
/// ViewModel für die Stundenliste
|
||||
/// </summary>
|
||||
internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyPropertyChanged {
|
||||
internal partial class StundenViewModel : ObservableObject, IQueryAttributable, INotifyPropertyChanged {
|
||||
|
||||
public string LoadOverview => "Lade Summen für " + DateTime.Today.ToString("MMMM");
|
||||
|
||||
@@ -28,9 +28,24 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
||||
//private HoursBase HoursBase = new HoursBase();
|
||||
internal Settings Settings = new Settings();
|
||||
|
||||
public TimeOnly Sollstunden { get; set; }
|
||||
/// <summary>
|
||||
/// Zu leistende Stunden
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private TimeOnly sollstunden;
|
||||
|
||||
/// <summary>
|
||||
/// Geleistete Stunden an einem Tag
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private TimeOnly dayTotal;
|
||||
|
||||
/// <summary>
|
||||
/// Liste der Tageszeiten
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private List<DayTime> dayTimes = new List<DayTime>();
|
||||
|
||||
public string Title { get; set; } = GlobalVar.Name + " " + GlobalVar.Surname;
|
||||
|
||||
private Hours _hour;
|
||||
@@ -38,22 +53,8 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
||||
get => _hour;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gesamtstunden an einem Tag
|
||||
/// </summary>
|
||||
public TimeOnly DayTotal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Liste der Tageszeiten
|
||||
/// </summary>
|
||||
private List<DayTime> _dayTimes = new List<DayTime>();
|
||||
public List<DayTime> DayTimes {
|
||||
get => _dayTimes;
|
||||
set {
|
||||
SetProperty(ref _dayTimes, value);
|
||||
OnPropertyChanged(nameof(DayTimes));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Mindest-Datum für den Datepicker
|
||||
@@ -124,16 +125,9 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
||||
/// <summary>
|
||||
/// Seite neu laden
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private bool isRefreshing;
|
||||
public bool IsRefreshing {
|
||||
get => isRefreshing;
|
||||
set {
|
||||
if (isRefreshing != value) {
|
||||
isRefreshing = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Dürfen Gemeinden verwendet werden?
|
||||
@@ -212,7 +206,7 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
||||
//_dayTimes = await HoursBase.LoadDay(date);
|
||||
BaseResponse dat = await HoursBase.LoadBase("date=" + date.ToString("yyyy-MM-dd"));
|
||||
|
||||
_dayTimes = dat.daytimes;
|
||||
DayTimes = dat.daytimes;
|
||||
Settings = dat.settings;
|
||||
GemeindeAktivSet = Settings.GemeindeAktivSet;
|
||||
ProjektAktivSet = Settings.ProjektAktivSet;
|
||||
@@ -224,7 +218,7 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
||||
List<Sollstunden> _soll;
|
||||
TimeSpan span = TimeSpan.Zero;
|
||||
bool merker = false;
|
||||
foreach (DayTime dt in _dayTimes) {
|
||||
foreach (DayTime dt in DayTimes) {
|
||||
span += dt.End - dt.Begin;
|
||||
//Nachtstunden dazurechnen
|
||||
if (dt.Night.Ticks > 0 && !merker) {
|
||||
@@ -238,20 +232,20 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
||||
DayTotal = TimeOnly.FromTimeSpan(span);
|
||||
|
||||
//Nach der Tagessumme die anderen Tage anhängen
|
||||
if (_dayTimes != null) {
|
||||
if (DayTimes != null) {
|
||||
BaseResponse dat1 = await HoursBase.LoadBase("date=" + date.ToString("yyyy-MM-dd") + "&tilldate=" + date.AddDays(3).ToString("yyyy-MM-dd"));
|
||||
if (dat1.daytimes != null)
|
||||
_dayTimes = dat.daytimes.Concat(dat1.daytimes).ToList();
|
||||
DayTimes = dat.daytimes.Concat(dat1.daytimes).ToList();
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
_dayTimes = new List<DayTime>();
|
||||
DayTimes = new List<DayTime>();
|
||||
//TODO: hier könnte auch ein Fehler kommen, dann wäre InfoEvent falsch.
|
||||
InfoEvent?.Invoke(this, e.Message);
|
||||
} finally {
|
||||
OnPropertyChanged(nameof(DayTotal));
|
||||
OnPropertyChanged(nameof(Sollstunden));
|
||||
OnPropertyChanged(nameof(DayTimes));
|
||||
//OnPropertyChanged(nameof(DayTimes));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user