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.GemeindeAktiv = OptionsGemeinde.FirstOrDefault(Gemeinde => Gemeinde.Id == DayTime.Gemeinde) ?? new Gemeinde();
|
||||||
DayTime.ProjektAktiv = OptionsProjekt.FirstOrDefault(Projekt => Projekt.Id == DayTime.Projekt) ?? new Projekt();
|
DayTime.ProjektAktiv = OptionsProjekt.FirstOrDefault(Projekt => Projekt.Id == DayTime.Projekt) ?? new Projekt();
|
||||||
DayTime.FreistellungAktiv = OptionsFreistellung.FirstOrDefault(Freistellung => Freistellung.Id == DayTime.Free) ?? new Freistellung();
|
DayTime.FreistellungAktiv = OptionsFreistellung.FirstOrDefault(Freistellung => Freistellung.Id == DayTime.Free) ?? new Freistellung();
|
||||||
OnPropertyChanged(nameof(DayTime));
|
//OnPropertyChanged(nameof(DayTime));
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
AlertEvent?.Invoke(this, e.Message);
|
AlertEvent?.Invoke(this, e.Message);
|
||||||
@@ -215,7 +215,7 @@ public partial class StundeViewModel : ObservableObject, IQueryAttributable {
|
|||||||
FreistellungEnabled = true;
|
FreistellungEnabled = true;
|
||||||
|
|
||||||
OnPropertyChanged(nameof(SubTitle));
|
OnPropertyChanged(nameof(SubTitle));
|
||||||
OnPropertyChanged(nameof(DayTime));
|
//OnPropertyChanged(nameof(DayTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ namespace Jugenddienst_Stunden.ViewModels;
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// ViewModel für die Stundenliste
|
/// ViewModel für die Stundenliste
|
||||||
/// </summary>
|
/// </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");
|
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();
|
//private HoursBase HoursBase = new HoursBase();
|
||||||
internal Settings Settings = new Settings();
|
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;
|
public string Title { get; set; } = GlobalVar.Name + " " + GlobalVar.Surname;
|
||||||
|
|
||||||
private Hours _hour;
|
private Hours _hour;
|
||||||
@@ -38,22 +53,8 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
|||||||
get => _hour;
|
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>
|
/// <summary>
|
||||||
/// Mindest-Datum für den Datepicker
|
/// Mindest-Datum für den Datepicker
|
||||||
@@ -124,16 +125,9 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Seite neu laden
|
/// Seite neu laden
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[ObservableProperty]
|
||||||
private bool isRefreshing;
|
private bool isRefreshing;
|
||||||
public bool IsRefreshing {
|
|
||||||
get => isRefreshing;
|
|
||||||
set {
|
|
||||||
if (isRefreshing != value) {
|
|
||||||
isRefreshing = value;
|
|
||||||
OnPropertyChanged();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Dürfen Gemeinden verwendet werden?
|
/// Dürfen Gemeinden verwendet werden?
|
||||||
@@ -212,7 +206,7 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
|||||||
//_dayTimes = await HoursBase.LoadDay(date);
|
//_dayTimes = await HoursBase.LoadDay(date);
|
||||||
BaseResponse dat = await HoursBase.LoadBase("date=" + date.ToString("yyyy-MM-dd"));
|
BaseResponse dat = await HoursBase.LoadBase("date=" + date.ToString("yyyy-MM-dd"));
|
||||||
|
|
||||||
_dayTimes = dat.daytimes;
|
DayTimes = dat.daytimes;
|
||||||
Settings = dat.settings;
|
Settings = dat.settings;
|
||||||
GemeindeAktivSet = Settings.GemeindeAktivSet;
|
GemeindeAktivSet = Settings.GemeindeAktivSet;
|
||||||
ProjektAktivSet = Settings.ProjektAktivSet;
|
ProjektAktivSet = Settings.ProjektAktivSet;
|
||||||
@@ -224,7 +218,7 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
|||||||
List<Sollstunden> _soll;
|
List<Sollstunden> _soll;
|
||||||
TimeSpan span = TimeSpan.Zero;
|
TimeSpan span = TimeSpan.Zero;
|
||||||
bool merker = false;
|
bool merker = false;
|
||||||
foreach (DayTime dt in _dayTimes) {
|
foreach (DayTime dt in DayTimes) {
|
||||||
span += dt.End - dt.Begin;
|
span += dt.End - dt.Begin;
|
||||||
//Nachtstunden dazurechnen
|
//Nachtstunden dazurechnen
|
||||||
if (dt.Night.Ticks > 0 && !merker) {
|
if (dt.Night.Ticks > 0 && !merker) {
|
||||||
@@ -238,20 +232,20 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
|||||||
DayTotal = TimeOnly.FromTimeSpan(span);
|
DayTotal = TimeOnly.FromTimeSpan(span);
|
||||||
|
|
||||||
//Nach der Tagessumme die anderen Tage anhängen
|
//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"));
|
BaseResponse dat1 = await HoursBase.LoadBase("date=" + date.ToString("yyyy-MM-dd") + "&tilldate=" + date.AddDays(3).ToString("yyyy-MM-dd"));
|
||||||
if (dat1.daytimes != null)
|
if (dat1.daytimes != null)
|
||||||
_dayTimes = dat.daytimes.Concat(dat1.daytimes).ToList();
|
DayTimes = dat.daytimes.Concat(dat1.daytimes).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
_dayTimes = new List<DayTime>();
|
DayTimes = new List<DayTime>();
|
||||||
//TODO: hier könnte auch ein Fehler kommen, dann wäre InfoEvent falsch.
|
//TODO: hier könnte auch ein Fehler kommen, dann wäre InfoEvent falsch.
|
||||||
InfoEvent?.Invoke(this, e.Message);
|
InfoEvent?.Invoke(this, e.Message);
|
||||||
} finally {
|
} finally {
|
||||||
OnPropertyChanged(nameof(DayTotal));
|
OnPropertyChanged(nameof(DayTotal));
|
||||||
OnPropertyChanged(nameof(Sollstunden));
|
OnPropertyChanged(nameof(Sollstunden));
|
||||||
OnPropertyChanged(nameof(DayTimes));
|
//OnPropertyChanged(nameof(DayTimes));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
<Border Grid.Column="1" Margin="15,0,0,0" Padding="15,0,0,0" ToolTipProperties.Text="Tagessumme">
|
<Border Grid.Column="1" Margin="15,0,0,0" Padding="15,0,0,0" ToolTipProperties.Text="Tagessumme">
|
||||||
<HorizontalStackLayout>
|
<HorizontalStackLayout>
|
||||||
<Label Text="{Binding DayTotal,StringFormat='{}{0:HH:mm}'}" VerticalOptions="Center"></Label>
|
<Label Text="{Binding DayTotal,StringFormat='{}{0:HH:mm}'}" VerticalOptions="Center"></Label>
|
||||||
<Label Text=" / " VerticalOptions="Center"></Label>
|
<Label Text="/" VerticalOptions="Center" Margin="3,0"/>
|
||||||
<Label Text="{Binding Sollstunden,StringFormat='{}{0:HH:mm}'}" VerticalOptions="Center"></Label>
|
<Label Text="{Binding Sollstunden,StringFormat='{}{0:HH:mm}'}" VerticalOptions="Center"></Label>
|
||||||
</HorizontalStackLayout>
|
</HorizontalStackLayout>
|
||||||
</Border>
|
</Border>
|
||||||
|
|||||||
Reference in New Issue
Block a user