diff --git a/Host/Host.csproj b/Host/Host.csproj
index 41de1c831..a2dc2f2d4 100644
--- a/Host/Host.csproj
+++ b/Host/Host.csproj
@@ -55,6 +55,7 @@
false
+
False
@@ -65,6 +66,7 @@
+
diff --git a/ReportImp/LebenshilfeStadeMID/LebenshilfeStadeMID.csproj b/ReportImp/LebenshilfeStadeMID/LebenshilfeStadeMID.csproj
index 346d35ecd..ca2530e2f 100644
--- a/ReportImp/LebenshilfeStadeMID/LebenshilfeStadeMID.csproj
+++ b/ReportImp/LebenshilfeStadeMID/LebenshilfeStadeMID.csproj
@@ -31,6 +31,7 @@
4
+
@@ -39,6 +40,7 @@
+
@@ -67,12 +69,6 @@
Quittierungsbeleg.cs
-
- Component
-
-
- SbdLeistungsnachweisAbrechnung.cs
-
Component
@@ -110,9 +106,6 @@
Quittierungsbeleg.cs
Designer
-
- SbdLeistungsnachweisAbrechnung.cs
-
SbdRechnung.cs
Designer
diff --git a/ReportImp/LebenshilfeStadeMID/SbdRechnung.cs b/ReportImp/LebenshilfeStadeMID/SbdRechnung.cs
index ef64409f8..648337a3d 100644
--- a/ReportImp/LebenshilfeStadeMID/SbdRechnung.cs
+++ b/ReportImp/LebenshilfeStadeMID/SbdRechnung.cs
@@ -25,10 +25,10 @@ namespace LebenshilfeStadeMID
SetzeBetraege(pRO);
- var subReport = new LeistungsnachweisAbrechnung();
- subReport.SetReportDataSource(pRO);
+ //var subReport = new LeistungsnachweisAbrechnung();
+ //subReport.SetReportDataSource(pRO);
- this.xrSubreport1.ReportSource = subReport;
+ //this.xrSubreport1.ReportSource = subReport;
this.bindingSource1.DataSource = pRO;
diff --git a/ReportImp/LebenshilfeStadeMID/Service/CustomSaveInterceptor.cs b/ReportImp/LebenshilfeStadeMID/Service/CustomSaveInterceptor.cs
index 500ce0020..fd61c7da4 100644
--- a/ReportImp/LebenshilfeStadeMID/Service/CustomSaveInterceptor.cs
+++ b/ReportImp/LebenshilfeStadeMID/Service/CustomSaveInterceptor.cs
@@ -15,22 +15,64 @@ namespace LebenshilfeStadeMID.Service
public override void BeforeSaveServiceRecord(ServiceRecord sr)
{
// Wenn "Schulbegleitender Dienst" dokumentiert wird muss EIN MAL PRO TAG eine Verfügungszeit pauschal eingetragen werden.
- if (sr.ServiceDescription.ServiceCategory.Name == "Schulbegleitender Dienst" && sr.Start.HasValue && sr.CustomerOid.HasValue)
+ if (sr.ServiceDescription.ServiceCategory.Name == "Schulbegleitender Dienst" && sr.Start.HasValue && sr.SupportConcept != null)
{
- var span = new DateTimeSpan() { StartDate = new DateTime(sr.Start.Value.Year, sr.Start.Value.Month, sr.Start.Value.Day), EndDate = sr.Start.Value.Date.AddDays(1).AddTicks(-1) };
- var eintraegeAmTag = DAOFactory.SearchDAO.FindCustomerServiceRecords(sr.CustomerOid.Value, span, null, BS.Shared.ServiceRecordTypeId.DefaultActivity, true);
+ // Alle Einträge des Tages holen, für den dokumentiert wird
+ var span = new DateTimeSpan() { StartDate = new DateTime(sr.Start.Value.Year, sr.Start.Value.Month, sr.Start.Value.Day), EndDate = sr.Start.Value.Date.AddDays(1) };
+ var eintraegeAmTag = DAOFactory.SearchDAO.FindCustomerServiceRecords(sr.SupportConcept.Customer.Oid.Value, span, null, BS.Shared.ServiceRecordTypeId.DefaultActivity, true);
// Wenn es noch keinen Eintrag für den Klienten gibt muss die halbe Stunden Verfügungszeit gespeichert werden
if (eintraegeAmTag != null && eintraegeAmTag.Count == 0)
{
-
+ ErstelleVerfuegungszeit(sr);
}
// Wenn es schon welche gibt prüfen, ob da Verfügungszeit bei ist
else if (eintraegeAmTag != null && eintraegeAmTag.Count > 0)
{
+ // Gibt es keinen, neuen erstellen
+ if (eintraegeAmTag.Any(e => e.ServiceDescription.Name.ToLower().Contains("verfügungszeit")))
+ {
+ // nix
+ }
+ else
+ ErstelleVerfuegungszeit(sr);
}
}
}
+
+ private void ErstelleVerfuegungszeit(ServiceRecord serviceRecord)
+ {
+ ServiceRecord verfuegungszeit = new ServiceRecord()
+ {
+ Betrag = null,
+ CostBearer2SupportConcept = serviceRecord.CostBearer2SupportConcept,
+ CostBearer2SupportConceptOid = serviceRecord.CostBearer2SupportConceptOid,
+ Customer = serviceRecord.SupportConcept.Customer,
+ CustomerOid = serviceRecord.SupportConcept.Customer.Oid,
+ DistanceInMeter = null,
+ Employee = serviceRecord.Employee,
+ EmployeeOid = serviceRecord.Oid,
+ Group = null,
+ GroupEmployeeCount = null,
+ GroupOid = null,
+ GroupPersonCount = null,
+ GroupRoundedDuration = null,
+ InsTs = DateTime.Now,
+ InsUser = "System",
+ IP = serviceRecord.IP,
+ IsActive = BS.Shared.ActivationTypeId.Active,
+ IsCreatedInMobileClient = false,
+ ServiceRecordType = BS.Shared.ServiceRecordTypeId.DefaultActivity,
+ SupportConcept = serviceRecord.SupportConcept,
+ RoundedDuration = 30,
+ ServiceDescription = DAOFactory.SearchDAO.FindServiceDescriptionForCategory(serviceRecord.ServiceDescription.ServiceCategory.Oid.Value).FirstOrDefault(sr => sr.Name == "Verfügungszeit"),
+ Start = serviceRecord.Start.Value.AddMinutes((int)serviceRecord.RoundedDuration),
+ End = serviceRecord.Start.Value.AddMinutes((int)serviceRecord.RoundedDuration + 30),
+ DurationInStunden = BS.Shared.ZeiterfassungsDauer.Minuten,
+ };
+
+ DAOFactory.GenericDAO.Insert(verfuegungszeit);
+ }
}
}