diff --git a/BeWo/View/Detail/ServiceRecordEditView.xaml.cs b/BeWo/View/Detail/ServiceRecordEditView.xaml.cs index 4e1b8457b..abc9ae394 100644 --- a/BeWo/View/Detail/ServiceRecordEditView.xaml.cs +++ b/BeWo/View/Detail/ServiceRecordEditView.xaml.cs @@ -213,7 +213,7 @@ namespace BeWo.View.Detail if (MinSTDMitEnd.Text == ZeiterfassungsDauer.Stunden.ToString()) { numeric_duration.IsFloatValue = true; - numeric_duration.Mask = "########0.##"; + numeric_duration.Mask = "########0.00"; } else { @@ -252,7 +252,7 @@ namespace BeWo.View.Detail if (MinSTDOhneEnd.Text == ZeiterfassungsDauer.Stunden.ToString()) { numerictb_duration.IsFloatValue = true; - numerictb_duration.Mask = "########0.##"; + numerictb_duration.Mask = "########0.00"; } else { @@ -540,7 +540,7 @@ namespace BeWo.View.Detail else { numerictb_duration.IsFloatValue = true; - numerictb_duration.Mask = "########0.##"; + numerictb_duration.Mask = "########0.00"; } } @@ -554,7 +554,7 @@ namespace BeWo.View.Detail else { numeric_duration.IsFloatValue = true; - numeric_duration.Mask = "########0.##"; + numeric_duration.Mask = "########0.00"; } } } diff --git a/BeWo/View/Detail/ServiceRecordGroupEditView.xaml.cs b/BeWo/View/Detail/ServiceRecordGroupEditView.xaml.cs index 480e6c1f0..48f621819 100644 --- a/BeWo/View/Detail/ServiceRecordGroupEditView.xaml.cs +++ b/BeWo/View/Detail/ServiceRecordGroupEditView.xaml.cs @@ -703,7 +703,7 @@ namespace BeWo.View.Detail if (MinSTDMitEnd.Text == ZeiterfassungsDauer.Stunden.ToString()) { numeric_duration.IsFloatValue = true; - numeric_duration.Mask = "########0.##"; + numeric_duration.Mask = "########0.00"; } else { @@ -743,7 +743,7 @@ namespace BeWo.View.Detail if (MinSTDOhneEnd.Text == ZeiterfassungsDauer.Stunden.ToString()) { numerictb_duration.IsFloatValue = true; - numerictb_duration.Mask = "########0.##"; + numerictb_duration.Mask = "########0.00"; } else { @@ -765,7 +765,7 @@ namespace BeWo.View.Detail else { numeric_duration.IsFloatValue = true; - numeric_duration.Mask = "########0.##"; + numeric_duration.Mask = "########0.00"; } } @@ -779,7 +779,7 @@ namespace BeWo.View.Detail else { numerictb_duration.IsFloatValue = true; - numerictb_duration.Mask = "########0.##"; + numerictb_duration.Mask = "########0.00"; } } } diff --git a/BeWo/View/Detail/ServiceRecordView2.xaml.cs b/BeWo/View/Detail/ServiceRecordView2.xaml.cs index cac341126..0390a32ce 100644 --- a/BeWo/View/Detail/ServiceRecordView2.xaml.cs +++ b/BeWo/View/Detail/ServiceRecordView2.xaml.cs @@ -295,7 +295,7 @@ namespace BeWo.View.Detail if (MinSTDMitEnd.Text == ZeiterfassungsDauer.Stunden.ToString()) { numeric_duration.IsFloatValue = true; - numeric_duration.Mask = "########0.##"; + numeric_duration.Mask = "########0.00"; } else { @@ -331,7 +331,7 @@ namespace BeWo.View.Detail if (MinSTDOhneEnd.Text == ZeiterfassungsDauer.Stunden.ToString()) { numerictb_duration.IsFloatValue = true; - numerictb_duration.Mask = "########0.##"; + numerictb_duration.Mask = "########0.00"; } else { @@ -4029,7 +4029,7 @@ namespace BeWo.View.Detail } else { numerictb_duration.IsFloatValue = true; - numerictb_duration.Mask = "########0.##"; + numerictb_duration.Mask = "########0.00"; } } @@ -4041,7 +4041,7 @@ namespace BeWo.View.Detail } else { numeric_duration.IsFloatValue = true; - numeric_duration.Mask = "########0.##"; + numeric_duration.Mask = "########0.00"; } } } diff --git a/BeWo/ViewModel/ServiceRecordVM.cs b/BeWo/ViewModel/ServiceRecordVM.cs index 80aa405db..740031398 100644 --- a/BeWo/ViewModel/ServiceRecordVM.cs +++ b/BeWo/ViewModel/ServiceRecordVM.cs @@ -1488,7 +1488,7 @@ namespace BeWo.ViewModel diff = end.Subtract(_StartTime.Value); - if (BeWoApp.AppSettings.IsEndDateVisible) + if (BeWoApp.AppSettings.IsEndDateVisible && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum) { var x = _EditableEndDate.Value.Subtract(_StartTime.Value); @@ -1673,17 +1673,14 @@ namespace BeWo.ViewModel TimeCheckForDurationSTD(); FirePropertyChanged(PropertyName_DurationSTD); - } - - if (BeWoApp.AppSettings.IsZeiterfassDateNormal && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.OriginaleZeiterfassung) - { - TimeCheck(); - FirePropertyChanged(PropertyName_Duration); + }else + if (BeWoApp.AppSettings.IsZeiterfassDateNormal && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.OriginaleZeiterfassung) + { + TimeCheck(); + FirePropertyChanged(PropertyName_Duration); - } - - - + } + } } } @@ -2129,14 +2126,20 @@ namespace BeWo.ViewModel if (_DurationSTD != null){ if (_DurationInStunden == ZeiterfassungsDauer.Stunden) - { - RoundedDuration = DurationSTD.Value * 60; - endduration = DurationSTD.Value * 60; + { + var dura = DurationSTD.Value * 60; + decimal roundedDuration = Math.Round(dura, MidpointRounding.AwayFromZero); + + RoundedDuration = roundedDuration; + endduration = roundedDuration; } else - { - RoundedDuration = DurationSTD.Value; - endduration = DurationSTD.Value; + { + var dura = DurationSTD.Value; + decimal roundedDuration = Math.Round(dura, MidpointRounding.AwayFromZero); + + RoundedDuration = roundedDuration; + endduration = roundedDuration; } } @@ -2159,7 +2162,10 @@ namespace BeWo.ViewModel if (_DurationMonthYearGes != 0) { - RoundedDuration = DurationMonthYearGes.Value * 60; + var dura = DurationMonthYearGes.Value * 60; + decimal roundedDuration = Math.Round(dura, MidpointRounding.AwayFromZero); + + RoundedDuration = roundedDuration; } Date = StartDatetime; @@ -2188,15 +2194,24 @@ namespace BeWo.ViewModel decimal duration = 0; if (Duration.HasValue) - { + { duration = Duration.Value; } if (DurationInStunden == ZeiterfassungsDauer.Stunden) { - duration = duration * 60; - + var dura = duration * 60; + decimal roundedDuration = Math.Round(dura, MidpointRounding.AwayFromZero); + + duration = roundedDuration; + } + else + { + var dura = duration; + decimal roundedDuration = Math.Round(dura, MidpointRounding.AwayFromZero); + + duration = roundedDuration; } RoundedDuration = duration; @@ -2286,7 +2301,12 @@ namespace BeWo.ViewModel else _EndTime = _StartTime.Value.AddHours((double)duration); - FirePropertyChanged(PropertyName_EndTime); + if (_EndTime.Value.Second > 1) + { + _EndTime = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, 0); + } + + FirePropertyChanged(PropertyName_EndTime); } }