diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs index 6eb42225e..7cc283dcc 100644 --- a/BeWo/BeWoApp.xaml.cs +++ b/BeWo/BeWoApp.xaml.cs @@ -204,7 +204,9 @@ namespace BeWo var showInfoButtonInCalender = false; - AppSettings.ShowAdvisedAttendedFlag = false; + + + AppSettings.ShowAdvisedAttendedFlag = false; var timeRecordingMenuName = string.Empty; if (_Mandator != null) @@ -365,11 +367,33 @@ namespace BeWo { showDienstplanung = true; } + val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.Arbeitszeiterfassung); if (val != null && val.Equals("1")) { AppSettings.Arbeitszeiterfassung = true; } + val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.EnableArbeitszeiterfassung); + if (val != null && val.Equals("1")) + { + AppSettings.EnableArbeitszeiterfassung = true; + } + val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.EnableAutomaticPauses); + if (val != null && val.Equals("1")) + { + AppSettings.EnableAutomaticPauses = true; + } + val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.EnableRestTimeWarning); + if (val != null && val.Equals("1")) + { + AppSettings.EnableRestTimeWarning = true; + } + val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.MaxWorkTimeHoursBeforeWarning); + int hours; + if (Int32.TryParse(val, out hours)) + { + AppSettings.MaxWorkTimeHoursBeforeWarning = hours; + } var anzahl = UserSettingsUtils.GetSettingValue(_Mandator.Settings, SettingsKeys.DienstplanungStandardZeilenAnzahl); if (anzahl != null) diff --git a/BeWo/Core/Config/AppSettings.cs b/BeWo/Core/Config/AppSettings.cs index d0d631a7e..d83430971 100644 --- a/BeWo/Core/Config/AppSettings.cs +++ b/BeWo/Core/Config/AppSettings.cs @@ -407,6 +407,10 @@ namespace BeWo.Core.Config public bool ShowDienstplanung { get; set; } public bool Arbeitszeiterfassung { get; set; } + public bool EnableArbeitszeiterfassung { get; set; } + public bool EnableAutomaticPauses { get; set; } + public bool EnableRestTimeWarning { get; set; } + public int MaxWorkTimeHoursBeforeWarning { get; set; } public int DienstplanungStandardZeilenAnzahl { get; set; } diff --git a/BeWo/ViewModel/MandatorVM.cs b/BeWo/ViewModel/MandatorVM.cs index 5f2c5ab9e..485b40e6c 100644 --- a/BeWo/ViewModel/MandatorVM.cs +++ b/BeWo/ViewModel/MandatorVM.cs @@ -261,6 +261,62 @@ namespace BeWo.ViewModel } } } + public bool EnableArbeitszeiterfassung + { + get { return BeWoApp.AppSettings.EnableArbeitszeiterfassung; } + + set + { + if (this.AreDifferent(BeWoApp.AppSettings.EnableArbeitszeiterfassung, value)) + { + BeWoApp.AppSettings.EnableArbeitszeiterfassung = value; + + this.Settings = UserSettingsUtils.CreateNewSettingValue(this._Settings, "EnableArbeitszeiterfassung", value.ToString()); + } + } + } + public bool EnableAutomaticPauses + { + get { return BeWoApp.AppSettings.EnableAutomaticPauses; } + + set + { + if (this.AreDifferent(BeWoApp.AppSettings.EnableAutomaticPauses, value)) + { + BeWoApp.AppSettings.EnableAutomaticPauses = value; + + this.Settings = UserSettingsUtils.CreateNewSettingValue(this._Settings, "EnableAutomaticPauses", value.ToString()); + } + } + } + public bool EnableRestTimeWarning + { + get { return BeWoApp.AppSettings.EnableRestTimeWarning; } + + set + { + if (this.AreDifferent(BeWoApp.AppSettings.EnableRestTimeWarning, value)) + { + BeWoApp.AppSettings.EnableRestTimeWarning = value; + + this.Settings = UserSettingsUtils.CreateNewSettingValue(this._Settings, "EnableRestTimeWarning", value.ToString()); + } + } + } + public int MaxWorkTimeHoursBeforeWarning + { + get { return BeWoApp.AppSettings.MaxWorkTimeHoursBeforeWarning; } + + set + { + if (this.AreDifferent(BeWoApp.AppSettings.MaxWorkTimeHoursBeforeWarning, value)) + { + BeWoApp.AppSettings.MaxWorkTimeHoursBeforeWarning = value; + + this.Settings = UserSettingsUtils.CreateNewSettingValue(this._Settings, "MaxWorkTimeHoursBeforeWarning", value.ToString()); + } + } + } public int TimeUntilUILock { diff --git a/Shared/Core/SettingsKeys.cs b/Shared/Core/SettingsKeys.cs index 704dac56e..0f15b177f 100644 --- a/Shared/Core/SettingsKeys.cs +++ b/Shared/Core/SettingsKeys.cs @@ -54,6 +54,10 @@ public static string ShowDienstplanung => "ShowDienstplanung"; public static string Arbeitszeiterfassung => "Arbeitszeiterfassung"; + public static string EnableArbeitszeiterfassung => "EnableArbeitszeiterfassung"; + public static string EnableAutomaticPauses => "EnableAutomaticPauses"; + public static string EnableRestTimeWarning => "EnableRestTimeWarning"; + public static string MaxWorkTimeHoursBeforeWarning => "MaxWorkTimeHoursBeforeWarning"; public static string DienstplanungStandardZeilenAnzahl => "DienstplanungStandardZeilenAnzahl"; public static string ShowMarker => "ShowMarker";