diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj
index a68b345e8..1d398b0bf 100644
--- a/BeWo/BeWo.csproj
+++ b/BeWo/BeWo.csproj
@@ -43,12 +43,12 @@
de-DE
BeWoPlaner
beyondSoft GmbH
- 2.0.1.194
+ 2.0.1.197
true
publish.htm
false
true
- 195
+ 198
2.0.1.%2a
false
true
diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs
index 0823c6862..06ecb73a2 100644
--- a/BeWo/BeWoApp.xaml.cs
+++ b/BeWo/BeWoApp.xaml.cs
@@ -239,7 +239,7 @@ namespace BeWo
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "SetStartTimeToEndTimeAfterSave");
AppSettings.SetStartTimeToEndTimeAfterSave = val != null && val.Equals("1");
-
+
val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "IsServiceRecordNoticeMandatory");
if (val != null && val.Equals("0"))
{
@@ -372,8 +372,8 @@ namespace BeWo
{
showDienstplanung = true;
}
-
- val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowMarker");
+
+ val = UserSettingsUtils.GetSettingValue(_Mandator.Settings, "ShowMarker");
if (val != null && val.Equals("1"))
{
showMarker = true;
diff --git a/BeWo/Core/BeWoUtils.cs b/BeWo/Core/BeWoUtils.cs
index 88981e246..edce76ea7 100644
--- a/BeWo/Core/BeWoUtils.cs
+++ b/BeWo/Core/BeWoUtils.cs
@@ -1681,50 +1681,6 @@ namespace BeWo.Core
dc.SupportConcept = scDc;
dc.CostBearer = cbDc;
- if(vm.ServiceRecordFormat != ServiceRecordFormate.ZeiterfassungMitMonatJahr && vm.Date.HasValue && vm.DateAndTime.HasValue && vm.StartDate.HasValue) {
-
- dc.Start = new DateTime(vm.Date.Value.Year,
- vm.Date.Value.Month,
- vm.Date.Value.Day,
- vm.StartTime == null ? vm.DateAndTime.Value.Hour : vm.StartDate.Value.Hour,
- vm.StartTime == null ? vm.DateAndTime.Value.Minute : vm.StartDate.Value.Minute,
- vm.StartTime == null ? vm.DateAndTime.Value.Second : vm.StartDate.Value.Second);
-
-
-
- if(vm.DurationInStunden == ZeiterfassungsDauer.Minuten)
- {
- if (vm.ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- dc.End = dc.Start.Value.AddMinutes(Convert.ToDouble(vm.DurationSTD));
- }
- else
- {
- dc.End = dc.Start.Value.AddMinutes(Convert.ToDouble(vm.Duration));
- }
- }
- else
- {
- if (vm.ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- dc.End = dc.Start.Value.AddHours(Convert.ToDouble(vm.DurationSTD));
- }
- else
- {
- dc.End = dc.Start.Value.AddHours(Convert.ToDouble(vm.Duration));
- }
- }
-
- }
- else
- {
- var dates = DateTime.Parse("1." + vm.OnlyMonth + vm.OnlyYear);
-
- var StartDatetime = new DateTime(dates.Year, dates.Month, 1, 0, 0, 0);
-
- dc.Start = StartDatetime;
- dc.End = StartDatetime.AddHours((double)vm.DurationMonthYearGes);
- }
if (relDc != null)
@@ -1740,8 +1696,6 @@ namespace BeWo.Core
if (BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowEditAfterMaxDaysInNextMonth))
maxdays = -1;
- var test = dc.Start;
- var test2 = vm.DateAndTime;
ServiceFacade.DoOperationsServiceSync(o => r = o.ValidateServiceRecord(dc, statistics, maxdays, employeeOids, cb2ScOids));
@@ -1755,12 +1709,12 @@ namespace BeWo.Core
switch (result.ResultType)
{
case ServiceRecordValidationResult.OutsideOfSupportConcept:
- MessageBox.Show("Das gewählte Datum '" + vm.DateAndTime.Value.ToShortDateString() + "' liegt außerhalb des Zeitraums des gewählten Hilfeplans (" + relDc.DateRangeString + ").\nDas Speichern ist nicht möglich.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
+ MessageBox.Show("Das gewählte Datum '" + vm.StartDate.ToShortDateString() + "' liegt außerhalb des Zeitraums des gewählten Hilfeplans (" + relDc.DateRangeString + ").\nDas Speichern ist nicht möglich.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
lValid = false;
exitLoop = true;
break;
case ServiceRecordValidationResult.OutOfEditLimit:
- MessageBox.Show("Sie können keine neuen Leistungen für den " + vm.DateAndTime.Value.ToShortDateString() + " dokumentieren, da bereits der " + BeWoApp.AppSettings.MaxDaysEditServiceRecordsAllowed + ". des nachfolgenden Monats überschritten ist.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
+ MessageBox.Show("Sie können keine neuen Leistungen für den " + vm.StartDate.ToShortDateString() + " dokumentieren, da bereits der " + BeWoApp.AppSettings.MaxDaysEditServiceRecordsAllowed + ". des nachfolgenden Monats überschritten ist.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
lValid = false;
exitLoop = true;
break;
@@ -1769,11 +1723,11 @@ namespace BeWo.Core
{
if (BeWoApp.AppSettings.AnzTageZeiterfassErfolgt == 1)
{
- MessageBox.Show("Sie können keine neuen Leistungen für den " + vm.DateAndTime.Value.ToShortDateString() + " dokumentieren, da die Zeiterfassung innerhalb von einem Tag erfolgen muss.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
+ MessageBox.Show("Sie können keine neuen Leistungen für den " + vm.StartDate.ToShortDateString() + " dokumentieren, da die Zeiterfassung innerhalb von einem Tag erfolgen muss.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
}
else
{
- MessageBox.Show("Sie können keine neuen Leistungen für den " + vm.DateAndTime.Value.ToShortDateString() + " dokumentieren, da die Zeiterfassung innerhalb von " + BeWoApp.AppSettings.AnzTageZeiterfassErfolgt + " Tagen erfolgen muss.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
+ MessageBox.Show("Sie können keine neuen Leistungen für den " + vm.StartDate.ToShortDateString() + " dokumentieren, da die Zeiterfassung innerhalb von " + BeWoApp.AppSettings.AnzTageZeiterfassErfolgt + " Tagen erfolgen muss.", "Speichern", MessageBoxButton.OK, MessageBoxImage.Information);
}
lValid = false;
@@ -1789,10 +1743,10 @@ namespace BeWo.Core
case ServiceRecordValidationResult.ServiceRecordOverlapping:
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreateOverlappingFLS))
{
- MessageBox.Show("An dem gewählten Datum '" + vm.DateAndTime.Value.ToShortDateString() + " " + vm.DateAndTime.Value.ToShortTimeString() + "' existiert bereits ein Eintrag (" + result.Message + " bei Klient/in " + result.CustomerName + ") .\nSpeichern nicht möglich.", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Information);
+ MessageBox.Show("An dem gewählten Datum '" + vm.StartDate.ToShortDateString() + " " + vm.StartDate.ToShortTimeString() + "' existiert bereits ein Eintrag (" + result.Message + " bei Klient/in " + result.CustomerName + ") .\nSpeichern nicht möglich.", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Information);
lValid = false;
}
- else if (MessageBox.Show("An dem gewählten Datum '" + vm.DateAndTime.Value.ToShortDateString() + " " + vm.DateAndTime.Value.ToShortTimeString() + "' existiert bereits ein Eintrag (" + result.Message + " bei Klient/in " + result.CustomerName + ").\nMöchten Sie trotzdem speichern?", "Speichern", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
+ else if (MessageBox.Show("An dem gewählten Datum '" + vm.StartDate.ToShortDateString() + " " + vm.StartDate.ToShortTimeString() + "' existiert bereits ein Eintrag (" + result.Message + " bei Klient/in " + result.CustomerName + ").\nMöchten Sie trotzdem speichern?", "Speichern", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
{
lValid = false;
exitLoop = true;
@@ -1802,10 +1756,10 @@ namespace BeWo.Core
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreateOverlappingFLSForEmployee))
{
- MessageBox.Show("An dem gewählten Datum '" + vm.DateAndTime.Value.ToShortDateString() + " " + vm.DateAndTime.Value.ToShortTimeString() + "' existiert bereits ein Eintrag von " + result.EmployeeName + "\n(" + result.Message + ").\nSpeichern nicht möglich.", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Information);
+ MessageBox.Show("An dem gewählten Datum '" + vm.StartDate.ToShortDateString() + " " + vm.StartDate.ToShortTimeString() + "' existiert bereits ein Eintrag von " + result.EmployeeName + "\n(" + result.Message + ").\nSpeichern nicht möglich.", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Information);
lValid = false;
}
- else if (MessageBox.Show("An dem gewählten Datum '" + vm.DateAndTime.Value.ToShortDateString() + " " + vm.DateAndTime.Value.ToShortTimeString() + "' existiert bereits ein Eintrag von " + result.EmployeeName + "\n(" + result.Message + ").\n\nMöchten Sie trotzdem speichern?", "Speichern", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
+ else if (MessageBox.Show("An dem gewählten Datum '" + vm.StartDate.ToShortDateString() + " " + vm.StartDate.ToShortTimeString() + "' existiert bereits ein Eintrag von " + result.EmployeeName + "\n(" + result.Message + ").\n\nMöchten Sie trotzdem speichern?", "Speichern", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
{
lValid = false;
exitLoop = true;
diff --git a/BeWo/LoginControl.xaml.cs b/BeWo/LoginControl.xaml.cs
index 22411cb58..a71c8f277 100644
--- a/BeWo/LoginControl.xaml.cs
+++ b/BeWo/LoginControl.xaml.cs
@@ -1395,13 +1395,17 @@ namespace BeWo
private void PinEinblenden()
{
- PINTextBox.Visibility = Visibility.Visible;
- lblPin.Visibility = Visibility.Visible;
+ if (PINTextBox.Visibility != Visibility.Visible)
+ {
+ PINTextBox.Visibility = Visibility.Visible;
+ lblPin.Visibility = Visibility.Visible;
- linkLine.Margin = new Thickness(linkLine.Margin.Left, linkLine.Margin.Top + 25, linkLine.Margin.Right, linkLine.Margin.Bottom);
- gridLogin.Height += 25;
+ linkLine.Margin = new Thickness(linkLine.Margin.Left, linkLine.Margin.Top + 25, linkLine.Margin.Right,
+ linkLine.Margin.Bottom);
+ gridLogin.Height += 25;
- PINTextBox.Focus();
+ PINTextBox.Focus();
+ }
}
}
diff --git a/BeWo/Scheduler/View/NewSchedulerView.xaml b/BeWo/Scheduler/View/NewSchedulerView.xaml
index 070ab0fbd..a758c8c81 100644
--- a/BeWo/Scheduler/View/NewSchedulerView.xaml
+++ b/BeWo/Scheduler/View/NewSchedulerView.xaml
@@ -594,7 +594,7 @@
-
+
diff --git a/BeWo/View/Detail/AccountingTransactionBookingView.xaml.cs b/BeWo/View/Detail/AccountingTransactionBookingView.xaml.cs
index 158b44428..2b8854707 100644
--- a/BeWo/View/Detail/AccountingTransactionBookingView.xaml.cs
+++ b/BeWo/View/Detail/AccountingTransactionBookingView.xaml.cs
@@ -449,6 +449,17 @@ namespace BeWo.View.Detail
if (lValid)
{
+ if (chkWithClient.IsChecked.HasValue && chkWithClient.IsChecked.Value)
+ {
+ if (ViewModel.SelectedCustomerNode == null || ViewModel.SelectedCustomerNode.SupportConceptTreeNodeDC == null)
+ {
+ MessageBox.Show(Translator.Translate("Bitte wählen Sie einen Hilfeplan aus."), "Speichern",
+ MessageBoxButton.OK, MessageBoxImage.Exclamation);
+ return;
+ }
+ }
+
+
var atvm = ViewModel.CreateFromPrototype();
ViewModel.AccountingTransactionVMList.Add(atvm);
diff --git a/BeWo/View/Detail/AdditionalServiceView.xaml b/BeWo/View/Detail/AdditionalServiceView.xaml
index ed68f2c6f..d6e9b9cbc 100644
--- a/BeWo/View/Detail/AdditionalServiceView.xaml
+++ b/BeWo/View/Detail/AdditionalServiceView.xaml
@@ -310,7 +310,7 @@
Height="23" Grid.Column="1" Grid.Row="1"
SelectionChanged="AngebotsComboboxChange" />
-
@@ -326,14 +326,14 @@
@@ -502,7 +502,7 @@
Height="23" />
@@ -512,11 +512,11 @@
diff --git a/BeWo/View/Detail/AdditionalServiceView.xaml.cs b/BeWo/View/Detail/AdditionalServiceView.xaml.cs
index 062f79ef9..06bea3b47 100644
--- a/BeWo/View/Detail/AdditionalServiceView.xaml.cs
+++ b/BeWo/View/Detail/AdditionalServiceView.xaml.cs
@@ -997,7 +997,7 @@ namespace BeWo.View.Detail
private void _ViewModel_ServiceRecordListChanged(object sender, EventArgs e)
{
- var list = _ViewModel.ServiceRecordsForSelectedCustomer.OrderByDescending(srVM => srVM.DateAndTime).ToList();
+ var list = _ViewModel.ServiceRecordsForSelectedCustomer.OrderByDescending(srVM => srVM.StartDate).ToList();
SrListBox.ItemsSource = list;
@@ -1254,7 +1254,7 @@ namespace BeWo.View.Detail
if (list != null)
{
- lContent.AddRange(list.Select(vm => new List {String.Format("{0:d}", (vm.StartTime != null && vm.StartTime.Value.Second == 0 ? vm.DateAndTime : vm.Date)), vm.AssistanceDuration.ToString(), vm.RoundedDuration.ToString(), vm.Employee != null ? vm.Employee.ToString() : string.Empty, vm.Customer != null ? vm.Customer.ToString() : string.Empty, vm.SupportConcept != null ? vm.SupportConcept.ToString() : string.Empty, vm.CostBearer != null ? vm.CostBearer.ToString() : string.Empty, vm.Category != null ? vm.Category.ToString() : string.Empty, vm.ServiceDescription != null ? vm.ServiceDescription.ToString() : string.Empty, vm.Notice}));
+ lContent.AddRange(list.Select(vm => new List {String.Format("{0:d}", vm.StartDate), vm.AssistanceDuration.ToString(), vm.RoundedDuration.ToString(), vm.Employee != null ? vm.Employee.ToString() : string.Empty, vm.Customer != null ? vm.Customer.ToString() : string.Empty, vm.SupportConcept != null ? vm.SupportConcept.ToString() : string.Empty, vm.CostBearer != null ? vm.CostBearer.ToString() : string.Empty, vm.Category != null ? vm.Category.ToString() : string.Empty, vm.ServiceDescription != null ? vm.ServiceDescription.ToString() : string.Empty, vm.Notice}));
}
var path = BeWoApp.GetAndCreateUserAppDataPath() + "\\Dokumentation.xls";
diff --git a/BeWo/View/Detail/AssessmentSheetEntryView.xaml.cs b/BeWo/View/Detail/AssessmentSheetEntryView.xaml.cs
index d3bda381c..d31a22b70 100644
--- a/BeWo/View/Detail/AssessmentSheetEntryView.xaml.cs
+++ b/BeWo/View/Detail/AssessmentSheetEntryView.xaml.cs
@@ -145,7 +145,7 @@ namespace BeWo.View.Detail
{
int day = int.Parse(column.Name.Replace("colDay", string.Empty));
- var list = this._ViewModel.ServiceRecords.Where(i => i.Date.Value.Day.Equals(day)).ToList();
+ var list = this._ViewModel.ServiceRecords.Where(i => i.StartDate.Day.Equals(day)).ToList();
ServiceRecordPopUp popUp = new ServiceRecordPopUp(list);
BeWoApp.MainControl.ShowControlAsModalPopup(popUp);
diff --git a/BeWo/View/Detail/ServiceRecordEditView.xaml b/BeWo/View/Detail/ServiceRecordEditView.xaml
index efe42527c..1caa7a58b 100644
--- a/BeWo/View/Detail/ServiceRecordEditView.xaml
+++ b/BeWo/View/Detail/ServiceRecordEditView.xaml
@@ -128,14 +128,14 @@
@@ -144,15 +144,15 @@
-
-
+
@@ -160,8 +160,8 @@
+ EditValue="{Binding Path=DauerEinheit, UpdateSourceTrigger=PropertyChanged}" DisplayMember="Value" ValueMember="Key"
+ IsTextEditable="False" x:Name="ComboBoxDauerEinheitOhneEndDatum" Visibility="Collapsed" SelectedIndexChanged="MinSTDOhneEnd_OnSelectedIndexChanged"/>
@@ -184,13 +184,13 @@
@@ -198,29 +198,29 @@
-
-
+
+ EditValue="{Binding Path=DauerEinheit, UpdateSourceTrigger=PropertyChanged}" DisplayMember="Value" ValueMember="Key"
+ IsTextEditable="False" x:Name="ComboBoxDauerEinheitMitEndDatum" Visibility="Collapsed" SelectedIndexChanged="MinSTDMitEnd_OnSelectedIndexChanged" />
diff --git a/BeWo/View/Detail/ServiceRecordEditView.xaml.cs b/BeWo/View/Detail/ServiceRecordEditView.xaml.cs
index 95526e3fe..94eaa7222 100644
--- a/BeWo/View/Detail/ServiceRecordEditView.xaml.cs
+++ b/BeWo/View/Detail/ServiceRecordEditView.xaml.cs
@@ -213,7 +213,7 @@ namespace BeWo.View.Detail
ConfigureDocTypes();
}
- IsEndDateVisible(pSCViewModel.ServiceRecordFormat, pSCViewModel.DurationInStunden.Value);
+ IsEndDateVisible(pSCViewModel.ServiceRecordFormat, pSCViewModel.DauerEinheit);
if (!pSCViewModel.EditAllowed)
{
@@ -305,38 +305,64 @@ namespace BeWo.View.Detail
//}
//else
//{
+
+
+ if (scv == ServiceRecordFormate.ZeiterfassungMitEndDatum) //Settings.IsEndDateVisible)
+ {
+ GridMitEnddatum.Visibility = Visibility.Visible;
+ GridOhneEnddatum.Visibility = Visibility.Collapsed;
+ //GridMitJahrMonat.Visibility = Visibility.Collapsed;
+
if (settings.IsZeiterfassungInStdMin || zsd == ZeiterfassungsDauer.Stunden)
{
- MinSTDOhneEnd.Visibility = Visibility.Visible;
- MinStdDauerLabel.SetValue(Grid.ColumnProperty, 0);
- numerictb_duration.SetValue(Grid.ColumnProperty, 1);
- MinStdDauerLabel.Content = "Dauer";
- MinStdDauerlbl.Content = "Dauer";
+ ComboBoxDauerEinheitMitEndDatum.Visibility = Visibility.Visible;
+
+ DauerLabelMitEndDatum.SetValue(Grid.ColumnProperty, 0);
+ DauerLabelMitEndDatum.Content = "Dauer";
+
+ SpinEditDurationMitEndDatum.SetValue(Grid.ColumnProperty, 1);
if (zsd == ZeiterfassungsDauer.Stunden)
{
- numerictb_duration.IsFloatValue = true;
- numerictb_duration.Mask = "########0.00";
+ SpinEditDurationMitEndDatum.IsFloatValue = true;
+ SpinEditDurationMitEndDatum.Mask = "########0.00";
}
else
{
- numerictb_duration.IsFloatValue = false;
- numerictb_duration.Mask = "########";
+ SpinEditDurationMitEndDatum.IsFloatValue = false;
+ SpinEditDurationMitEndDatum.Mask = "########0";
}
}
- if (scv == ServiceRecordFormate.ZeiterfassungMitEndDatum)//Settings.IsEndDateVisible)
+ }
+ else
+ {
+ GridOhneEnddatum.Visibility = Visibility.Visible;
+ GridMitEnddatum.Visibility = Visibility.Collapsed;
+ //GridMitJahrMonat.Visibility = Visibility.Collapsed;
+
+ if (settings.IsZeiterfassungInStdMin || zsd == ZeiterfassungsDauer.Stunden)
{
- GridMitEnddatum.Visibility = Visibility.Visible;
- GridOhneEnddatum.Visibility = Visibility.Collapsed;
- //GridMitJahrMonat.Visibility = Visibility.Collapsed;
- }
- else
- {
- GridOhneEnddatum.Visibility = Visibility.Visible;
- GridMitEnddatum.Visibility = Visibility.Collapsed;
- //GridMitJahrMonat.Visibility = Visibility.Collapsed;
+ ComboBoxDauerEinheitOhneEndDatum.Visibility = Visibility.Visible;
+
+ DauerLabelOhneEndDatum.SetValue(Grid.ColumnProperty, 0);
+ DauerLabelOhneEndDatum.Content = "Dauer";
+
+ SpinEditDurationOhneEndDatum.SetValue(Grid.ColumnProperty, 1);
+
+ if (zsd == ZeiterfassungsDauer.Stunden)
+ {
+ SpinEditDurationOhneEndDatum.IsFloatValue = true;
+ SpinEditDurationOhneEndDatum.Mask = "########0.00";
+ }
+ else
+ {
+ SpinEditDurationOhneEndDatum.IsFloatValue = false;
+ SpinEditDurationOhneEndDatum.Mask = "########0";
+ }
}
+
+ }
//}
}
@@ -483,7 +509,7 @@ namespace BeWo.View.Detail
// SetRTFDaten();
//}
- _ServiceRecordVM.RoundedDuration = _ServiceRecordVM.Duration.Value;
+ _ServiceRecordVM.RoundedDuration = _ServiceRecordVM.Duration;
if (_SelectedEmployee != null)
{
@@ -631,29 +657,29 @@ namespace BeWo.View.Detail
private void MinSTDOhneEnd_OnSelectedIndexChanged(object sender, RoutedEventArgs e)
{
- if (MinSTDOhneEnd.Text == ZeiterfassungsDauer.Minuten.ToString())
+ if (ComboBoxDauerEinheitOhneEndDatum.Text == ZeiterfassungsDauer.Minuten.ToString())
{
- numerictb_duration.IsFloatValue = false;
- numerictb_duration.Mask = "########";
+ SpinEditDurationOhneEndDatum.IsFloatValue = false;
+ SpinEditDurationOhneEndDatum.Mask = "########0";
}
else
{
- numerictb_duration.IsFloatValue = true;
- numerictb_duration.Mask = "########0.00";
+ SpinEditDurationOhneEndDatum.IsFloatValue = true;
+ SpinEditDurationOhneEndDatum.Mask = "########0.00";
}
}
private void MinSTDMitEnd_OnSelectedIndexChanged(object sender, RoutedEventArgs e)
{
- if (MinSTDMitEnd.Text == ZeiterfassungsDauer.Minuten.ToString())
+ if (ComboBoxDauerEinheitMitEndDatum.Text == ZeiterfassungsDauer.Minuten.ToString())
{
- numeric_duration.IsFloatValue = false;
- numeric_duration.Mask = "########";
+ SpinEditDurationMitEndDatum.IsFloatValue = false;
+ SpinEditDurationMitEndDatum.Mask = "########0";
}
else
{
- numeric_duration.IsFloatValue = true;
- numeric_duration.Mask = "########0.00";
+ SpinEditDurationMitEndDatum.IsFloatValue = true;
+ SpinEditDurationMitEndDatum.Mask = "########0.00";
}
}
diff --git a/BeWo/View/Detail/ServiceRecordGroupEditView.xaml b/BeWo/View/Detail/ServiceRecordGroupEditView.xaml
index 4df9ad53a..6c4948082 100644
--- a/BeWo/View/Detail/ServiceRecordGroupEditView.xaml
+++ b/BeWo/View/Detail/ServiceRecordGroupEditView.xaml
@@ -67,8 +67,8 @@
-
-
+
+
@@ -107,9 +107,9 @@
-
+
-
+
@@ -122,13 +122,13 @@
@@ -136,19 +136,19 @@
-
@@ -169,13 +169,13 @@
@@ -183,25 +183,25 @@
-
diff --git a/BeWo/View/Detail/ServiceRecordGroupEditView.xaml.cs b/BeWo/View/Detail/ServiceRecordGroupEditView.xaml.cs
index 62ce07edc..e3468339f 100644
--- a/BeWo/View/Detail/ServiceRecordGroupEditView.xaml.cs
+++ b/BeWo/View/Detail/ServiceRecordGroupEditView.xaml.cs
@@ -154,7 +154,7 @@ namespace BeWo.View.Detail
InitSelectionList();
- ConfigureServiceRecordFormats(pSelectedViewModel.ServiceRecordFormat,pSelectedViewModel.DurationInStunden.Value);
+ ConfigureServiceRecordFormats(pSelectedViewModel.ServiceRecordFormat,pSelectedViewModel.DauerEinheit);
if (!pSelectedViewModel.EditAllowed)
{
@@ -367,17 +367,13 @@ namespace BeWo.View.Detail
decimal duration;
- if(_ServiceRecordVM.ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- duration = _ServiceRecordVM.DurationSTD.Value;
- }
- else if(_ServiceRecordVM.ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitMonatJahr)
+ if(_ServiceRecordVM.ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitMonatJahr)
{
duration = _ServiceRecordVM.DurationMonthYearGes.Value;
}
else
{
- duration = _ServiceRecordVM.Duration.Value;
+ duration = _ServiceRecordVM.Duration;
}
var lRoundedDuration = duration;
@@ -872,10 +868,6 @@ namespace BeWo.View.Detail
GridOhneEnddatum.Visibility = Visibility.Collapsed;
//GridMitJahrMonat.Visibility = Visibility.Collapsed;
-
- numerictb_distance.SetValue(WidthProperty, (double)49);
- numerictb_distance.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Right);
-
// ein Bereich für istSTDMin gestzt abfrage | auch wenn setting nicht gesetzt sobald anzeigen falls Duration in Stunden gesetzt.
if (settings.IsZeiterfassungInStdMin || zsd == ZeiterfassungsDauer.Stunden)
{
@@ -891,7 +883,7 @@ namespace BeWo.View.Detail
else
{
numeric_duration.IsFloatValue = false;
- numeric_duration.Mask = "########";
+ numeric_duration.Mask = "########0";
}
}
}
@@ -930,7 +922,7 @@ namespace BeWo.View.Detail
else
{
numerictb_duration.IsFloatValue = false;
- numerictb_duration.Mask = "########";
+ numerictb_duration.Mask = "########0";
}
}
@@ -942,7 +934,7 @@ namespace BeWo.View.Detail
if (MinSTDMitEnd.Text == ZeiterfassungsDauer.Minuten.ToString())
{
numeric_duration.IsFloatValue = false;
- numeric_duration.Mask = "########";
+ numeric_duration.Mask = "########0";
}
else
{
@@ -956,7 +948,7 @@ namespace BeWo.View.Detail
if (MinSTDOhneEnd.Text == ZeiterfassungsDauer.Minuten.ToString())
{
numerictb_duration.IsFloatValue = false;
- numerictb_duration.Mask = "########";
+ numerictb_duration.Mask = "########0";
}
else
{
diff --git a/BeWo/View/Detail/ServiceRecordView2.xaml b/BeWo/View/Detail/ServiceRecordView2.xaml
index 423facec1..14a4a1cbb 100644
--- a/BeWo/View/Detail/ServiceRecordView2.xaml
+++ b/BeWo/View/Detail/ServiceRecordView2.xaml
@@ -701,13 +701,13 @@
@@ -715,25 +715,25 @@
-
@@ -755,14 +755,14 @@
@@ -771,7 +771,7 @@
@@ -779,14 +779,14 @@
-
@@ -1230,7 +1230,7 @@
-
+
@@ -1240,7 +1240,7 @@
-
+
@@ -1250,7 +1250,7 @@
-
+
@@ -1282,7 +1282,7 @@
-
+
@@ -1336,7 +1336,7 @@
-
+
diff --git a/BeWo/View/Detail/ServiceRecordView2.xaml.cs b/BeWo/View/Detail/ServiceRecordView2.xaml.cs
index f626a6433..e61e1fc09 100644
--- a/BeWo/View/Detail/ServiceRecordView2.xaml.cs
+++ b/BeWo/View/Detail/ServiceRecordView2.xaml.cs
@@ -383,7 +383,7 @@ namespace BeWo.View.Detail
else
{
numeric_duration.IsFloatValue = false;
- numeric_duration.Mask = "########";
+ numeric_duration.Mask = "########0";
}
}
@@ -413,19 +413,19 @@ namespace BeWo.View.Detail
MinSTDOhneEnd.Visibility = Visibility.Visible;
MinStdDauerLabel.SetValue(Grid.ColumnProperty, 0);
- numerictb_duration.SetValue(Grid.ColumnProperty, 1);
+ SpinEditDurationOhneEnddatum.SetValue(Grid.ColumnProperty, 1);
MinStdDauerLabel.Content = "Dauer";
MinStdDauerlbl.Content = "Dauer";
if (MinSTDOhneEnd.Text == ZeiterfassungsDauer.Stunden.ToString())
{
- numerictb_duration.IsFloatValue = true;
- numerictb_duration.Mask = "########0.00";
+ SpinEditDurationOhneEnddatum.IsFloatValue = true;
+ SpinEditDurationOhneEnddatum.Mask = "########0.00";
}
else
{
- numerictb_duration.IsFloatValue = false;
- numerictb_duration.Mask = "########";
+ SpinEditDurationOhneEnddatum.IsFloatValue = false;
+ SpinEditDurationOhneEnddatum.Mask = "########0";
}
}
@@ -1411,7 +1411,12 @@ namespace BeWo.View.Detail
if (BeWoApp.AppSettings.SetStartTimeToEndTimeAfterSave)
{
- ViewModel.PrototypeVM.StartTimeEditString = ViewModel.PrototypeVM.EndTimeEditString;
+ if (!String.IsNullOrEmpty(ViewModel.PrototypeVM.EndTimeString))
+ {
+ var oldDuration = ViewModel.PrototypeVM.Duration;
+ ViewModel.PrototypeVM.StartTimeString = ViewModel.PrototypeVM.EndTimeString;
+ ViewModel.PrototypeVM.Duration = oldDuration;
+ }
}
}
@@ -1609,8 +1614,8 @@ namespace BeWo.View.Detail
{
CustomerCount = personCount,
EmployeeCount = employeeCount,
- StartDate = prototypeVM.StartTime,
- EndDate = prototypeVM.EndTime,
+ StartDate = prototypeVM.StartDate,
+ EndDate = prototypeVM.EndDate,
Notice = prototypeVM.Notice
};
@@ -1950,8 +1955,7 @@ namespace BeWo.View.Detail
private void ViewModel_ServiceRecordListChanged(object sender, EventArgs e)
{
- var list = _ViewModel.ServiceRecordsForSelectedCustomer.OrderByDescending(srVM => srVM.DateAndTime)
- .ToList();
+ var list = _ViewModel.ServiceRecordsForSelectedCustomer.OrderByDescending(srVM => srVM.StartDate).ToList();
bool containsMinutenFormat = false;
bool containsStundenFormat = false;
@@ -1964,7 +1968,7 @@ namespace BeWo.View.Detail
a.DeleteAllowed = false;
a.Notice = string.Empty;
}
- if (a.DurationInStunden.HasValue && a.DurationInStunden.Value == ZeiterfassungsDauer.Stunden)
+ if (a.DauerEinheit == ZeiterfassungsDauer.Stunden)
{
containsStundenFormat = true;
}
@@ -2496,18 +2500,17 @@ namespace BeWo.View.Detail
if (BeWoApp.AppSettings.IsEndDateVisible)
{
- row.Add(String.Format("{0:dd.MM.yyyy}", vm.StartTime));
+ row.Add(String.Format("{0:dd.MM.yyyy}", vm.StartDate));
row.Add(String.Format("{0:dd.MM.yyyy}", vm.EndDate));
}
else
{
- row.Add(String.Format("{0:dd.MM.yyyy}", vm.Date));
+ row.Add(String.Format("{0:dd.MM.yyyy}", vm.StartDate));
}
- row.Add(String.Format("{0:HH:mm}",
- vm.StartTime != null && vm.StartTime.Value.Second == 0 ? vm.StartTime : null));
- row.Add(String.Format("{0:HH:mm}",
- vm.EndTime != null && vm.EndTime.Value.Second == 0 ? vm.EndTime : null));
+ row.Add(vm.StartDate.Second == 0 ? String.Format("{0:HH:mm}", vm.StartDate) : "");
+ row.Add(vm.EndDate.Second == 0 ? String.Format("{0:HH:mm}", vm.EndDate) : "");
+
row.Add(vm.AssistanceDuration.ToString());
row.Add(vm.RoundedDuration.ToString());
if (BeWoApp.AppSettings.ShowDistanceFields)
@@ -3268,9 +3271,9 @@ namespace BeWo.View.Detail
var sr = ViewModel.ServiceRecordsForSelectedCustomer;
- var earliestStartDate = sr.Any() ? sr.OrderBy(o => o.StartDate).First().StartDate.Value : DateTime.Now;
+ var earliestStartDate = sr.Any() ? sr.OrderBy(o => o.StartDate).First().StartDate : DateTime.Now;
var latestEndDate = sr.Any()
- ? sr.OrderByDescending(o => o.EndDate).First().EndDate.Value
+ ? sr.OrderByDescending(o => o.EndDate).First().EndDate
: DateTime.Now.AddSeconds(1);
if (latestEndDate.Hour == 0 && latestEndDate.Minute == 0 && latestEndDate.Second == 1)
@@ -4432,16 +4435,16 @@ namespace BeWo.View.Detail
//{
if (MinSTDOhneEnd.Text == ZeiterfassungsDauer.Minuten.ToString())
{
- numerictb_duration.IsFloatValue = false;
- numerictb_duration.Mask = "########";
+ SpinEditDurationOhneEnddatum.IsFloatValue = false;
+ SpinEditDurationOhneEnddatum.Mask = "########0";
BeWoApp.AppSettings.LetzteZeiterfassungsDauer = ZeiterfassungsDauer.Minuten;
BeWoApp.SaveAppSettings();
}
else
{
- numerictb_duration.IsFloatValue = true;
- numerictb_duration.Mask = "########0.00";
+ SpinEditDurationOhneEnddatum.IsFloatValue = true;
+ SpinEditDurationOhneEnddatum.Mask = "########0.00";
BeWoApp.AppSettings.LetzteZeiterfassungsDauer = ZeiterfassungsDauer.Stunden;
BeWoApp.SaveAppSettings();
@@ -4454,7 +4457,7 @@ namespace BeWo.View.Detail
if (MinSTDMitEnd.Text == ZeiterfassungsDauer.Minuten.ToString())
{
numeric_duration.IsFloatValue = false;
- numeric_duration.Mask = "########";
+ numeric_duration.Mask = "########0";
BeWoApp.AppSettings.LetzteZeiterfassungsDauer = ZeiterfassungsDauer.Minuten;
BeWoApp.SaveAppSettings();
diff --git a/BeWo/View/Report/Rating/RatingReportView.xaml b/BeWo/View/Report/Rating/RatingReportView.xaml
index e27c8095d..227201c07 100644
--- a/BeWo/View/Report/Rating/RatingReportView.xaml
+++ b/BeWo/View/Report/Rating/RatingReportView.xaml
@@ -73,7 +73,9 @@
-
+
+
+
diff --git a/BeWo/ViewModel/ListViewModel/AssessmentSheetEntryListVM.cs b/BeWo/ViewModel/ListViewModel/AssessmentSheetEntryListVM.cs
index 4df36efb9..d600ee9d7 100644
--- a/BeWo/ViewModel/ListViewModel/AssessmentSheetEntryListVM.cs
+++ b/BeWo/ViewModel/ListViewModel/AssessmentSheetEntryListVM.cs
@@ -38,7 +38,7 @@ namespace BeWo.ViewModel.ListViewModel
public List GetServiceRecordsForDate(DateTime date)
{
if (ServiceRecords != null)
- return ServiceRecords.Where(i => i.Date.Value.Date.Equals(date)).ToList();
+ return ServiceRecords.Where(i => i.StartDate.Date.Equals(date)).ToList();
return new List();
}
}
diff --git a/BeWo/ViewModel/ListViewModel/ServiceRecordListVM.cs b/BeWo/ViewModel/ListViewModel/ServiceRecordListVM.cs
index e7e8a19b5..7047d2bbc 100644
--- a/BeWo/ViewModel/ListViewModel/ServiceRecordListVM.cs
+++ b/BeWo/ViewModel/ListViewModel/ServiceRecordListVM.cs
@@ -429,7 +429,7 @@ namespace BeWo.ViewModel.ListViewModel
if (_PrototypeVM == null)
{
_PrototypeVM = NewVM;
- _PrototypeVM.DurationInStunden = BeWoApp.AppSettings.LetzteZeiterfassungsDauer;
+ _PrototypeVM.DauerEinheit = BeWoApp.AppSettings.LetzteZeiterfassungsDauer;
_PrototypeVM.PropertyChanged += (s, e) =>
{
if (e.PropertyName.Equals(ServiceRecordVM.PropertyName_Duration))
@@ -498,7 +498,7 @@ namespace BeWo.ViewModel.ListViewModel
protected override Comparison Comparison
{
- get { return (x, y) => y.Date.Value.CompareTo(x.Date.Value); }
+ get { return (x, y) => y.StartDate.CompareTo(x.StartDate); }
}
private DateTime? enddate;
@@ -521,42 +521,24 @@ namespace BeWo.ViewModel.ListViewModel
{
ServiceRecordVM lNewRecord = CreateNewVM();
- enddate = lNewRecord.EndTime;
+ enddate = lNewRecord.EndDate;
lNewRecord.ChoosenNode = iCustomerNode;
- if (_PrototypeVM.Duration == 0)
- {
- if (_PrototypeVM.StartDate.HasValue && enddate.HasValue)
- {
- var minutes = enddate.Value.Subtract(_PrototypeVM.StartDate.Value).TotalMinutes;
+ //if (_PrototypeVM.Duration == 0)
+ //{
+ // var minutes = enddate.Value.Subtract(_PrototypeVM.StartDate).TotalMinutes;
- _PrototypeVM.Duration = (decimal)minutes;
-
- }
- }
+ // _PrototypeVM.Duration = (decimal)minutes;
+ //}
- lNewRecord.Duration = _PrototypeVM.Duration / _CustomerNodes.Count;
+ //lNewRecord.Duration = _PrototypeVM.Duration / _CustomerNodes.Count;
- if(lNewRecord.Duration.HasValue)
- {
- lNewRecord.RoundedDuration = lNewRecord.Duration.Value;
- }
-
- if(iCustomerNode.SupportConceptTreeNodeDC != null && lNewRecord.ServiceDescription != null && lNewRecord.ServiceDescription.Category != null && lNewRecord.ServiceDescription.Category.IsBillable && iCustomerNode.SupportConceptTreeNodeDC.CostBearer != null)
- {
- var minuteInterval = iCustomerNode.SupportConceptTreeNodeDC.CostBearer.ActualMinuteIntervall;
+ //if(lNewRecord.Duration.HasValue)
+ //{
+ // lNewRecord.RoundedDuration = lNewRecord.Duration.Value;
+ //}
- if (minuteInterval > 0)
- {
- //Calculations calc = Calculations.GetInstance(iCustomerNode.SupportConceptTreeNodeDC.CostBearer.CostBearerID);
- //decimal lRoudedDuration = calc.GetRoundedDuration(minuteInterval, _PrototypeVM.Duration ?? 0);
-
- //lNewRecord.RoundedDuration = lRoudedDuration/_CustomerNodes.Count;
- }
- }
-
- lNewRecord.EndTime = enddate;
lResult.Add(lNewRecord);
}
@@ -1426,7 +1408,7 @@ namespace BeWo.ViewModel.ListViewModel
List atList =
GetAbsencesTimeForDate(
iCustomerNode.SupportConceptTreeNodeDC.SupportConceptCostBearerRelDC,
- PrototypeVM.StartDate.Value);
+ PrototypeVM.StartDate);
if (atList != null && atList.Count > 0)
{
IsCustomerWarningActive = true;
@@ -1456,7 +1438,7 @@ namespace BeWo.ViewModel.ListViewModel
IEnumerable lAbsenceWeeks = atCurrent.AbsenceSpan.GetWholeWeeks();
foreach (DateTimeSpan lAbsenceWeek in lAbsenceWeeks)
{
- if (PrototypeVM.StartDate.Value.InBetween(lAbsenceWeek, true))
+ if (PrototypeVM.StartDate.InBetween(lAbsenceWeek, true))
{
week = lAbsenceWeek;
}
@@ -1479,9 +1461,9 @@ namespace BeWo.ViewModel.ListViewModel
sr.Customer.Equals(iCustomerNode.SupportConceptTreeNodeDC.Customer) &&
sr.ServiceDescription != null &&
sr.ServiceDescription.Category.IsBillable &&
- sr.Date.Value.InBetween(week, true) &&
- sr.StartDate.Value.Date != start &&
- sr.StartDate.Value.Date != end)
+ sr.StartDate.InBetween(week, true) &&
+ sr.StartDate.Date != start &&
+ sr.StartDate.Date != end)
.Sum(sr => sr.RoundedDuration);
//decimal lNewFLMInAbsenceWeek = CalculateDurationSum(iCustomerNode);
@@ -1524,17 +1506,11 @@ namespace BeWo.ViewModel.ListViewModel
{
ServiceRecordVM lNewRecord = _PrototypeVM.Clone();
- //if (lNewRecord.EndTime == null || (lNewRecord.StartDate.Value.Date == lNewRecord.EndTime.Value.Date))
- //{
- //lNewRecord.Date = _PrototypeVM.Dat.Value.GetInSameCalendarWeek(pDay);
- //lNewRecord.Duration = _PrototypeVM.Duration;
- //}
-
- lNewRecord.Date = _PrototypeVM.Date;
- lNewRecord.Duration = _PrototypeVM.Duration;
+ //lNewRecord.Date = _PrototypeVM.Date;
+ //lNewRecord.Duration = _PrototypeVM.Duration;
- if (_PrototypeVM.Duration.HasValue)
- lNewRecord.RoundedDuration = _PrototypeVM.Duration.Value;
+ //if (_PrototypeVM.Duration.HasValue)
+ //lNewRecord.RoundedDuration = _PrototypeVM.Duration.Value;
lNewRecord.SetInsertedOn(DateTime.Now);
lNewRecord.InsUser = BeWoApp.LoggedOnUser.Employee.FirstName + " " + BeWoApp.LoggedOnUser.Employee.LastName;
diff --git a/BeWo/ViewModel/ServiceRecordVM.cs b/BeWo/ViewModel/ServiceRecordVM.cs
index 45f0a996a..eef27fd76 100644
--- a/BeWo/ViewModel/ServiceRecordVM.cs
+++ b/BeWo/ViewModel/ServiceRecordVM.cs
@@ -16,6 +16,8 @@ using BS.Shared.DataContracts;
using BS.Shared.DataContracts.ClientPartials;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
+using DevExpress.Xpf.Editors.Helpers;
+using DevExpress.XtraEditors.Filtering.Templates;
using Brush = System.Windows.Media.Brush;
using Brushes = System.Windows.Media.Brushes;
using Color = System.Windows.Media.Color;
@@ -30,22 +32,16 @@ namespace BeWo.ViewModel
public static string PropertyName_Category2Services = "Category2Services";
- public static string PropertyName_SortedCategories = "SortedCategories";
+ public static string PropertyName_SortedCategories = "SortedCategories";
public static string PropertyName_CostBearer = "CostBearer";
public static string PropertyName_Customer = "Customer";
- public static string PropertyName_Date = "Date";
-
- public static string PropertyName_EditableEndDate = "EditableEndDate";
-
public static string PropertyName_Duration = "Duration";
public static string PropertyName_Employee = "Employee";
- public static string PropertyName_EndTime = "EndTimeEditString";
-
public static string PropertyName_GoalTree = "GoalTree";
public static string PropertyName_GroupEmployeeCount = "GroupEmployeeCount";
@@ -59,9 +55,9 @@ namespace BeWo.ViewModel
public static string PropertyName_Notice = "Notice";
public static string PropertyName_Notice2 = "Notice2";
-
+
public static string PropertyName_Notice3 = "Notice3";
-
+
public static string PropertyName_Notice4 = "Notice4";
public static string PropertyName_Notice5 = "Notice5";
@@ -90,8 +86,6 @@ namespace BeWo.ViewModel
public static string PropertyName_ServiceDescription = "ServiceDescription";
- public static string PropertyName_StartTime = "StartTimeEditString";
-
public static string PropertyName_SupportConcept = "SupportConcept";
public static string PropertyName_ServiceRecordType = "ServiceRecordType";
@@ -100,9 +94,9 @@ namespace BeWo.ViewModel
public static string PropertyName_IsServiceRecordTypeContent = "IsServiceRecordTypeContent";
- public static string PropertyName_DistanceInMeter = "DistanceInMeter";
+ public static string PropertyName_DistanceInMeter = "DistanceInMeter";
- public static string PropertyName_DurationInStunden = "DurationInStunden";
+ public static string PropertyName_DauerEinheit = "DauerEinheit";
public static string PropertyName_ServiceRecordFormat = "ServiceRecordFormat";
@@ -110,14 +104,18 @@ namespace BeWo.ViewModel
public static string PropertyName_OnlyYear = "OnlyYear";
- public static string PropertyName_DurationSTD = "DurationSTD";
-
- public static string PropertyName_EndDate = "EndDate";
-
public static string PropertyName_DurationMonthYearGes = "DurationMonthYearGes";
public static string PropertyName_Betrag = "Betrag";
+ public static string PropertyName_EditStartDate = "EditStartDate";
+
+ public static string PropertyName_EditEndDate = "EditEndDate";
+
+ public static string PropertyName_StartTimeString = "StartTimeString";
+
+ public static string PropertyName_EndTimeString = "EndTimeString";
+
private static readonly DateTime NULL_TIME = new DateTime(2000, 1, 1, 0, 0, 1);
private static BitmapImage haekchenBitmapImage = null;
@@ -138,24 +136,14 @@ namespace BeWo.ViewModel
private CompactCustomerDC _Customer;
- private DateTime? _Date;
-
- private DateTime? _EndDate;
-
private bool _DeleteAllowed = true;
- private decimal? _Duration;
-
- private decimal? _DurationSTD;
+ private decimal _Duration;
private bool _EditAllowed = true;
private CompactEmployeeDC _Employee;
- private DateTime? _EndTime;
-
- private DateTime? _EditableEndDate;
-
private List _GoalTree;
private int? _GroupEmployeeCount;
@@ -175,11 +163,11 @@ namespace BeWo.ViewModel
private string _Notice;
private string _Notice2;
-
+
private string _Notice3;
-
+
private string _Notice4;
-
+
private string _Notice5;
private string _RTFNotice;
@@ -200,19 +188,17 @@ namespace BeWo.ViewModel
private ServiceDescriptionDC _ServiceDescription;
- private DateTime? _StartTime;
-
private CompactSupportConceptDC _SupportConcept;
private ServiceRecordTypeId _ServiceRecordType = ServiceRecordTypeId.DefaultActivity;
public List _ServiceAccountings;
- private int? _DistanceInMeter;
+ private int? _DistanceInMeter;
- private ZeiterfassungsDauer? _DurationInStunden;
+ private ZeiterfassungsDauer _DauerEinheit = ZeiterfassungsDauer.Minuten;
- private ServiceRecordFormate? _ServiceRecordFormat;
+ private ServiceRecordFormate _ServiceRecordFormat;
private string _OnlyMonth;
@@ -220,11 +206,24 @@ namespace BeWo.ViewModel
private decimal? _DurationMonthYearGes;
- private bool _isUnterschrift;
+ private DateTime? _StartDate;
- private string _IsFloatGesetzt = "False";
+ private DateTime? _EndDate;
- private string[] _MonateBinden = {"Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"};
+ private DateTime? _EditStartDate;
+
+ private DateTime? _EditEndDate;
+
+ private string _StartTimeString;
+
+ private string _EndTimeString;
+
+
+ private string[] _MonateBinden =
+ {
+ "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November",
+ "Dezember"
+ };
#endregion
@@ -233,8 +232,6 @@ namespace BeWo.ViewModel
public ServiceRecordVM()
{
DataContract = new ServiceRecordDC {Notice = ""};
- if (_DurationSTD == null)
- _DurationSTD = 0;
if (_Duration == null)
_Duration = 0;
}
@@ -246,12 +243,9 @@ namespace BeWo.ViewModel
List pAllGoals)
: base(pDC, pDC.ServiceRecordOid == null)
{
- //_DurationInStunden = BeWoApp.AppSettings.LetzteZeiterfassungsDauer;
_Category2Services = pCategory2Services;
ChangeGoalTree(pAllGoalCategories, pAllGoals);
- if (_DurationSTD == null)
- _DurationSTD = 0;
if (_Duration == null)
_Duration = 0;
}
@@ -262,20 +256,21 @@ namespace BeWo.ViewModel
public override bool IsDirty
{
- get { return base.IsDirty || !SameRatingChecked(SelectedGoals, this.DataContract.Goals); }
+ get { return base.IsDirty || !SameRatingChecked(SelectedGoals, this.DataContract.Goals); }
}
public int? DistanceInMeter
{
- get { return _DistanceInMeter; }
+ get { return _DistanceInMeter; }
set
{
- if (AreDifferent(_DistanceInMeter, value))
+ if (AreDifferent(_DistanceInMeter, value))
{
- _DistanceInMeter = value;
- StoreDirtyInformation(AreDifferent(DataContract.DistanceInMeter, value), PropertyName_DistanceInMeter);
- FirePropertyChanged(PropertyName_DistanceInMeter);
+ _DistanceInMeter = value;
+ StoreDirtyInformation(AreDifferent(DataContract.DistanceInMeter, value),
+ PropertyName_DistanceInMeter);
+ FirePropertyChanged(PropertyName_DistanceInMeter);
}
}
}
@@ -291,7 +286,7 @@ namespace BeWo.ViewModel
if (_Duration != null)
{
- return Duration.Value;
+ return Duration;
}
return 0;
@@ -309,8 +304,8 @@ namespace BeWo.ViewModel
}
return brush ?? Brushes.White;
- }
}
+ }
public String CategoryString
{
@@ -321,36 +316,36 @@ namespace BeWo.ViewModel
{
get { return _ServiceDescription != null ? _ServiceDescription.ToString() : null; }
}
-
- public List AllGoalCategories
+
+ public List AllGoalCategories
{
- get { return _AllGoalCategories; }
+ get { return _AllGoalCategories; }
set { _AllGoalCategories = value; }
}
- public List AllGoals
- {
- get { return _AllGoals; }
+ public List AllGoals
+ {
+ get { return _AllGoals; }
- set { _AllGoals = value; }
- }
+ set { _AllGoals = value; }
+ }
- public ServiceCategoryDC Category
- {
- get { return _Category; }
+ public ServiceCategoryDC Category
+ {
+ get { return _Category; }
- set
- {
- if (AreDifferent(_Category, value))
- {
- _Category = value;
- ServiceDescription = null;
- FirePropertyChanged(PropertyName_Category);
- FirePropertyChanged(PropertyName_PossibleServiceDescriptions);
- }
- }
- }
+ set
+ {
+ if (AreDifferent(_Category, value))
+ {
+ _Category = value;
+ ServiceDescription = null;
+ FirePropertyChanged(PropertyName_Category);
+ FirePropertyChanged(PropertyName_PossibleServiceDescriptions);
+ }
+ }
+ }
public Dictionary> Category2Services
{
@@ -359,18 +354,18 @@ namespace BeWo.ViewModel
{
_Category2Services = value;
FirePropertyChanged(PropertyName_Category2Services);
- FirePropertyChanged(PropertyName_SortedCategories);
- FirePropertyChanged(PropertyName_PossibleServiceDescriptions);
+ FirePropertyChanged(PropertyName_SortedCategories);
+ FirePropertyChanged(PropertyName_PossibleServiceDescriptions);
}
}
- public IList SortedCategories
- {
- get
- {
+ public IList SortedCategories
+ {
+ get
+ {
return Category2Services != null ? Category2Services.Keys.OrderBy(cat => cat.Position).ToList() : null;
- }
- }
+ }
+ }
public FlatSupportConceptTreeNodeDC ChoosenNode
{
@@ -389,17 +384,17 @@ namespace BeWo.ViewModel
Employee = value.SupportConceptTreeNodeDC.Employee;
}
- Customer = value.SupportConceptTreeNodeDC.Customer;
+ Customer = value.SupportConceptTreeNodeDC.Customer;
SupportConcept = value.SupportConceptTreeNodeDC.SupportConcept;
- CostBearer = value.SupportConceptTreeNodeDC.CostBearer;
+ CostBearer = value.SupportConceptTreeNodeDC.CostBearer;
}
}
else
{
- Employee = null;
- Customer = null;
+ Employee = null;
+ Customer = null;
SupportConcept = null;
- CostBearer = null;
+ CostBearer = null;
}
}
}
@@ -436,203 +431,442 @@ namespace BeWo.ViewModel
}
}
- [Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
- public DateTime? Date
+ public DateTime StartDate
{
- get { return _Date; }
-
- set
+ get
{
- if (AreDifferent(_Date, value))
+ var date = _EditStartDate ?? DateTime.Now.Date;
+
+ if (!String.IsNullOrEmpty(_StartTimeString))
{
- _Date = value;
+ String dtStr = String.Format("{0:dd.MM.yyyy} {1}", date, _StartTimeString);
+ DateTime dt;
-
- if (BeWoApp.AppSettings.IsEndDateVisible && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- if (value.HasValue && EditableEndDate.HasValue)
- {
- if (value.Value.Date > EditableEndDate.Value.Date)
- {
- _EditableEndDate = new DateTime(value.Value.Year, value.Value.Month, value.Value.Day, EditableEndDate.Value.Hour, EditableEndDate.Value.Minute, EditableEndDate.Value.Second);
- //_EditableEndDate = Date;
- }
-
- }
-
- var realDate = value;
- if (!StartTime.HasValue)
- {
- if (realDate.Value.Second == 0)
- {
- realDate = realDate.Value.AddSeconds(1);
- }
- }
- else
- {
- if (value.HasValue)
- {
- realDate = new DateTime(value.Value.Year, value.Value.Month, value.Value.Day, StartTime.Value.Hour, StartTime.Value.Minute, StartTime.Value.Second);
- }
-
-
- }
- var x = _EditableEndDate.Value.Subtract(realDate.Value);
-
- if (_DurationInStunden == ZeiterfassungsDauer.Minuten)
- {
- _DurationSTD = (decimal)x.TotalMinutes;
- }else{
- _DurationSTD = (decimal)x.TotalHours;
- }
-
-
- FirePropertyChanged(PropertyName_DurationSTD);
- TimeCheckForDurationSTD();
- }
+ if (DateTime.TryParse(dtStr, out dt))
+ _StartDate = dt;
else
- {
- TimeCheck();
- }
-
- FirePropertyChanged(PropertyName_Date);
- }
- }
- }
-
- public DateTime? DateAndTime
- {
- get
- {
- var date = _Date;
- var time = _StartTime;
-
-
-
- // beim addend er zeit / dadurch das dateTime und Startime gleich sind werden diese zusammen gerechnet und das löst den fehler aus.
- //also inprinzip nur date zurück geben und kuken was danach passiert
-
- // dadurch das eine neuentwicklung stattgefunden hat, scheint dieser bereich nicht mehr nötig zu sein
- if (date != null && time != null)
- {
- if(date.Value.Second != time.Value.Second)
- date = date.Value.AddSeconds(time.Value.Second);
-
- time = new DateTime(date.Value.Year,date.Value.Month,date.Value.Day,time.Value.Hour,time.Value.Minute,time.Value.Second);
- }
-
- return time; // date
- }
- }
-
- public DateTime? StartDate
- {
- get { return DateAndTime; }
- }
-
- public DateTime? StartMinutes
- {
- get { return StartDate.HasValue && StartDate.Value.Second == 0 ? StartDate : null; }
- }
-
- public DateTime? EndMinutes
- {
- get { return EndDate.HasValue && EndDate.Value.Second == 0 ? EndDate : null; }
- }
-
- public DateTime? EndDate
- {
- get
- {
- if(_EndDate == null){
- var dt = DateAndTime;
- if (dt.HasValue)
- {
- if (_StartTime != null)
- {
- var timeDt = _StartTime.Value;
-
- if (_DurationInStunden == ZeiterfassungsDauer.Minuten)
- {
- if (GroupOid != null && GroupRoundedDuration != null)
- {
- dt = timeDt.AddMinutes((double)GroupRoundedDuration);
- }
- else
- {
-
- dt = timeDt.AddMinutes((double)RoundedDuration);
- }
- }
- else
- {
-
- if (GroupOid != null && GroupRoundedDuration != null)
- {
- var x = GroupRoundedDuration/60;
- dt = timeDt.AddHours((double)x /*(double)GroupRoundedDuration*/);
- }
- else
- {
- var x = RoundedDuration / 60;
- dt = timeDt.AddHours((double)x /*(double)RoundedDuration*/);
- }
- }
-
- }
- }
-
- return dt;
+ _StartDate = date.Date.AddSeconds(1);
}
else
{
- return _EndDate;
+ _StartDate = date.Date.AddSeconds(1);
+ }
+
+ return _StartDate.Value;
+ }
+ }
+
+ public DateTime EndDate
+ {
+ get
+ {
+ var date = _EditEndDate ?? DateTime.Now.Date;
+
+ if (!String.IsNullOrEmpty(_EndTimeString))
+ {
+ String dtStr = String.Format("{0:dd.MM.yyyy} {1}", date, _EndTimeString);
+ DateTime dt;
+
+ if (DateTime.TryParse(dtStr, out dt))
+ _EndDate = dt;
+ else
+ _EndDate = date.Date.Date.AddSeconds(1);
+ }
+ else
+ {
+ if (date.Second == 0)
+ {
+ date = date.AddSeconds(1);
+ }
+ _EndDate = date;
+ }
+
+ return _EndDate.Value;
+ }
+ }
+
+ public DateTime RoundedEndDate
+ {
+ get
+ {
+ var date = StartDate;
+ if (this.GroupRoundedDuration.HasValue)
+ {
+ return date.AddMinutes((double)GroupRoundedDuration);
+ }
+ return date.AddMinutes((double)RoundedDuration);
+ }
+ }
+
+ public DateTime? StartMinutes
+ {
+ get
+ {
+ if (StartDate.Second == 0)
+ {
+ return StartDate;
+ }
+ return null;
+ }
+ }
+
+ public DateTime? RoundedEndMinutes
+ {
+ get
+ {
+ if (RoundedEndDate.Second == 0)
+ {
+ return RoundedEndDate;
+ }
+
+ return null;
+ }
+ }
+
+ public DateTime? EditStartDate
+ {
+ get { return _EditStartDate; }
+
+ set
+ {
+ if (AreDifferent(_EditStartDate, value))
+ {
+ _EditStartDate = value;
+
+
+ if (_EditStartDate.HasValue)
+ {
+ var newEnddate = _EditStartDate.Value.Date;
+
+ if (BeWoApp.AppSettings.IsEndDateVisible || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
+ {
+ if (!EditEndDate.HasValue || value.Value.Date > EditEndDate.Value.Date)
+ {
+ _EditEndDate = new DateTime(value.Value.Year, value.Value.Month, value.Value.Day, newEnddate.Hour, newEnddate.Minute, newEnddate.Second);
+
+ FirePropertyChanged(PropertyName_EditEndDate);
+ }
+ }
+ else
+ {
+ _EditEndDate = _EditStartDate;
+ if (Duration > 0)
+ {
+ if (DauerEinheit == ZeiterfassungsDauer.Minuten)
+ _EditEndDate = _EditStartDate.Value.Date.AddMinutes((double)Duration);
+ else
+ _EditEndDate = _EditStartDate.Value.Date.AddHours((double)Duration);
+
+ }
+
+ if (String.IsNullOrEmpty(_EndTimeString) && _EditEndDate.Value.Second == 0)
+ {
+ _EditEndDate = _EditEndDate.Value.AddSeconds(1);
+ }
+ FirePropertyChanged(PropertyName_EditEndDate);
+ }
+
+ }
+
+
+
+ StoreDirtyInformation(!AreEqual(DataContract.Start, EditStartDate), PropertyName_EditStartDate);
+ FirePropertyChanged(PropertyName_EditStartDate);
+ UpdateDurationAfterDateChange();
}
}
+ }
+
+ public DateTime? EditEndDate
+ {
+ get { return _EditEndDate; }
set
{
- if (AreDifferent(_EndDate, value))
+ if (AreDifferent(_EditEndDate, value))
{
- _EndDate = value;
+ _EditEndDate = value;
+ if (BeWoApp.AppSettings.IsEndDateVisible ||
+ ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
+ {
+ if (_EditEndDate.HasValue)
+ {
+ var newStartdate = _EditEndDate.Value.Date;
+ if (EditStartDate.HasValue)
+ {
+ newStartdate = EditStartDate.Value;
+ }
- FirePropertyChanged(PropertyName_EndDate);
+ if (!EditStartDate.HasValue || value.Value.Date < EditStartDate.Value.Date)
+ {
+ _EditStartDate = new DateTime(value.Value.Year, value.Value.Month, value.Value.Day,
+ newStartdate.Hour, newStartdate.Minute, newStartdate.Second);
+
+ FirePropertyChanged(PropertyName_EditStartDate);
+ }
+
+ }
+ }
+
+ StoreDirtyInformation(!AreEqual(DataContract.End, EditEndDate), PropertyName_EditEndDate);
+ FirePropertyChanged(PropertyName_EditEndDate);
+ UpdateDurationAfterDateChange();
}
}
}
+ public String StartTimeString
+ {
+ get { return _StartTimeString; }
+
+ set
+ {
+ String newTime = value;
+
+ //if (!String.IsNullOrEmpty(newTime) && String.IsNullOrEmpty(EndTimeString))
+ //{
+ // _StartTimeString = newTime;
+ // FirePropertyChanged(PropertyName_StartTimeString);
+ // return;
+ //}
+
+
+ if (!String.IsNullOrEmpty(newTime))
+ {
+ var dtStr = String.Format("{0:dd.MM.yyyy} {1}", DateTime.Now.Date, newTime);
+ DateTime dt;
+ if (DateTime.TryParse(dtStr, out dt))
+ {
+ newTime = String.Format("{0:HH:mm}", dt);
+ }
+ }
+
+ if (AreDifferent(_StartTimeString, newTime))
+ {
+ _StartTimeString = newTime;
+
+ StoreDirtyInformation(!AreEqual(String.Format("{0:HH:mm}", DataContract.Start), value), PropertyName_StartTimeString);
+ FirePropertyChanged(PropertyName_StartTimeString);
+ CheckEndDateAfterStartDateChange();
+ UpdateDurationAfterDateChange();
+ }
+
+
+ }
+ }
+
+ private void CheckEndDateAfterStartDateChange()
+ {
+ if (!String.IsNullOrEmpty(StartTimeString) && String.IsNullOrEmpty(EndTimeString))
+ {
+ var endTimeString = StartTimeString;
+
+ if (Duration > 0)
+ {
+ UpdateEndTimeStringAfterDurationChange();
+ //var dtStr = String.Format("{0:dd.MM.yyyy} {1}", DateTime.Now.Date, endTimeString);
+ //DateTime dt;
+ //if (DateTime.TryParse(dtStr, out dt))
+ //{
+
+
+ // endTimeString = String.Format("{0:HH:mm}", dt);
+ //}
+
+
+ }
+ else
+ {
+ EndTimeString = endTimeString;
+ }
+
+ }
+ else if (!String.IsNullOrEmpty(StartTimeString) && !String.IsNullOrEmpty(EndTimeString))
+ {
+ if (StartDate > EndDate)
+ {
+ EndTimeString = StartTimeString;
+ EditEndDate = EditStartDate;
+ }
+ }
+ else if (String.IsNullOrEmpty(StartTimeString) && !String.IsNullOrEmpty(EndTimeString))
+ {
+ _EndTimeString = "";
+ if (DauerEinheit == ZeiterfassungsDauer.Minuten)
+ EditEndDate = StartDate.Date.AddMinutes((double) Duration).AddSeconds(1);
+ else
+ EditEndDate = StartDate.Date.AddHours((double) Duration).AddSeconds(1);
+ FirePropertyChanged(PropertyName_EndTimeString);
+ }
+ else if (String.IsNullOrEmpty(StartTimeString) && String.IsNullOrEmpty(EndTimeString))
+ {
+ if (DauerEinheit == ZeiterfassungsDauer.Minuten)
+ EditEndDate = StartDate.Date.AddMinutes((double)Duration).AddSeconds(1);
+ else
+ EditEndDate = StartDate.Date.AddHours((double)Duration).AddSeconds(1);
+ }
+ }
+
+ public String EndTimeString
+ {
+ get { return _EndTimeString; }
+
+ set
+ {
+ String newTime = value;
+
+ if (String.IsNullOrEmpty(newTime) && !String.IsNullOrEmpty(StartTimeString))
+ {
+ _EndTimeString = newTime;
+ FirePropertyChanged(PropertyName_EndTimeString);
+ return;
+ }
+ if (!String.IsNullOrEmpty(newTime))
+ {
+ var dtStr = String.Format("{0:dd.MM.yyyy} {1}", DateTime.Now.Date, newTime);
+ DateTime dt;
+ if (DateTime.TryParse(dtStr, out dt))
+ {
+ newTime = String.Format("{0:HH:mm}", dt);
+ }
+ }
+
+ if (AreDifferent(_EndTimeString, newTime))
+ {
+ _EndTimeString = newTime;
+ StoreDirtyInformation(!AreEqual(String.Format("{0:HH:mm}", DataContract.End), value), PropertyName_EndTimeString);
+ FirePropertyChanged(PropertyName_EndTimeString);
+ CheckStartDateAfterEndDateChange();
+ UpdateDurationAfterDateChange();
+ UpdateEndDateWithDuration();
+ }
+
+
+ }
+ }
+
+ private void CheckStartDateAfterEndDateChange()
+ {
+ if (!String.IsNullOrEmpty(EndTimeString) && String.IsNullOrEmpty(StartTimeString))
+ {
+ StartTimeString = EndTimeString;
+ }
+ else if (!String.IsNullOrEmpty(StartTimeString) && !String.IsNullOrEmpty(EndTimeString))
+ {
+ if (StartDate > EndDate)
+ {
+ StartTimeString = EndTimeString;
+ EditEndDate = EditStartDate;
+ }
+ }
+ else if (!String.IsNullOrEmpty(StartTimeString) && String.IsNullOrEmpty(EndTimeString))
+ {
+
+ //_StartTimeString = "";
+ UpdateEndDateWithDuration();
+ FirePropertyChanged(PropertyName_StartTimeString);
+ }
+ }
+
+ private void UpdateEndDateWithDuration()
+ {
+ DateTime newEndDate = DateTime.MinValue;
+ if (Duration > 0)
+ {
+ if (String.IsNullOrEmpty(StartTimeString))
+ {
+ newEndDate = StartDate.Date;
+ }
+ else
+ {
+ newEndDate = StartDate;
+ }
+
+ if (DauerEinheit == ZeiterfassungsDauer.Minuten)
+ newEndDate = newEndDate.AddMinutes((double)Duration);
+ else
+ newEndDate = newEndDate.AddHours((double)Duration);
+
+ if (String.IsNullOrEmpty(_EndTimeString) && newEndDate.Second == 0)
+ {
+ newEndDate = newEndDate.AddSeconds(1);
+ }
+
+ EditEndDate = newEndDate;
+
+ }
+ else
+ {
+ EditEndDate = EditStartDate;
+ }
+ }
+
+ private void UpdateDurationAfterDateChange()
+ {
+ var x = EndDate.Subtract(StartDate);
+ decimal newDuration = 0;
+ if (DauerEinheit == ZeiterfassungsDauer.Minuten)
+ {
+ newDuration = (decimal) x.TotalMinutes;
+ }
+ else
+ {
+ newDuration = (decimal) x.TotalHours;
+ }
+
+ if (_Duration != newDuration)
+ {
+ _Duration = newDuration;
+ FirePropertyChanged(PropertyName_Duration);
+ }
+ }
+
+ private void UpdateEndTimeStringAfterDurationChange()
+ {
+ var date = StartDate;
+
+ if (DauerEinheit == ZeiterfassungsDauer.Minuten)
+ _EditEndDate = date.AddMinutes((double)_Duration);
+ else
+ _EditEndDate = date.AddHours((double)_Duration);
+
+ FirePropertyChanged(PropertyName_EditEndDate);
+
+ if (!String.IsNullOrEmpty(EndTimeString) || StartDate.Second == 0)
+ {
+ _EndTimeString = String.Format("{0:HH:mm}", _EditEndDate);
+ FirePropertyChanged(PropertyName_EndTimeString);
+ }
+
+ }
+
public String Id
{
get { return String.Format("{0}", DataContract.ServiceRecordOid); }
}
- [Validation(ValidationRule = ValidationRules.GreaterThanOrEqualZero)]
- public decimal? Duration
+ [Validation(ValidationRule = ValidationRules.GreaterThanOrEqualZero)]
+ public decimal Duration
{
get
{
- if (_Duration == null )
- {
- return 0;
- }else{
- return _Duration;
- }
+ return _Duration;
}
set
- {
+ {
if (AreDifferent(_Duration, value))
{
_Duration = value;
- TimeCheck();
-
- FirePropertyChanged(PropertyName_Duration);
+ UpdateEndTimeStringAfterDurationChange();
+ StoreDirtyInformation(!AreEqual(String.Format("{0:HH:mm}", DataContract.End), EndTimeString), PropertyName_EndTimeString);
+ FirePropertyChanged(PropertyName_Duration);
FirePropertyChanged(PropertyName_RoundedDuration);
-
- }
+
+ }
}
}
@@ -647,30 +881,34 @@ namespace BeWo.ViewModel
{
rd = rd * Category.Percentage / 100;
}
-
+
//if(_ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum) {
// var strResult = _GroupOid != null ? string.Format("{0} ({0})", rd) : $"{DurationSTD} ({rd})";
// return strResult;
//}
-
+
if (_ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitMonatJahr)
{
- var strResult = _GroupOid != null ? string.Format("{0:0.##} ({0:0.##})", rd) : $"{DurationMonthYearGes} ({rd})";
+ var strResult = _GroupOid != null
+ ? string.Format("{0:0.##} ({0:0.##})", rd)
+ : $"{DurationMonthYearGes} ({rd})";
return strResult;
}
-
- if (DurationInStunden.HasValue && DurationInStunden.Value == ZeiterfassungsDauer.Stunden)
+
+ if (DauerEinheit == ZeiterfassungsDauer.Stunden)
{
- return _GroupOid != null ? string.Format("{0:0.##} ({0:0.##})", rd / 60) : $"{DurationSTD:0.##} ({rd / 60:0.##})";
+ return _GroupOid != null
+ ? string.Format("{0:0.##} ({0:0.##})", rd / 60)
+ : $"{Duration:0.##} ({rd / 60:0.##})";
}
return _GroupOid != null ? $"{rd} ({rd})" : $"{Duration} ({rd})";
}
}
-
+
public bool EditAllowed
{
get
@@ -696,46 +934,44 @@ namespace BeWo.ViewModel
{
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowEditAfterMaxDaysInNextMonth))
{
- if (Date != null)
+ var dt = new DateTime(StartDate.Year, StartDate.Month, 1);
+ dt = dt.AddMonths(1);
+ dt = dt.AddDays(BeWoApp.AppSettings.MaxDaysEditServiceRecordsAllowed);
+ if (DateTime.Now >= dt)
{
- var dt = new DateTime(Date.Value.Year, Date.Value.Month, 1);
- dt = dt.AddMonths(1);
- dt = dt.AddDays(BeWoApp.AppSettings.MaxDaysEditServiceRecordsAllowed);
- if (DateTime.Now >= dt)
- {
- allowed = false;
- }
+ allowed = false;
}
}
}
- if (allowed && !BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowEditForOtherEmployees))
- {
+ if (allowed && !BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowEditForOtherEmployees))
+ {
if (BeWoApp.LoggedOnEmployee.EmployeeOid != Employee.EmployeeOid)
- allowed = false;
- }
- if (allowed && GroupOid.HasValue)
- {
- if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreatingGroupBooking))
- {
- allowed = false;
- }
- }
- if (allowed && BeWoApp.AppSettings.AnzTageZeiterfassErfolgt > 0)
- {
- if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecordAllowEditAfterMindays))
- {
- if (Date != null)
- {
- var dt = new DateTime(Date.Value.Year, Date.Value.Month, Date.Value.Day);
- dt = dt.AddDays(BeWoApp.AppSettings.AnzTageZeiterfassErfolgt + 1);
- if (DateTime.Now >= dt)
- {
- allowed = false;
- }
- }
- }
- }
+ allowed = false;
+ }
+
+ if (allowed && GroupOid.HasValue)
+ {
+ if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreatingGroupBooking))
+ {
+ allowed = false;
+ }
+ }
+
+ if (allowed && BeWoApp.AppSettings.AnzTageZeiterfassErfolgt > 0)
+ {
+ if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecordAllowEditAfterMindays))
+ {
+
+ var dt = new DateTime(StartDate.Year, StartDate.Month, StartDate.Day);
+ dt = dt.AddDays(BeWoApp.AppSettings.AnzTageZeiterfassErfolgt + 1);
+ if (DateTime.Now >= dt)
+ {
+ allowed = false;
+ }
+ }
+ }
+
return _EditAllowed && allowed;
}
@@ -766,9 +1002,9 @@ namespace BeWo.ViewModel
{
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowEditAfterMaxDaysInNextMonth))
{
- if (Date != null)
+ if (StartDate != null)
{
- var dt = new DateTime(Date.Value.Year, Date.Value.Month, 1);
+ var dt = new DateTime(StartDate.Year, StartDate.Month, 1);
dt = dt.AddMonths(1);
dt = dt.AddDays(BeWoApp.AppSettings.MaxDaysEditServiceRecordsAllowed);
if (DateTime.Now >= dt)
@@ -778,33 +1014,37 @@ namespace BeWo.ViewModel
}
}
}
- if (allowed && BeWoApp.AppSettings.AnzTageZeiterfassErfolgt > 0)
- {
- if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecordAllowEditAfterMindays))
- {
- if (Date != null)
- {
- var dt = new DateTime(Date.Value.Year, Date.Value.Month, Date.Value.Day);
- dt = dt.AddDays(BeWoApp.AppSettings.AnzTageZeiterfassErfolgt + 1);
- if (DateTime.Now >= dt)
- {
- allowed = false;
- }
- }
- }
- }
- if (allowed && !BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowEditForOtherEmployees))
- {
+
+ if (allowed && BeWoApp.AppSettings.AnzTageZeiterfassErfolgt > 0)
+ {
+ if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecordAllowEditAfterMindays))
+ {
+ if (StartDate != null)
+ {
+ var dt = new DateTime(StartDate.Year, StartDate.Month, StartDate.Day);
+ dt = dt.AddDays(BeWoApp.AppSettings.AnzTageZeiterfassErfolgt + 1);
+ if (DateTime.Now >= dt)
+ {
+ allowed = false;
+ }
+ }
+ }
+ }
+
+ if (allowed && !BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowEditForOtherEmployees))
+ {
if (BeWoApp.LoggedOnEmployee.EmployeeOid != Employee.EmployeeOid)
- allowed = false;
- }
- if (allowed && GroupOid.HasValue)
- {
- if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreatingGroupBooking))
- {
- allowed = false;
- }
- }
+ allowed = false;
+ }
+
+ if (allowed && GroupOid.HasValue)
+ {
+ if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_AllowCreatingGroupBooking))
+ {
+ allowed = false;
+ }
+ }
+
return _DeleteAllowed && allowed;
}
@@ -812,9 +1052,9 @@ namespace BeWo.ViewModel
}
public static bool IsHistoryAllowed
- {
+ {
get { return BeWoApp.LoggedOnUser.HasRight(UserRightType.ServiceRecord_ShowHistory); }
- }
+ }
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public CompactEmployeeDC Employee
@@ -841,216 +1081,11 @@ namespace BeWo.ViewModel
{
return _Employee.FirstName + " " + _Employee.LastName;
}
- return string.Empty;
- }
- }
- public String EndTimeEditString
- {
- get
- {
- if (_EndTime == null || _EndTime.Value.Second != 0)
- {
- return null;
- }
- return String.Format("{0:HH:mm}", _EndTime);
- }
-
- set
- {
- if (String.IsNullOrEmpty(value))
- EndTime = null;
- else
- {
- if (BeWoApp.AppSettings.IsEndDateVisible && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- DateTime? endTime = EditableEndDate;
-
- String dtStr = String.Format("{0:dd.MM.yyyy} {1}", endTime, value);
- DateTime dt;
-
- if (DateTime.TryParse(dtStr, out dt))
- EndTime = dt;
- else
- EndTime = null;
- }
- else
- {
- DateTime? endTime = EndTime;
- if (!endTime.HasValue)
- endTime = EndDate;
- if (!endTime.HasValue)
- endTime = DateTime.Now;
-
- String dtStr = String.Format("{0:dd.MM.yyyy} {1}", endTime, value);
- DateTime dt;
-
- if (DateTime.TryParse(dtStr, out dt))
- EndTime = dt;
- else
- EndTime = null;
- }
- }
- }
- }
-
- public DateTime? EditableEndDate
- {
- get {
-
- if (BeWoApp.AppSettings.IsEndDateVisible && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
-
- //var x = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, _EditableEndDate.Value.Hour, _EditableEndDate.Value.Minute,0);
-
-
- return _EditableEndDate;
- // return x;
- }else{
- return null;
- }
- }
-
- set
- {
-
- if (BeWoApp.AppSettings.IsEndDateVisible && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- if (AreDifferent(_EditableEndDate, value))
- {
- if (value.HasValue && DateAndTime.HasValue)
- {
- if (value.Value.Date < DateAndTime.Value.Date)
- {
- _Date = new DateTime(value.Value.Year, value.Value.Month, value.Value.Day, DateAndTime.Value.Hour, DateAndTime.Value.Minute, DateAndTime.Value.Second);
- //_EditableEndDate = Date;
- }
-
- _EditableEndDate = value;
-
- }
-
- if (DateAndTime.HasValue)
- {
- var x = _EditableEndDate.Value.Subtract(DateAndTime.Value);
-
- if (_DurationInStunden == ZeiterfassungsDauer.Minuten)
- {
- _DurationSTD = (decimal) x.TotalMinutes;
- }
- else
- {
- _DurationSTD = (decimal) x.TotalHours;
- }
- }
-
- TimeCheckForDurationSTD();
- FirePropertyChanged(PropertyName_EditableEndDate);
- FirePropertyChanged(PropertyName_DurationSTD);
-
- }
- }
- }
- }
-
- public DateTime? EndTime
- {
- get {
-
- if (BeWoApp.AppSettings.IsEndDateVisible && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- if (!_EndTime.HasValue )
- return DateTime.Now.Date;
- else
- return _EndTime;
- }
- else
- return _EndTime;
- }
-
- set
- {
- bool cont = (_EndTime == null && value != null) || (_EndTime != null && value == null) || (_EndTime != null && _EndTime.Value.TimeOfDay != value.Value.TimeOfDay);
-
- if (cont)
- {
- if (value != null)
- {
- Console.WriteLine("Change EndTime " + value.Value.ToShortTimeString());
- }
-
- _EndTime = value;
-
- if (_EndTime != null)
- {
- if (BeWoApp.AppSettings.IsEndDateVisible && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- //if (_StartTime.Value.Date == null)
- //{
- // StartTime = new DateTime(StartTime.Value.Year, StartTime.Value.Month, StartTime.Value.Day, StartTime.Value.Hour, 0, 0);
- //}
- if (StartTime != null)
- {
- _StartTime = new DateTime(Date.Value.Year, Date.Value.Month, Date.Value.Day, StartTime.Value.Hour,
- StartTime.Value.Minute, StartTime.Value.Second);
- }
- else
- {
- _StartTime = new DateTime(Date.Value.Year, Date.Value.Month, Date.Value.Day, 0, 0, 1);
- }
-
- var diff = _EndTime.Value.Subtract(_StartTime.Value);
-
- if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
- {
- _DurationSTD = (decimal)diff.TotalHours;
- }
- else
- {
- _DurationSTD = (decimal)diff.TotalMinutes;
- }
-
- TimeCheckForDurationSTD();
- FirePropertyChanged(PropertyName_DurationSTD);
-
- }
- else
- {
- if (_StartTime.Value.Second != 0)
- {
- StartTime = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour, 0, 0);
- }
-
- var start = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, StartTime.Value.Hour, StartTime.Value.Minute, 0);
-
-
- if (start.TimeOfDay > _EndTime.Value.TimeOfDay)
- {
- _EndTime = _EndTime.Value.AddDays(1);
- }
-
- var diff = _EndTime.Value.Subtract(start);
-
-
- if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
- {
- _Duration = (decimal)diff.TotalHours;
- }
- else
- {
- _Duration = (decimal)diff.TotalMinutes;
- }
-
- TimeCheck();
- FirePropertyChanged(PropertyName_Duration);
- }
- }
-
- FirePropertyChanged(PropertyName_EndTime);
- }
-
+ return string.Empty;
}
}
+
public List GoalTree
{
@@ -1093,7 +1128,7 @@ namespace BeWo.ViewModel
set { _SignatureOid = value; }
}
- public ImageSource IsUnterschrift
+ public ImageSource HatUnterschriftImage
{
get
{
@@ -1110,7 +1145,6 @@ namespace BeWo.ViewModel
return null;
}
}
- //set { _isUnterschrift = value; }
}
private BitmapImage CreateImage(String path)
@@ -1197,80 +1231,69 @@ namespace BeWo.ViewModel
string endtime = string.Empty;
- if (_StartTime != null)
+ var timeDt = StartDate;
+
+ if (timeDt.Second == 0)
{
- var timeDt = _StartTime.Value;
+ time = timeDt.ToShortTimeString();
- if (timeDt.Second == 0)
+
+ if (DauerEinheit == ZeiterfassungsDauer.Stunden)
{
- time = timeDt.ToShortTimeString();
-
-
- if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
+ if (GroupOid != null && GroupRoundedDuration != null)
{
- if (GroupOid != null && GroupRoundedDuration != null)
- {
- timeDt = timeDt.AddMinutes((double)GroupRoundedDuration);
- }
- else
- {
- timeDt = timeDt.AddMinutes((double)RoundedDuration);
- }
+ timeDt = timeDt.AddMinutes((double)GroupRoundedDuration);
}
else
{
- if (GroupOid != null && GroupRoundedDuration != null)
- {
- timeDt = timeDt.AddMinutes((double)GroupRoundedDuration);
- }
- else
- {
- timeDt = timeDt.AddMinutes((double)RoundedDuration);
- }
+ timeDt = timeDt.AddMinutes((double)RoundedDuration);
}
+ }
+ else
+ {
+ if (GroupOid != null && GroupRoundedDuration != null)
+ {
+ timeDt = timeDt.AddMinutes((double)GroupRoundedDuration);
+ }
+ else
+ {
+ timeDt = timeDt.AddMinutes((double)RoundedDuration);
+ }
+ }
- endtime = timeDt.ToShortTimeString();
+ endtime = timeDt.ToShortTimeString();
- //time = time + " - " + timeDt.ToShortTimeString();
- }
+ //time = time + " - " + timeDt.ToShortTimeString();
}
-
-
- if (_Date != null)
+
+
+ if (endtime.Equals("") && time.Equals(""))
{
-
- if (endtime.Equals("") && time.Equals(""))
+ date = DateTimeFormatInfo.CurrentInfo.GetAbbreviatedDayName(StartDate.DayOfWeek) + ", " + StartDate.ToShortDateString();
+ }
+ else {
+
+ if (EndDate.Date != StartDate.Date)
{
- date = DateTimeFormatInfo.CurrentInfo.GetAbbreviatedDayName(_Date.Value.DayOfWeek) + ", " + _Date.Value.ToShortDateString();
- }
- else {
- if (_EditableEndDate.HasValue) {
- if (_EditableEndDate.Value.Date != _Date.Value.Date)
- {
- time = StartTime.Value.TimeOfDay.ToString();
- endtime = _EditableEndDate.Value.TimeOfDay.ToString();
+ time = StartDate.TimeOfDay.ToString();
+ endtime = EndDate.TimeOfDay.ToString();
- date = DateTimeFormatInfo.CurrentInfo.GetAbbreviatedDayName(_Date.Value.DayOfWeek) + ", " + _Date.Value.ToShortDateString() + " " + time + " - " + _EditableEndDate.Value.ToShortDateString() + " " + endtime;
- }
- else
- {
- time = time + " - " + endtime;
- date = DateTimeFormatInfo.CurrentInfo.GetAbbreviatedDayName(_Date.Value.DayOfWeek) + ", " + _Date.Value.ToShortDateString() + " " + time;
- }
- }
- else
- {
- time = time + " - " + endtime;
- date = DateTimeFormatInfo.CurrentInfo.GetAbbreviatedDayName(_Date.Value.DayOfWeek) + ", " + _Date.Value.ToShortDateString() + " " + time;
- }
+ date = DateTimeFormatInfo.CurrentInfo.GetAbbreviatedDayName(StartDate.DayOfWeek) + ", " + StartDate.ToShortDateString() + " " + time + " - " + EndDate.ToShortDateString() + " " + endtime;
}
- }
+ else
+ {
+ time = time + " - " + endtime;
+ date = DateTimeFormatInfo.CurrentInfo.GetAbbreviatedDayName(StartDate.DayOfWeek) + ", " + StartDate.ToShortDateString() + " " + time;
+ }
+
+ }
+
//date += " " + time;
if (GroupOid != null && GroupPersonCount != null && GroupRoundedDuration != null)
{
- if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
+ if (DauerEinheit == ZeiterfassungsDauer.Stunden)
{
date += " Gruppe (" + GroupPersonCount.Value + " Teilnehmer, " + GroupEmployeeCount.Value +
" Betreuer). Dauer: " +
@@ -1470,7 +1493,7 @@ namespace BeWo.ViewModel
{
get
{
- if (_ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitMonatJahr || (DurationInStunden.HasValue && DurationInStunden.Value == ZeiterfassungsDauer.Stunden))
+ if (_ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitMonatJahr || DauerEinheit == ZeiterfassungsDauer.Stunden)
{
return _RoundedDuration/60;
}
@@ -1647,20 +1670,6 @@ namespace BeWo.ViewModel
}
}
- public string ShortDateString
- {
- get
- {
- var date = string.Empty;
-
- if (_Date != null)
- {
- date = _Date.Value.ToShortDateString();
- }
-
- return date;
- }
- }
public string ShortNotice
{
@@ -1677,198 +1686,125 @@ namespace BeWo.ViewModel
}
}
- public string ShortTimeString
- {
- get
- {
- var str = string.Empty;
+
- if (_StartTime != null && _StartTime.Value.Second == 0)
- {
- str = _StartTime.Value.ToShortTimeString();
- }
+ //public DateTime? StartTime
+ //{
+ // get
+ // {
+ // if(_StartTime != null)
+ // return _StartTime.Value.Second != 0 ? null : _StartTime;
+ // else
+ // {
+ // return new DateTime();
+ // }
+ // }
- return str;
- }
- }
+ // set
+ // {
+ // DateTime? newStartTime = value ?? NULL_TIME;
- public String StartTimeEditString
- {
- get
- {
- if (_StartTime == null || _StartTime.Value.Second != 0)
- {
- return null;
- }
+ // Console.WriteLine("Change StartTime " + newStartTime.Value.ToShortTimeString());
+ // if ((_StartTime == null && newStartTime != NULL_TIME) ||
+ // (_StartTime != null && _StartTime.Value.TimeOfDay != newStartTime.Value.TimeOfDay))
+ // {
+ // _StartTime = newStartTime;
- return String.Format("{0:HH:mm}", _StartTime);
- }
+ // if (_StartTime.Value.Second == 0)
+ // {
+ // if (_EndTime == null && Duration.HasValue)
+ // {
+ // if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
+ // {
+ // _EndTime = _StartTime.Value.AddHours((int)Duration.Value);
+ // }
+ // else
+ // {
+ // _EndTime = _StartTime.Value.AddMinutes((int)Duration.Value);
+ // }
- set
- {
- if (String.IsNullOrEmpty(value))
- StartTime = null;
- else
- {
- var startTime = StartTime;
+ // }
- if (!startTime.HasValue)
- {
- startTime = StartDate;
- }
+ // if (_EndTime != null)
+ // {
+ // var end = new DateTime(_StartTime.Value.Year, _StartTime.Value.Month, _StartTime.Value.Day,
+ // _EndTime.Value.Hour, _EndTime.Value.Minute, 0);
- if (!startTime.HasValue)
- {
- startTime = DateTime.Now;
- }
+ // if (_EndTime.Value.Second > 0 && Duration.HasValue)
+ // {
+ // end = new DateTime(_StartTime.Value.Year, _StartTime.Value.Month, _StartTime.Value.Day,
+ // _StartTime.Value.Hour, _StartTime.Value.Minute, 0);
- var dtStr = String.Format("{0:dd.MM.yyyy} {1}", startTime, value);
- DateTime dt;
- if (DateTime.TryParse(dtStr, out dt))
- {
- StartTime = dt;
- }
- else
- {
- StartTime = null;
- }
- }
- }
- }
-
- public DateTime? StartTime
- {
- get
- {
- if(_StartTime != null)
- return _StartTime.Value.Second != 0 ? null : _StartTime;
- else
- {
- return new DateTime();
- }
- }
-
- set
- {
- DateTime? newStartTime = value ?? NULL_TIME;
-
- Console.WriteLine("Change StartTime " + newStartTime.Value.ToShortTimeString());
- if ((_StartTime == null && newStartTime != NULL_TIME) ||
- (_StartTime != null && _StartTime.Value.TimeOfDay != newStartTime.Value.TimeOfDay))
- {
- _StartTime = newStartTime;
-
- if (_StartTime.Value.Second == 0)
- {
- if (_EndTime == null && Duration.HasValue)
- {
- if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
- {
- _EndTime = _StartTime.Value.AddHours((int)Duration.Value);
- }
- else
- {
- _EndTime = _StartTime.Value.AddMinutes((int)Duration.Value);
- }
-
- }
-
- if (_EndTime != null)
- {
- var end = new DateTime(_StartTime.Value.Year, _StartTime.Value.Month, _StartTime.Value.Day,
- _EndTime.Value.Hour, _EndTime.Value.Minute, 0);
-
- if (_EndTime.Value.Second > 0 && Duration.HasValue)
- {
- end = new DateTime(_StartTime.Value.Year, _StartTime.Value.Month, _StartTime.Value.Day,
- _StartTime.Value.Hour, _StartTime.Value.Minute, 0);
-
- if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
- {
- end = end.AddHours((int)Duration.Value);
- }
- else
- {
- end = end.AddMinutes((int)Duration.Value);
- }
- }
-
-
- var diff = end.Subtract(_StartTime.Value);
-
- if (diff.TotalSeconds < 0)
- {
- EndTime = _StartTime;
- end = EndTime.Value;
- }
-
- diff = end.Subtract(_StartTime.Value);
-
-
- if (BeWoApp.AppSettings.IsEndDateVisible && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- EditableEndDate = end;
- var x = _EditableEndDate.Value.Subtract(_StartTime.Value);
- if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
- {
- DurationSTD = (decimal) x.TotalHours;
- }
- else
- {
- DurationSTD = (decimal) x.TotalMinutes;
- }
+ // if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
+ // {
+ // end = end.AddHours((int)Duration.Value);
+ // }
+ // else
+ // {
+ // end = end.AddMinutes((int)Duration.Value);
+ // }
+ // }
- FirePropertyChanged(PropertyName_DurationSTD);
- TimeCheckForDurationSTD();
+ // var diff = end.Subtract(_StartTime.Value);
- }
- else
- {
- if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
- {
- Duration = (decimal) diff.TotalHours;
- }
- else
- {
- Duration = (decimal)diff.TotalMinutes;
- }
- FirePropertyChanged(PropertyName_Duration);
- TimeCheck();
- }
- }
-
- //else
- //{
- // if (BeWoApp.AppSettings.IsEndDateVisible)
- // {
- // if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
- // {
- // EndTime = _StartTime.Value.AddHours(DurationSTD.Value);
- // }else{
- // EndTime = _StartTime.Value.AddMinutes(DurationSTD.Value);
- // }
- // }else{
- // if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
- // {
- // EndTime = _StartTime.Value.AddHours(Duration.Value);
- // }else{
- // EndTime = _StartTime.Value.AddMinutes(Duration.Value);
- // }
- // }
- //}
- }
- else
- {
- TimeCheck();
- }
- StoreDirtyInformation(true, PropertyName_SupportConcept);
+ // if (diff.TotalSeconds < 0)
+ // {
+ // EndTime = _StartTime;
+ // end = EndTime.Value;
+ // }
- FirePropertyChanged(PropertyName_StartTime);
- var test = this.IsDirty;
- }
- }
- }
+ // diff = end.Subtract(_StartTime.Value);
+
+
+ // if (BeWoApp.AppSettings.IsEndDateVisible && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
+ // {
+ // EditableEndDate = end;
+ // }
+
+ // if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
+ // {
+ // Duration = (decimal) diff.TotalHours;
+ // }
+ // else
+ // {
+ // Duration = (decimal)diff.TotalMinutes;
+ // }
+ // FirePropertyChanged(PropertyName_Duration);
+ // TimeCheck();
+ // }
+
+ // //else
+ // //{
+ // // if (BeWoApp.AppSettings.IsEndDateVisible)
+ // // {
+ // // if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
+ // // {
+ // // EndTime = _StartTime.Value.AddHours(DurationSTD.Value);
+ // // }else{
+ // // EndTime = _StartTime.Value.AddMinutes(DurationSTD.Value);
+ // // }
+ // // }else{
+ // // if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
+ // // {
+ // // EndTime = _StartTime.Value.AddHours(Duration.Value);
+ // // }else{
+ // // EndTime = _StartTime.Value.AddMinutes(Duration.Value);
+ // // }
+ // // }
+ // //}
+ // }
+ // else
+ // {
+ // TimeCheck();
+ // }
+ // StoreDirtyInformation(true, PropertyName_SupportConcept);
+
+ // FirePropertyChanged(PropertyName_StartTime);
+ // var test = this.IsDirty;
+ // }
+ // }
+ //}
public CompactSupportConceptDC SupportConcept
{
@@ -1919,97 +1855,37 @@ namespace BeWo.ViewModel
set { ServiceRecordType = value ? ServiceRecordTypeId.DefaultActivity : ServiceRecordTypeId.Content; }
}
- public ZeiterfassungsDauer? DurationInStunden
+ public ZeiterfassungsDauer DauerEinheit
{
- get
- {
- if(_DurationInStunden == null)
- {
- _DurationInStunden = ZeiterfassungsDauer.Minuten;
-
- return _DurationInStunden;
- }
- else
- {
- return _DurationInStunden;
- }
- }
+ get { return _DauerEinheit; }
set
{
-
- if (value == ZeiterfassungsDauer.Minuten && _DurationInStunden == ZeiterfassungsDauer.Stunden )
+ if (AreDifferent(_DauerEinheit, value))
{
- if (BeWoApp.AppSettings.IsZeiterfassDateNormal && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.OriginaleZeiterfassung )
+ if (value == ZeiterfassungsDauer.Minuten && _DauerEinheit == ZeiterfassungsDauer.Stunden)
{
- if (_Duration.HasValue)
- {
- var x = _Duration.Value * 60;
- _Duration = x; //Math.Round(x,2);
- }
-
- }
+ _Duration *= 60;
-
- if (BeWoApp.AppSettings.IsEndDateVisible && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- if (_DurationSTD.HasValue)
- {
- var x = _DurationSTD.Value * 60;
- _DurationSTD = x; //Math.Round(x, 2);
- }
-
}
-
- }
- else if (value == ZeiterfassungsDauer.Stunden && _DurationInStunden == ZeiterfassungsDauer.Minuten )
- {
-
- if (BeWoApp.AppSettings.IsZeiterfassDateNormal && ServiceRecordFormat == null|| ServiceRecordFormat == ServiceRecordFormate.OriginaleZeiterfassung)
+ else if (value == ZeiterfassungsDauer.Stunden && _DauerEinheit == ZeiterfassungsDauer.Minuten)
{
- if (_Duration.HasValue)
- {
- var x = _Duration.Value / 60;
- _Duration = x;// Math.Round(x, 2);
- }
+ _Duration /= 60;
}
- if (BeWoApp.AppSettings.IsEndDateVisible && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- if (_DurationSTD.HasValue)
- {
- var x = _DurationSTD.Value / 60;
- _DurationSTD = x; /* Math.Round(x, 2);*/
- }
- }
-
- }
- if (AreDifferent(_DurationInStunden, value))
- {
- _DurationInStunden = value;
- StoreDirtyInformation(AreDifferent(DataContract.DurationInStunden, value), PropertyName_DurationInStunden);
+ _DauerEinheit = value;
+
- FirePropertyChanged(PropertyName_DurationInStunden);
-
- if (BeWoApp.AppSettings.IsEndDateVisible && ServiceRecordFormat == null|| ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- TimeCheckForDurationSTD();
- FirePropertyChanged(PropertyName_DurationSTD);
-
- }else
- if (BeWoApp.AppSettings.IsZeiterfassDateNormal && ServiceRecordFormat == null || ServiceRecordFormat == ServiceRecordFormate.OriginaleZeiterfassung)
- {
- TimeCheck();
- FirePropertyChanged(PropertyName_Duration);
-
- }
+ StoreDirtyInformation(AreDifferent(DataContract.DurationInStunden, value), PropertyName_DauerEinheit);
+ FirePropertyChanged(PropertyName_DauerEinheit);
+ FirePropertyChanged(PropertyName_Duration);
}
}
}
- public ServiceRecordFormate? ServiceRecordFormat
+ public ServiceRecordFormate ServiceRecordFormat
{
get{ return _ServiceRecordFormat; }
set
@@ -2099,51 +1975,6 @@ namespace BeWo.ViewModel
}
}
-
- [Validation(ValidationRule = ValidationRules.GreaterThanOrEqualZero)]
- public decimal? DurationSTD
- {
- get
- {
- if (_DurationSTD == null )
- {
- return 0;
- }else{
- return _DurationSTD;
- }
- }
-
- set
- {
- //if (BeWoApp.AppSettings.IsZeiterfassungInStdMin)
- //{
- if (AreDifferent(_DurationSTD, value))
- {
- _DurationSTD = value;
-
- if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
- {
- StoreDirtyInformation(AreDifferent(DataContract.RoundedDuration, value * 60), PropertyName_DurationSTD);
- }
- else
- {
- StoreDirtyInformation(AreDifferent(DataContract.RoundedDuration, value), PropertyName_DurationSTD);
- }
-
-
- FirePropertyChanged(PropertyName_DurationSTD);
- FirePropertyChanged(PropertyName_RoundedDuration);
- TimeCheckForDurationSTD();
-
- }
- //}
- //else if (BeWoApp.AppSettings.IsEndDateVisible)
- //{
- // Duration = val
- //}
-
- }
- }
[Validation(ValidationRule = ValidationRules.GreaterThanOrEqualZero)]
public decimal? DurationMonthYearGes
@@ -2177,23 +2008,7 @@ namespace BeWo.ViewModel
}
}
}
-
- //public string IsFloatGesetzt
- //{
- // get { return _IsFloatGesetzt; }
- // set
- // {
- // if (AreDifferent(_IsFloatGesetzt, value))
- // {
- // _IsFloatGesetzt = value;
-
- // FirePropertyChanged(PropertyName_DurationSTD);
- // FirePropertyChanged(PropertyName_Duration);
- // }
- // }
- //}
-
-
+
#endregion
#region Public Methods
@@ -2350,9 +2165,10 @@ namespace BeWo.ViewModel
copy.RTFNotice3 = RTFNotice3;
copy.RTFNotice4 = RTFNotice4;
copy.RTFNotice5 = RTFNotice5;
- copy.StartTime = StartTime;
- copy.EndTime = EndTime;
- copy.Date = Date;
+ copy.EditStartDate = EditStartDate;
+ copy.StartTimeString = StartTimeString;
+ copy.EditEndDate = EditEndDate;
+ copy.EndTimeString = EndTimeString;
copy.Duration = Duration;
copy.RoundedDuration = RoundedDuration;
copy.ServiceRecordType = ServiceRecordType;
@@ -2367,9 +2183,9 @@ namespace BeWo.ViewModel
copy.GroupPersonCount = GroupPersonCount;
copy.GroupOid = GroupOid;
copy.GroupRoundedDuration = GroupRoundedDuration;
- copy.SignatureOid = SignatureOid;
- copy.DurationInStunden = DurationInStunden;
- copy.ServiceRecordFormat = ServiceRecordFormat;
+ copy.SignatureOid = SignatureOid;
+ copy.DauerEinheit = DauerEinheit;
+ copy.ServiceRecordFormat = ServiceRecordFormat;
copy.Betrag = Betrag;
copy.SelectedGoals.Clear();
@@ -2388,7 +2204,7 @@ namespace BeWo.ViewModel
public override string ToString()
{
- return _Customer + ": " + _Date.Value.ToLongDateString() + string.Format("- Dauer: {0:0.00} min", RoundedDuration);
+ return _Customer + ": " + StartDate.ToLongDateString() + string.Format("- Dauer: {0:0.00} min", RoundedDuration);
}
#endregion
@@ -2396,126 +2212,73 @@ namespace BeWo.ViewModel
#region Methods
protected override void InitByDataContract(ServiceRecordDC pDataContract)
- {
- if (pDataContract.ServiceDescription != null)
- {
- if (pDataContract.ServiceRecordFormat == ServiceRecordFormate.OriginaleZeiterfassung || pDataContract.ServiceRecordFormat == null)
- {
-
- _Date = pDataContract.Start.Value;
- _StartTime = pDataContract.Start.Value;
-
- _EditableEndDate = pDataContract.End.Value;
- _DurationInStunden = pDataContract.DurationInStunden;
-
- if (pDataContract.DurationInStunden == ZeiterfassungsDauer.Stunden )
- {
- _DurationSTD = (decimal)(pDataContract.End.Value - pDataContract.Start.Value).TotalHours;
-
- _Duration = _DurationSTD;
-
- _EndTime = pDataContract.Start.Value.AddHours((double)_DurationSTD);
- }
- else
- {
- _Duration = (pDataContract.End.Value - pDataContract.Start.Value).GetTotalMinutes();
-
- _EndTime = pDataContract.Start.Value.AddMinutes((double)_Duration.Value);
- }
-
- _DurationMonthYearGes = 0;
-
- }
- else
- {
- if (pDataContract.ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
- _Date = pDataContract.Start.Value.Date;
- _StartTime = pDataContract.Start.Value;
- _EndTime = pDataContract.End.Value;
- _EditableEndDate = pDataContract.End.Value;
-
- if(pDataContract.DurationInStunden == ZeiterfassungsDauer.Stunden)
- {
- _DurationSTD = (decimal) (pDataContract.End.Value - pDataContract.Start.Value).TotalHours;
- _Duration = _DurationSTD;
- }
- else
- {
- _DurationSTD = (pDataContract.End.Value - pDataContract.Start.Value).GetTotalMinutes();
- _Duration = _DurationSTD;
- }
-
- //_Duration = _DurationSTD;
- _DurationMonthYearGes = 0;
- }
- else if(pDataContract.ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitMonatJahr)
- {
- _Date = pDataContract.Start.Value.Date;
- _StartTime = pDataContract.Start.Value;
- _EndTime = pDataContract.End.Value;
-
- _DurationMonthYearGes = (decimal)(pDataContract.End.Value - pDataContract.Start.Value).TotalHours;
- _OnlyMonth = pDataContract.Start.Value.ToString("MMMM");
- _OnlyYear = pDataContract.Start.Value.ToString("yyyy");
-
- _Duration = 0;
- _DurationSTD = 0;
- }
- }
-
- _Notice = pDataContract.Notice;
- _Notice2 = pDataContract.Notice2;
- _Notice3 = pDataContract.Notice3;
- _Notice4 = pDataContract.Notice4;
- _Notice5 = pDataContract.Notice5;
- _RTFNotice = pDataContract.RTFNotice1;
- _RTFNotice2 = pDataContract.RTFNotice2;
- _RTFNotice3 = pDataContract.RTFNotice3;
- _RTFNotice4 = pDataContract.RTFNotice4;
- _RTFNotice5 = pDataContract.RTFNotice5;
- _ServiceDescription = pDataContract.ServiceDescription;
- _Employee = pDataContract.Employee;
- _Customer = pDataContract.Customer;
- _SupportConcept = pDataContract.SupportConcept;
- _CostBearer = pDataContract.CostBearer;
- _ServiceDescription = pDataContract.ServiceDescription;
- _Category = pDataContract.ServiceDescription.Category;
- _RoundedDuration = pDataContract.RoundedDuration;
- _InsertedOn = pDataContract.InsertedOn;
- _InsUser = pDataContract.InsUser;
- _GroupEmployeeCount = pDataContract.GroupEmployeeCount;
- _GroupPersonCount = pDataContract.GroupPersonCount;
- _GroupRoundedDuration = pDataContract.GroupRoundedDuration;
- _GroupOid = pDataContract.GroupOid;
- _ServiceRecordType = pDataContract.ServiceRecordType;
- _DistanceInMeter = pDataContract.DistanceInMeter;
- _Betrag = pDataContract.Betrag;
- _DurationInStunden = pDataContract.DurationInStunden;
- _ServiceRecordFormat = pDataContract.ServiceRecordFormat;
- _SignatureOid = pDataContract.SignatureOid;
-
- if (pDataContract.Goals != null)
- {
- _SelectedGoals = new ObservableSortCollection(GoalService.CopyGoals(pDataContract.Goals, true), Comparer.ValueListEntryDCComparer);
- }
-
- SelectedGoals.CollectionChanged += (s, e) =>
- {
- int test = 0;
- StoreDirtyInformation(!SelectedGoals.ContainsSameItemsAs(pDataContract.Goals),
- PropertyName_SelectedGoals);
- };
-
-
+ {
+ _DauerEinheit = pDataContract.DurationInStunden ?? ZeiterfassungsDauer.Minuten;
+ _EditStartDate = pDataContract.Start ?? DateTime.Now.Date.AddSeconds(1);
+ _EditEndDate = pDataContract.End ?? DateTime.Now.Date.AddSeconds(1);
+ if (pDataContract.Start.HasValue && pDataContract.Start.Value.Second == 0)
+ {
+ _StartTimeString = String.Format("{0:HH:mm}", pDataContract.Start);
+ }
+ if (pDataContract.End.HasValue && pDataContract.End.Value.Second == 0)
+ {
+ _EndTimeString = String.Format("{0:HH:mm}", pDataContract.End);
+ }
+ if (_DauerEinheit == ZeiterfassungsDauer.Stunden)
+ {
+ _Duration = (decimal)(_EditEndDate.Value - _EditStartDate.Value).TotalHours;
}
else
{
- _Date = DateTime.Now.Date;
- _EditableEndDate = DateTime.Now.Date;
- _StartTime = NULL_TIME;
- _Duration = null;
+ _Duration = (_EditEndDate.Value - _EditStartDate.Value).GetTotalMinutes();
}
+
+ _Notice = pDataContract.Notice;
+ _Notice2 = pDataContract.Notice2;
+ _Notice3 = pDataContract.Notice3;
+ _Notice4 = pDataContract.Notice4;
+ _Notice5 = pDataContract.Notice5;
+ _RTFNotice = pDataContract.RTFNotice1;
+ _RTFNotice2 = pDataContract.RTFNotice2;
+ _RTFNotice3 = pDataContract.RTFNotice3;
+ _RTFNotice4 = pDataContract.RTFNotice4;
+ _RTFNotice5 = pDataContract.RTFNotice5;
+ _ServiceDescription = pDataContract.ServiceDescription;
+ _Employee = pDataContract.Employee;
+ _Customer = pDataContract.Customer;
+ _SupportConcept = pDataContract.SupportConcept;
+ _CostBearer = pDataContract.CostBearer;
+ _ServiceDescription = pDataContract.ServiceDescription;
+
+ if (pDataContract.ServiceDescription != null)
+ {
+ _Category = pDataContract.ServiceDescription.Category;
+ }
+
+ _RoundedDuration = pDataContract.RoundedDuration;
+ _InsertedOn = pDataContract.InsertedOn;
+ _InsUser = pDataContract.InsUser;
+ _GroupEmployeeCount = pDataContract.GroupEmployeeCount;
+ _GroupPersonCount = pDataContract.GroupPersonCount;
+ _GroupRoundedDuration = pDataContract.GroupRoundedDuration;
+ _GroupOid = pDataContract.GroupOid;
+ _ServiceRecordType = pDataContract.ServiceRecordType;
+ _DistanceInMeter = pDataContract.DistanceInMeter;
+ _Betrag = pDataContract.Betrag;
+ _ServiceRecordFormat = pDataContract.ServiceRecordFormat ?? ServiceRecordFormate.OriginaleZeiterfassung;
+ _SignatureOid = pDataContract.SignatureOid;
+
+ if (pDataContract.Goals != null)
+ {
+ _SelectedGoals = new ObservableSortCollection(GoalService.CopyGoals(pDataContract.Goals, true), Comparer.ValueListEntryDCComparer);
+ }
+
+ SelectedGoals.CollectionChanged += (s, e) =>
+ {
+ StoreDirtyInformation(!SelectedGoals.ContainsSameItemsAs(pDataContract.Goals),
+ PropertyName_SelectedGoals);
+ };
+
if (pDataContract.ServiceRecordType == ServiceRecordTypeId.Wohnheimbuchung)
{
@@ -2573,141 +2336,35 @@ namespace BeWo.ViewModel
private ServiceRecordDC CopyToDataContract(ServiceRecordDC pDataContract)
{
- var srf = ServiceRecordFormat;
- if (BeWoApp.AppSettings.IsEndDateVisible && srf == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitEndDatum)
- {
-
- var date = Date.Value;
-
- DateTime time;
-
- if (StartTime.HasValue)
- time = StartTime.Value;
- else
- {
- time = Date.Value;
- if (time.Second == 0)
- {
- time = time.AddSeconds(1);
- }
- }
-
- pDataContract.Start = new DateTime(date.Year, date.Month, date.Day, time.Hour, time.Minute, time.Second);
-
-
- decimal endduration = 0;
-
- //pDataContract.End = EditableEndDate;
-
- if (_DurationSTD != null)
- {
- if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
- {
- var dura = DurationSTD.Value * 60;
- decimal roundedDuration = Math.Round(dura, MidpointRounding.AwayFromZero);
-
- RoundedDuration = roundedDuration;
- endduration = roundedDuration;
- }
- else
- {
- var dura = DurationSTD.Value;
- decimal roundedDuration = Math.Round(dura, MidpointRounding.AwayFromZero);
-
- RoundedDuration = roundedDuration;
- endduration = roundedDuration;
- }
- }
-
- pDataContract.End = pDataContract.Start.Value.AddMinutes((double)endduration);
-
- _DurationMonthYearGes = 0;
- _Duration = 0;
-
- ServiceRecordFormat = ServiceRecordFormate.ZeiterfassungMitEndDatum;
- }
- else if (BeWoApp.AppSettings.IsOnlyYearMonthVisible && srf == null || ServiceRecordFormat == ServiceRecordFormate.ZeiterfassungMitMonatJahr)
+ pDataContract.ServiceRecordFormat = ServiceRecordFormate.OriginaleZeiterfassung;
+ if (!String.IsNullOrEmpty(StartTimeString) && String.IsNullOrEmpty(EndTimeString))
{
- var dates = DateTime.Parse("1." + OnlyMonth + OnlyYear);
-
- var StartDatetime = new DateTime(dates.Year, dates.Month,1,0,0,1);
-
- pDataContract.Start = StartDatetime;
-
- pDataContract.End = StartDatetime.AddHours((double)DurationMonthYearGes);
-
- if (_DurationMonthYearGes != 0)
- {
- var dura = DurationMonthYearGes.Value * 60;
- decimal roundedDuration = Math.Round(dura, MidpointRounding.AwayFromZero);
-
- RoundedDuration = roundedDuration;
- }
-
- Date = StartDatetime;
-
- StartTime = StartDatetime;
-
- _DurationSTD = 0;
- _Duration = 0;
-
- ServiceRecordFormat = ServiceRecordFormate.ZeiterfassungMitMonatJahr;
-
- _DurationInStunden = ZeiterfassungsDauer.Stunden;
+ DateTime newEndDate = StartDate;
+ if (DauerEinheit == ZeiterfassungsDauer.Minuten)
+ newEndDate = newEndDate.AddMinutes((double)Duration);
+ else
+ newEndDate = newEndDate.AddHours((double)Duration);
+ EndTimeString = String.Format("{0:HH:mm}", newEndDate);
}
- else
- {
- var date = Date.Value;
-
- DateTime time;
-
- if (StartTime.HasValue)
- time = StartTime.Value;
- else
- {
- time = Date.Value;
- if (time.Second == 0)
- {
- time = time.AddSeconds(1);
- }
- }
-
- pDataContract.Start = new DateTime(date.Year, date.Month, date.Day, time.Hour, time.Minute, time.Second);
-
- decimal duration = 0;
- if (Duration.HasValue)
- {
- duration = Duration.Value;
- }
-
-
- if (DurationInStunden == ZeiterfassungsDauer.Stunden)
- {
- 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;
-
- _DurationSTD = 0;
- _DurationMonthYearGes = 0;
-
- pDataContract.End = pDataContract.Start.Value.AddMinutes((double)duration);
-
- ServiceRecordFormat = ServiceRecordFormate.OriginaleZeiterfassung;
+ else if (String.IsNullOrEmpty(StartTimeString) && !String.IsNullOrEmpty(EndTimeString))
+ {
+ //_EndTimeString = "";
+ }
+ if (BeWoApp.AppSettings.IsEndDateVisible)
+ {
+ pDataContract.ServiceRecordFormat = ServiceRecordFormate.ZeiterfassungMitEndDatum;
}
-
+ pDataContract.Start = StartDate;
+ pDataContract.End = EndDate;
+ var d = Duration;
+ if (DauerEinheit == ZeiterfassungsDauer.Stunden)
+ {
+ d *= 60;
+ }
+
+ pDataContract.RoundedDuration = d;
pDataContract.Notice = _Notice;
pDataContract.Notice2 = _Notice2;
@@ -2723,10 +2380,7 @@ namespace BeWo.ViewModel
pDataContract.ServiceRecordType = _ServiceRecordType;
pDataContract.DistanceInMeter = _DistanceInMeter;
-
- pDataContract.DurationInStunden = _DurationInStunden;
- pDataContract.ServiceRecordFormat = _ServiceRecordFormat;
-
+ pDataContract.DurationInStunden = DauerEinheit;
pDataContract.Employee = _Employee;
pDataContract.Customer = _Customer;
pDataContract.SupportConcept = _SupportConcept;
@@ -2787,48 +2441,7 @@ namespace BeWo.ViewModel
}
}
- private void TimeCheck()
- {
- decimal duration = 0;
- if (BeWoApp.AppSettings.IsEndDateVisible)
- {
- if (_DurationSTD.HasValue)
- {
- duration = _DurationSTD.Value;
-
- }
- }
- else
- {
- if (_Duration.HasValue)
- {
- duration = _Duration.Value;
-
- }
- }
-
- StoreDirtyInformation(
- AreDifferent(DataContract.End, (_Date.Value + _StartTime.Value.TimeOfDay).AddMinutes((double)duration)) ||
- AreDifferent(DataContract.Start,_Date.Value + _StartTime.Value.TimeOfDay), "TIME");
-
-
- if (_StartTime != null)
- {
- if (_DurationInStunden == ZeiterfassungsDauer.Minuten)
- _EndTime = _StartTime.Value.AddMinutes((double) duration);
- else
- _EndTime = _StartTime.Value.AddHours((double) duration);
-
- 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);
- }
-
- }
+
private void TimeCheckMonatJahr()
{
@@ -2848,168 +2461,168 @@ namespace BeWo.ViewModel
AreDifferent(DataContract.Start, StartDatetime), "TIME");
}
- private void TimeCheckForDurationSTD()
- {
- double duration = 0;
+ //private void TimeCheckForDurationSTD()
+ //{
+ // double duration = 0;
- if (_DurationSTD.HasValue) {
- duration = (double)_DurationSTD.Value;
- }
+ // if (_DurationSTD.HasValue) {
+ // duration = (double)_DurationSTD.Value;
+ // }
- //####################### ich glaub das wars ##########################
- if (_DurationInStunden == ZeiterfassungsDauer.Minuten)
- {
- if (_StartTime != null && _EndTime != null)
- {
- _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day,
- _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
+ // //####################### ich glaub das wars ##########################
+ // if (_DurationInStunden == ZeiterfassungsDauer.Minuten)
+ // {
+ // if (_StartTime != null && _EndTime != null)
+ // {
+ // _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day,
+ // _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
- _EndTime = _StartTime.Value.AddMinutes(duration);
+ // _EndTime = _StartTime.Value.AddMinutes(duration);
- if (_EndTime.Value.Second > 1)
- {
- _EndTime = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour , _EndTime.Value.Minute, 0);
- }
+ // if (_EndTime.Value.Second > 1)
+ // {
+ // _EndTime = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour , _EndTime.Value.Minute, 0);
+ // }
- }
+ // }
- if (_StartTime == null && _EndTime != null && duration == 0)
- {
- _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, _EndTime.Value.Second);
- }
- else if (_StartTime == null && _EndTime != null)
- {
- _StartTime = _EndTime.Value.AddMinutes(duration * -1);
- }
+ // if (_StartTime == null && _EndTime != null && duration == 0)
+ // {
+ // _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, _EndTime.Value.Second);
+ // }
+ // else if (_StartTime == null && _EndTime != null)
+ // {
+ // _StartTime = _EndTime.Value.AddMinutes(duration * -1);
+ // }
- if (_StartTime != null && _EndTime == null && duration == 0)
- {
- _EndTime = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
- }
- else if (_StartTime != null && _EndTime == null)
- {
- _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day,
- _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
+ // if (_StartTime != null && _EndTime == null && duration == 0)
+ // {
+ // _EndTime = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
+ // }
+ // else if (_StartTime != null && _EndTime == null)
+ // {
+ // _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day,
+ // _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
- _EndTime = _StartTime.Value.AddMinutes(duration);
+ // _EndTime = _StartTime.Value.AddMinutes(duration);
- if (_EndTime.Value.Second > 1)
- {
- _EndTime = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, 0);
- }
- }
+ // if (_EndTime.Value.Second > 1)
+ // {
+ // _EndTime = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, 0);
+ // }
+ // }
- if (_StartTime == null && _EndTime == null && duration == 0)
- {
- _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, 0, 0, 1);
- _EndTime = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, 0, 0, 1);
- }
- else if (_StartTime == null && _EndTime == null)
- {
- //start 1 sek und end duration + 1 sek
- _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, 0, 0, 1);
+ // if (_StartTime == null && _EndTime == null && duration == 0)
+ // {
+ // _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, 0, 0, 1);
+ // _EndTime = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, 0, 0, 1);
+ // }
+ // else if (_StartTime == null && _EndTime == null)
+ // {
+ // //start 1 sek und end duration + 1 sek
+ // _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, 0, 0, 1);
- _EndTime = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, 0, 0, 1);
- _EndTime = _EndTime.Value.AddMinutes(duration);
- }
+ // _EndTime = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, 0, 0, 1);
+ // _EndTime = _EndTime.Value.AddMinutes(duration);
+ // }
- _Date = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
- _EditableEndDate = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, _EndTime.Value.Second);
+ // _Date = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
+ // _EditableEndDate = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, _EndTime.Value.Second);
- var diff = _EditableEndDate.Value.Subtract(_Date.Value);
- duration = (double)diff.TotalMinutes;
+ // var diff = _EditableEndDate.Value.Subtract(_Date.Value);
+ // duration = (double)diff.TotalMinutes;
- _DurationSTD = (decimal)duration;
+ // _DurationSTD = (decimal)duration;
- //StoreDirtyInformation(AreDifferent(DataContract.End, (_Date.Value + _StartTime.Value.TimeOfDay).AddMinutes((double)duration)) || AreDifferent(DataContract.Start, _Date.Value + _StartTime.Value.TimeOfDay), "TIME");
- StoreDirtyInformation(AreDifferent(DataContract.End, _EndTime) || AreDifferent(DataContract.Start, _StartTime), "TIME");
- }
- else if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
- {
- if (_StartTime != null && _EndTime != null)
- {
- _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day,
- _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
+ // //StoreDirtyInformation(AreDifferent(DataContract.End, (_Date.Value + _StartTime.Value.TimeOfDay).AddMinutes((double)duration)) || AreDifferent(DataContract.Start, _Date.Value + _StartTime.Value.TimeOfDay), "TIME");
+ // StoreDirtyInformation(AreDifferent(DataContract.End, _EndTime) || AreDifferent(DataContract.Start, _StartTime), "TIME");
+ // }
+ // else if (_DurationInStunden == ZeiterfassungsDauer.Stunden)
+ // {
+ // if (_StartTime != null && _EndTime != null)
+ // {
+ // _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day,
+ // _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
- _EndTime = _StartTime.Value.AddHours(duration);
+ // _EndTime = _StartTime.Value.AddHours(duration);
- if (_EndTime.Value.Second > 1)
- {
- _EndTime = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, 0);
- }
- }
+ // if (_EndTime.Value.Second > 1)
+ // {
+ // _EndTime = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, 0);
+ // }
+ // }
- if (_StartTime == null && _EndTime != null && duration == 0)
- {
- _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, _EndTime.Value.Second);
- }
- else if (_StartTime == null && _EndTime != null)
- {
- _StartTime = _EndTime.Value.AddHours(duration * -1);
- }
+ // if (_StartTime == null && _EndTime != null && duration == 0)
+ // {
+ // _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, _EndTime.Value.Second);
+ // }
+ // else if (_StartTime == null && _EndTime != null)
+ // {
+ // _StartTime = _EndTime.Value.AddHours(duration * -1);
+ // }
- if (_StartTime != null && _EndTime == null && duration == 0)
- {
- _EndTime = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
- }
- else if (_StartTime != null && _EndTime == null)
- {
- _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day,
- _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
+ // if (_StartTime != null && _EndTime == null && duration == 0)
+ // {
+ // _EndTime = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
+ // }
+ // else if (_StartTime != null && _EndTime == null)
+ // {
+ // _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day,
+ // _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
- _EndTime = _StartTime.Value.AddHours(duration);
+ // _EndTime = _StartTime.Value.AddHours(duration);
- if (_EndTime.Value.Second > 1)
- {
- _EndTime = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, 0);
- }
- }
+ // if (_EndTime.Value.Second > 1)
+ // {
+ // _EndTime = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, 0);
+ // }
+ // }
- if (_StartTime == null && _EndTime == null && duration == 0)
- {
- _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, 0, 0, 1);
- _EndTime = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, 0, 0, 1);
- }
- else if (_StartTime == null && _EndTime == null)
- {
- //start 1 sek und end duration + 1 sek
- _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, 0, 0, 1);
+ // if (_StartTime == null && _EndTime == null && duration == 0)
+ // {
+ // _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, 0, 0, 1);
+ // _EndTime = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, 0, 0, 1);
+ // }
+ // else if (_StartTime == null && _EndTime == null)
+ // {
+ // //start 1 sek und end duration + 1 sek
+ // _StartTime = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, 0, 0, 1);
- _EndTime = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, 0, 0, 1);
- _EndTime = _EndTime.Value.AddHours(duration);
- }
+ // _EndTime = new DateTime(_EditableEndDate.Value.Year, _EditableEndDate.Value.Month, _EditableEndDate.Value.Day, 0, 0, 1);
+ // _EndTime = _EndTime.Value.AddHours(duration);
+ // }
- _Date = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
- _EditableEndDate = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, _EndTime.Value.Second);
+ // _Date = new DateTime(_Date.Value.Year, _Date.Value.Month, _Date.Value.Day, _StartTime.Value.Hour, _StartTime.Value.Minute, _StartTime.Value.Second);
+ // _EditableEndDate = new DateTime(_EndTime.Value.Year, _EndTime.Value.Month, _EndTime.Value.Day, _EndTime.Value.Hour, _EndTime.Value.Minute, _EndTime.Value.Second);
- var diff = _EditableEndDate.Value.Subtract(_Date.Value);
- duration = (double)diff.TotalHours;
+ // var diff = _EditableEndDate.Value.Subtract(_Date.Value);
+ // duration = (double)diff.TotalHours;
- _DurationSTD = (decimal)Math.Round(duration,2);
+ // _DurationSTD = (decimal)Math.Round(duration,2);
- StoreDirtyInformation(AreDifferent(DataContract.End, _EndTime) || AreDifferent(DataContract.Start, _StartTime), "TIME");
- }
+ // StoreDirtyInformation(AreDifferent(DataContract.End, _EndTime) || AreDifferent(DataContract.Start, _StartTime), "TIME");
+ // }
- FirePropertyChanged(PropertyName_DurationSTD);
- FirePropertyChanged(PropertyName_StartTime);
- FirePropertyChanged(PropertyName_EndTime);
- FirePropertyChanged(PropertyName_Date);
- FirePropertyChanged(PropertyName_EditableEndDate);
+ // FirePropertyChanged(PropertyName_DurationSTD);
+ // FirePropertyChanged(PropertyName_StartTime);
+ // FirePropertyChanged(PropertyName_EndTime);
+ // FirePropertyChanged(PropertyName_Date);
+ // FirePropertyChanged(PropertyName_EditableEndDate);
- }
+ // }
#endregion
}
}
\ No newline at end of file
diff --git a/Data/Access/SearchDAO.cs b/Data/Access/SearchDAO.cs
index 73c3c06b2..c96ff22a2 100644
--- a/Data/Access/SearchDAO.cs
+++ b/Data/Access/SearchDAO.cs
@@ -1072,18 +1072,21 @@ namespace BeWo.Data.Access
{
var criteria = CreateCriteriaIsActive()
.Add(
- Restrictions.Or(
- CreateBetweenDateTimesCriterion(startDate, endDate, nameof(AbsenceTime.Start), nameof(AbsenceTime.End)),
- Restrictions.And(
- Restrictions.And(
- Restrictions.Ge(AbsenceTime.PropertyName_Start, startDate),
- Restrictions.Le(AbsenceTime.PropertyName_Start, endDate)),
- Restrictions.IsNull(AbsenceTime.PropertyName_End)
- )
+ Restrictions.Or(
+ Restrictions.And(
+ Restrictions.Ge(AbsenceTime.PropertyName_End, startDate),
+ Restrictions.Lt(AbsenceTime.PropertyName_Start, endDate.Date.AddDays(1))
+ ),
+ Restrictions.And(
+ Restrictions.Lt(AbsenceTime.PropertyName_Start, endDate.Date.AddDays(1)),
+ Restrictions.IsNull(AbsenceTime.PropertyName_End)
)
- );
+ )
+ );
return criteria.List().ToList();
+
+
}
public IEnumerable FindVertretungen(DateTime startDate, DateTime endDate)
diff --git a/Report/ReportObjects/MitarbeiterstundenkontoRO.cs b/Report/ReportObjects/MitarbeiterstundenkontoRO.cs
index 40c1fef35..5443f1e8b 100644
--- a/Report/ReportObjects/MitarbeiterstundenkontoRO.cs
+++ b/Report/ReportObjects/MitarbeiterstundenkontoRO.cs
@@ -448,7 +448,7 @@ namespace BeWo.Report.ReportObjects
{
var employeeDetail = new EmployeeDetail
{
- Teams = team == null ? DAOFactory.SearchDAO.FindTeamsOfEmployee(employee.Oid.Value) : new List(),
+ Teams = team == null ? DAOFactory.SearchDAO.FindTeamsOfEmployee(employee.Oid.Value) : new List { team },
Employee = employee,
LastName = employee.Person.LastName,
FirstName = employee.Person.FirstName,
diff --git a/Service/DCEntityMapper/TextModuleDC_TextModule.cs b/Service/DCEntityMapper/TextModuleDC_TextModule.cs
index a2f477c3c..956c06fdf 100644
--- a/Service/DCEntityMapper/TextModuleDC_TextModule.cs
+++ b/Service/DCEntityMapper/TextModuleDC_TextModule.cs
@@ -1,4 +1,5 @@
-using BeWo.Data.Access;
+using System.Collections.Generic;
+using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
@@ -7,6 +8,69 @@ namespace BeWo.Service.DCEntityMapper
{
public class TextModuleDC_TextModule : AbstractIDCEntityMapper
{
+ public IList CreateDcList(IEnumerable textmodules)
+ {
+ var list = new List();
+ Dictionary> parentChildDict = new Dictionary>();
+ foreach (var tm in textmodules)
+ {
+ var dc = CreateTextModuleDC(tm, parentChildDict);
+
+ list.Add(dc);
+ }
+
+ return list;
+
+ }
+
+ private TextModuleDC CreateTextModuleDC(TextModule tm, Dictionary> parentChildDict)
+ {
+ var dc = new TextModuleDC();
+ dc.Position = tm.Position;
+ dc.TextModuleVersion = tm.Version.Value;
+ dc.TextModuleOid = tm.Oid.Value;
+ dc.Text = tm.Text;
+ dc.Name = tm.Name;
+ dc.IsOnlyForEmployee = tm.IsOnlyForEmployee;
+ dc.IsParent = tm.IsParent;
+ dc.IsExpanded = tm.IsExpanded;
+ dc.ActivationType = tm.IsActive;
+
+ dc.ServiceCategory = tm.ServiceCategory != null ? MapperFactory.ServiceCategoryDC_ServiceCategory.MapToNewDC(tm.ServiceCategory) : null;
+
+ dc.Employee = tm.Employee != null ? MapperFactory.CompactEmployeeDC_Employee.MapToNewDC(tm.Employee) : null;
+
+
+
+ if (tm.Parent != null)
+ {
+ //Vermeide Endlosschleifen. Es gab mal den Fall, da hat es ein Kunde geschafft, dass der Parent eines Textbausteins gleichzeitig ein Kind desselben Bausteins war.
+ if (!parentChildDict.ContainsKey(tm.Parent.Oid.Value))
+ {
+ parentChildDict.Add(tm.Parent.Oid.Value, new List());
+ }
+ parentChildDict[tm.Parent.Oid.Value].Add(tm.Oid.Value);
+
+ bool addParent = true;
+ if (parentChildDict.ContainsKey(tm.Oid.Value))
+ {
+ var childOids = parentChildDict[tm.Oid.Value];
+
+ if (childOids.Contains(tm.Parent.Oid.Value))
+ {
+ addParent = false;
+ }
+ }
+
+ if (addParent)
+ {
+ dc.Parent = CreateTextModuleDC(tm.Parent, parentChildDict);
+ }
+ }
+
+ return dc;
+ }
+
public override TextModuleDC MergeWithDC(TextModule pEntity, TextModuleDC pDataContract)
{
pDataContract.Position = pEntity.Position;
diff --git a/Service/Plugins/FlexibleReportService.cs b/Service/Plugins/FlexibleReportService.cs
index 52b88da8d..e9f525d0c 100644
--- a/Service/Plugins/FlexibleReportService.cs
+++ b/Service/Plugins/FlexibleReportService.cs
@@ -68,7 +68,7 @@ namespace BeWo.Service.Plugins
// Erstellt CustomerDic
if (filter.AlleKlientenAnzeigen.HasValue && filter.AlleKlientenAnzeigen.Value)
{
- var alleCos = DAOFactory.GenericDAO.GetAllActiveAndArchived();
+ var alleCos = DAOFactory.GenericDAO.GetAllActive();
if (alleCos.Count > 0)
{
@@ -81,7 +81,7 @@ namespace BeWo.Service.Plugins
// Erstellt EmployeeDic
if (filter.AlleMitarbeiterAnzeigen.HasValue && filter.AlleMitarbeiterAnzeigen.Value)
{
- var alleEmps = DAOFactory.GenericDAO.GetAllActiveAndArchived();
+ var alleEmps = DAOFactory.GenericDAO.GetAllActive();
if (alleEmps.Count > 0)
{
diff --git a/Service/Plugins/PluginLoader.cs b/Service/Plugins/PluginLoader.cs
index e3729f9c5..b19d52014 100644
--- a/Service/Plugins/PluginLoader.cs
+++ b/Service/Plugins/PluginLoader.cs
@@ -83,7 +83,7 @@ namespace BeWo.Service.Plugins
//t = "4867997795"; // ADiK Kleve
//t = "3184859776"; // Sergej Becker
//t = "7752610643"; // BWK Gbr
- t = "3785623125"; // Betreuwo
+ //t = "3785623125"; // Betreuwo
//t = "7130228334"; // LH Borken
//t = "4209820830"; // VKM Hamm
//t = "5700328131"; // Betreutes Wohnen St. Ludgerus Essen-Werden
@@ -142,7 +142,7 @@ namespace BeWo.Service.Plugins
//t = "8828216586"; // Caritas Aachen
//t = "7062943632"; // ABW Elsebrock
//t = "3956369664"; // LH Wetterau
- //t = "3984525482"; // API Berlin
+ t = "3984525482"; // API Berlin
//t = "9975231461"; // Selwo
//t = "8181286349"; // BeWo am Rhein
//t = "4595275645"; // Eigenständig
@@ -215,7 +215,7 @@ namespace BeWo.Service.Plugins
//t = "4069072369"; // BeWo Dreilich&Pastor (Pastor)
//t = "4160851689"; // BeWo Dreilich&Pastor (Dreilich)
//t = "9970072066"; // Bussmannshof
- //t = "2993745954"; // Kollegium für freie Jugendarbeit und Berufsbildung e.V.
+ t = "2993745954"; // Kollegium für freie Jugendarbeit und Berufsbildung e.V.
//t = "5495240031"; // Christian Luft
//t = "6922762575"; // BHS Solingen
//t = "3472573348"; // ASB Mönchengladbach
diff --git a/Service/Plugins/ServiceRecordValidator.cs b/Service/Plugins/ServiceRecordValidator.cs
index 8b5eb4730..3581aa013 100644
--- a/Service/Plugins/ServiceRecordValidator.cs
+++ b/Service/Plugins/ServiceRecordValidator.cs
@@ -231,6 +231,8 @@ namespace BeWo.Service.Plugins
{
noTime = true;
}
+
+ newServiceRecord.RoundedDuration = duration;
decimal roundedDuration = duration;
var srdc = PluginLoader.FindClass();
@@ -684,7 +686,10 @@ namespace BeWo.Service.Plugins
}
decimal totalFLSNew = (flmTotalRounded + newServiceRecord.RoundedDuration) / 60;
- if (flmApprovedForPeriod > 0 && totalFLSNew > (flmApprovedForPeriod / 60))
+ decimal approvedFlsForPeriod = (flmApprovedForPeriod / 60);
+ approvedFlsForPeriod = Math.Round(approvedFlsForPeriod, 2, MidpointRounding.AwayFromZero);
+
+ if (approvedFlsForPeriod > 0 && totalFLSNew > approvedFlsForPeriod)
{
if (newServiceRecord.ServiceDescription.Category.IsBillable ||
diff --git a/Service/ServiceImplementations/OperationsServiceImp.cs b/Service/ServiceImplementations/OperationsServiceImp.cs
index 0bf2b2c78..2441a40b5 100644
--- a/Service/ServiceImplementations/OperationsServiceImp.cs
+++ b/Service/ServiceImplementations/OperationsServiceImp.cs
@@ -996,7 +996,13 @@ namespace BeWo.Service.ServiceImplementations
IEnumerable historyList = DAOFactory.SearchDAO.FindServiceRecordHistory(serviceRecordOid);
List result = MapperFactory.ServiceRecordHistoryDC_ServiceRecordHistory.MapToNewDCs(historyList);
-
+ foreach (var srh in result)
+ {
+ if (srh.DurationInStunden.HasValue && srh.DurationInStunden.Value == ZeiterfassungsDauer.Stunden)
+ {
+ srh.RoundedDuration = srh.RoundedDuration / 60;
+ }
+ }
return result;
}
catch (Exception e)
@@ -1386,7 +1392,7 @@ namespace BeWo.Service.ServiceImplementations
{
foreach (var at in pAccountingTransactions)
{
- if (at.SupportConceptCostBearerRelDC.CostBearer2SupportConceptOid.HasValue && !at.SupportConceptCostBearerRelDC.CostBearer2SupportConceptVersion.HasValue)
+ if (at.SupportConceptCostBearerRelDC != null && at.SupportConceptCostBearerRelDC.CostBearer2SupportConceptOid.HasValue && !at.SupportConceptCostBearerRelDC.CostBearer2SupportConceptVersion.HasValue)
{
var c2s = DAOFactory.GenericDAO.LoadByID(at.SupportConceptCostBearerRelDC.CostBearer2SupportConceptOid.Value);
var c2sDc = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(c2s);
@@ -3131,7 +3137,11 @@ namespace BeWo.Service.ServiceImplementations
{
try
{
- var list = MapperFactory.TextModuleDC_TextModule.MapToNewDCs(DAOFactory.SearchDAO.GetActiveTextModules(pShouldShowAllTextModules, pHasRightToSeeAllTextModules, pIsInAdministrationView, pEmployeeOid));
+ var textmodules = DAOFactory.SearchDAO.GetActiveTextModules(pShouldShowAllTextModules, pHasRightToSeeAllTextModules, pIsInAdministrationView, pEmployeeOid);
+
+ var list = MapperFactory.TextModuleDC_TextModule.CreateDcList(textmodules);
+ //var list = MapperFactory.TextModuleDC_TextModule.MapToNewDCs(textmodules);
+
return list.OrderBy(t => t.Name).ToList();
}
catch (Exception e)
diff --git a/Shared/Services/Calculations.cs b/Shared/Services/Calculations.cs
index e8924feeb..9d4c5d224 100644
--- a/Shared/Services/Calculations.cs
+++ b/Shared/Services/Calculations.cs
@@ -857,6 +857,23 @@ namespace BS.Shared.Services
hourlyRate = crp;
else if (ai.Value == AccountingIntervalType.FlatRate)
flatRate = crp;
+ else if (ai.Value == AccountingIntervalType.Daily)
+ {
+ double days = 0;
+
+ if (data.BillingPeriodStart.HasValue && data.BillingPeriodEnd.HasValue)
+ {
+ days = data.BillingPeriodEnd.Value.Subtract(data.BillingPeriodStart.Value).Days + 1;
+ }
+ data.UnitCount = (decimal)days;
+ data.AmountPerUnit = crp.CostRateValue ?? 0;
+ data.AmountTotal = data.UnitCount * data.AmountPerUnit;
+ data.AccountingInterval = AccountingIntervalType.Daily;
+ data.GrossAmountTotal = data.AmountTotal;
+
+ return data;
+ }
+
}
}
}