Vorbereitungen für 1.0.6
Beachte die Einstellung ob Projekte und Gemeinden aktiv sind. Verbiete Änderungen an der Freistellung, wenn sie genehmigt wurde. Vereinfache das Speichern der Einstellungen Bessere Fehlerbehandlung, einheitlichere API
This commit is contained in:
@@ -25,16 +25,13 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
||||
public event EventHandler<string> AlertEvent;
|
||||
public event EventHandler<string> InfoEvent;
|
||||
|
||||
private HoursBase HoursBase = new HoursBase();
|
||||
//private HoursBase HoursBase = new HoursBase();
|
||||
internal Settings Settings = new Settings();
|
||||
|
||||
public TimeOnly Sollstunden { get; set; }
|
||||
|
||||
private string _title = HoursBase.name + " " + HoursBase.surname;
|
||||
public string Title {
|
||||
get => _title;
|
||||
set => SetProperty(ref _title, value);
|
||||
}
|
||||
|
||||
public string Title { get; set; } = GlobalVar.Name + " " + GlobalVar.Surname;
|
||||
|
||||
private Hours _hour;
|
||||
public Hours Hours {
|
||||
@@ -150,13 +147,15 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
||||
|
||||
private bool doContinue = true;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// CTOR
|
||||
/// </summary>
|
||||
public StundenViewModel() {
|
||||
_hour = new Hours();
|
||||
|
||||
//LoadSettingsAsync();
|
||||
HoursBase.tokendata = new TokenData(HoursBase.apiKey);
|
||||
//HoursBase.tokendata = new TokenData(HoursBase.apiKey);
|
||||
LoadDataCommand = new AsyncRelayCommand(LoadData);
|
||||
NewEntryCommand = new AsyncRelayCommand(NewEntryAsync);
|
||||
SelectEntryCommand = new AsyncRelayCommand<DayTime>(SelectEntryAsync);
|
||||
@@ -167,6 +166,7 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
||||
|
||||
}
|
||||
|
||||
|
||||
private async Task LoadSettingsAsync() {
|
||||
try {
|
||||
Settings = await HoursBase.LoadSettings();
|
||||
@@ -226,37 +226,46 @@ internal class StundenViewModel : ObservableObject, IQueryAttributable, INotifyP
|
||||
/// </summary>
|
||||
public async Task LoadDay(DateTime date) {
|
||||
DayTotal = new TimeOnly(0);
|
||||
await LoadSettingsAsync();
|
||||
//await LoadSettingsAsync();
|
||||
//if (doContinue) {
|
||||
try {
|
||||
DayTimes = await HoursBase.LoadDay(date);
|
||||
try {
|
||||
//_dayTimes = await HoursBase.LoadDay(date);
|
||||
BaseResponse dat = await HoursBase.LoadBase("date=" + date.ToString("yyyy-MM-dd"));
|
||||
_dayTimes = dat.daytimes;
|
||||
Settings = dat.settings;
|
||||
GemeindeAktivSet = Settings.GemeindeAktivSet;
|
||||
ProjektAktivSet = Settings.ProjektAktivSet;
|
||||
|
||||
List<Sollstunden> _soll;
|
||||
TimeSpan span = TimeSpan.Zero;
|
||||
bool merker = false;
|
||||
foreach (DayTime dt in DayTimes) {
|
||||
span += dt.End - dt.Begin;
|
||||
//Nachtstunden dazurechnen
|
||||
if (dt.Night.Ticks > 0 && !merker) {
|
||||
span += dt.Night.ToTimeSpan() * .5;
|
||||
merker = true;
|
||||
}
|
||||
_soll = Settings.Nominal.Where(w => w.Timetable == dt.TimeTable && w.Wochentag == dt.Wday).ToList();
|
||||
if (_soll.Count > 0)
|
||||
Sollstunden = TimeOnly.FromTimeSpan(TimeSpan.FromHours(_soll[0].Zeit));
|
||||
OnPropertyChanged(nameof(GemeindeAktivSet));
|
||||
OnPropertyChanged(nameof(ProjektAktivSet));
|
||||
|
||||
|
||||
List<Sollstunden> _soll;
|
||||
TimeSpan span = TimeSpan.Zero;
|
||||
bool merker = false;
|
||||
foreach (DayTime dt in _dayTimes) {
|
||||
span += dt.End - dt.Begin;
|
||||
//Nachtstunden dazurechnen
|
||||
if (dt.Night.Ticks > 0 && !merker) {
|
||||
span += dt.Night.ToTimeSpan() * .5;
|
||||
merker = true;
|
||||
}
|
||||
DayTotal = TimeOnly.FromTimeSpan(span);
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
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));
|
||||
_soll = Settings.Nominal.Where(w => w.Timetable == dt.TimeTable && w.Wochentag == dt.Wday).ToList();
|
||||
if (_soll.Count > 0)
|
||||
Sollstunden = TimeOnly.FromTimeSpan(TimeSpan.FromHours(_soll[0].Zeit));
|
||||
}
|
||||
DayTotal = TimeOnly.FromTimeSpan(span);
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
_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));
|
||||
}
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user