diff --git a/BeWoAllReports.sln b/BeWoAllReports.sln
index 5f73927b3..b4ff48a6e 100644
--- a/BeWoAllReports.sln
+++ b/BeWoAllReports.sln
@@ -964,6 +964,7 @@ EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AICore", "Server\Components\AICore\AICore.csproj", "{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerUtils", "Server\Components\ServerUtils\ServerUtils.csproj", "{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BWSBetreuenWohnenSoziales", "ReportImp\BWSBetreuenWohnenSoziales\BWSBetreuenWohnenSoziales.csproj", "{5604BF7F-B462-45CF-B6F6-920142605B11}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11776,6 +11777,30 @@ Global
{FB213BC6-0DF5-4D9F-9DF3-C7D072A37A36}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{FB213BC6-0DF5-4D9F-9DF3-C7D072A37A36}.Release|x86.ActiveCfg = Release|Any CPU
{FB213BC6-0DF5-4D9F-9DF3-C7D072A37A36}.Release|x86.Build.0 = Release|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|.NET.ActiveCfg = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|.NET.Build.0 = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Debug|x86.Build.0 = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|.NET.ActiveCfg = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|.NET.Build.0 = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|Any CPU.ActiveCfg = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|Any CPU.Build.0 = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|Mixed Platforms.Build.0 = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|x86.ActiveCfg = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.DebugRemote|x86.Build.0 = Debug|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Release|.NET.ActiveCfg = Release|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Release|.NET.Build.0 = Release|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Release|x86.ActiveCfg = Release|Any CPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -12253,6 +12278,7 @@ Global
{C9BAF7C5-797E-4693-8B31-544F90EC0B1C} = {FEB0336B-F053-40B6-92DD-7DE56AB9408A}
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9} = {C9BAF7C5-797E-4693-8B31-544F90EC0B1C}
{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57} = {C9BAF7C5-797E-4693-8B31-544F90EC0B1C}
+ {5604BF7F-B462-45CF-B6F6-920142605B11} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9}
diff --git a/ReportImp/BWSBetreuenWohnenSoziales/BWSBetreuenWohnenSoziales.csproj b/ReportImp/BWSBetreuenWohnenSoziales/BWSBetreuenWohnenSoziales.csproj
new file mode 100644
index 000000000..53b4c550b
--- /dev/null
+++ b/ReportImp/BWSBetreuenWohnenSoziales/BWSBetreuenWohnenSoziales.csproj
@@ -0,0 +1,82 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {5604BF7F-B462-45CF-B6F6-920142605B11}
+ Library
+ Properties
+ BWSBetreuenWohnenSoziales
+ 1111702940_Reports
+ v4.7.2
+ 512
+
+
+
+ true
+ full
+ false
+ ..\..\CustomerDlls\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ ..\..\CustomerDlls\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}
+ Data
+
+
+ {40d8b312-ea64-49e3-a31a-5e57ed4d5654}
+ Report
+
+
+ {094331c3-ecee-4c89-bbfd-4c9ded89f0ef}
+ Service
+
+
+ {2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}
+ Shared
+
+
+
+
+
\ No newline at end of file
diff --git a/ReportImp/BWSBetreuenWohnenSoziales/Properties/AssemblyInfo.cs b/ReportImp/BWSBetreuenWohnenSoziales/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..930888dd6
--- /dev/null
+++ b/ReportImp/BWSBetreuenWohnenSoziales/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Allgemeine Informationen über eine Assembly werden über die folgenden
+// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+// die einer Assembly zugeordnet sind.
+[assembly: AssemblyTitle("KundeXyz")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("KundeXyz")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
+// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
+// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
+[assembly: ComVisible(false)]
+
+// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
+[assembly: Guid("c1fed668-adb9-47e0-b589-1389618e1b6e")]
+
+// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+//
+// Hauptversion
+// Nebenversion
+// Buildnummer
+// Revision
+//
+// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
+// indem Sie "*" wie unten gezeigt eingeben:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/ReportImp/BWSBetreuenWohnenSoziales/Translation/TranslationDictionary.cs b/ReportImp/BWSBetreuenWohnenSoziales/Translation/TranslationDictionary.cs
new file mode 100644
index 000000000..d22827728
--- /dev/null
+++ b/ReportImp/BWSBetreuenWohnenSoziales/Translation/TranslationDictionary.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+using BeWo.Data.Access;
+using BeWo.Data.Entities;
+using BeWo.Service.DCEntityMapper;
+using BeWo.Service.Plugins;
+using BS.Shared;
+using BS.Shared.Core;
+using BS.Shared.DataContracts.Compact;
+using BS.Shared.Extensions;
+
+namespace BWSBetreuenWohnenSoziales.Translation
+{
+ public class CustomTranslationDictionary : TranslationDictionary
+ {
+ public override Dictionary GetTranslationDictionary()
+ {
+ var dict = base.GetTranslationDictionary();
+
+ AddOrReplaceTranslation(dict, "Zeiterfassung", "Dokumentation");
+ AddOrReplaceTranslation(dict, "ZeiterfassungMenuItem", "Dokumentation");
+
+
+ return dict;
+ }
+ }
+}
diff --git a/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitFruehUndSpaetbetreuung.cs b/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitAusserschulischesBetreuungsangebot.cs
similarity index 88%
rename from ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitFruehUndSpaetbetreuung.cs
rename to ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitAusserschulischesBetreuungsangebot.cs
index 591b816d9..1bda98095 100644
--- a/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitFruehUndSpaetbetreuung.cs
+++ b/ReportImp/LebenshilfeFrankfurtOder/AusserschulischesBetreuungsangebot/AnwesenheitAusserschulischesBetreuungsangebot.cs
@@ -19,8 +19,9 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot
{
//Berechnet anhand der Daten der ergänzenden Dienste die Abwesenheiten und die anzurechnenden Staffelpreise für die Früh- und Spätbetreuung
- public class AnwesenheitFruehUndSpaetbetreuung
+ public class AnwesenheitAusserschulischesBetreuungsangebot
{
+ public bool IstFerienbetreuung { get; set; } // Wenn false, dann ist es Hort Früh-/Spätbetreuung
public List CustomerAnwesenheiten { get; set; } = new List();
public DateTime Monat { get; set; }
@@ -32,38 +33,62 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot
public StaffelpreisProTag Staffel4 { get; set; } = new StaffelpreisProTag();
public StaffelpreisProTag Staffel5 { get; set; } = new StaffelpreisProTag();
- internal void BerechneGesamtAnwesenheit(AdditionalServiceBookingRO roFrueh, AdditionalServiceBookingRO roSpaet)
+ internal void BerechneGesamtAnwesenheit(AdditionalServiceBookingRO roFrueh, AdditionalServiceBookingRO roSpaet, AdditionalServiceBookingRO roFerien)
{
+ if (roFrueh != null && roSpaet != null)
+ {
+ IstFerienbetreuung = false;
+ Monat = new DateTime(roFrueh.Year, roFrueh.MonthInt, 1);
+
+ foreach (var sRow in roFrueh.Rows)
+ {
+ //Prüfe ob schon in Frühbetreuung, sonst füge Row zum Gesamt RO hinzu
+ var row = CustomerAnwesenheiten.FirstOrDefault(a => a.CustomerDC.CustomerOid == sRow.CustomerDC.CustomerOid);
+ if (row == null)
+ {
+ CustomerAnwesenheiten.Add(CreateCustomerAnwesenheit(sRow, Monat));
+ }
+ else
+ {
+ AddAnwesenheit(row, sRow);
+ }
+ }
+
+ foreach (var sRow in roSpaet.Rows)
+ {
+ //Prüfe ob schon in Frühbetreuung, sonst füge Row zum Gesamt RO hinzu
+ var row = CustomerAnwesenheiten.FirstOrDefault(a => a.CustomerDC.CustomerOid == sRow.CustomerDC.CustomerOid);
+ if (row == null)
+ {
+ CustomerAnwesenheiten.Add(CreateCustomerAnwesenheit(sRow, Monat));
+ }
+ else
+ {
+ AddAnwesenheit(row, sRow);
+ }
+ }
+ }
- Monat = new DateTime(roFrueh.Year, roFrueh.MonthInt, 1);
-
- foreach (var sRow in roFrueh.Rows)
+ if (roFerien != null)
{
- //Prüfe ob schon in Frühbetreuung, sonst füge Row zum Gesamt RO hinzu
- var row = CustomerAnwesenheiten.FirstOrDefault(a => a.CustomerDC.CustomerOid == sRow.CustomerDC.CustomerOid);
- if (row == null)
+ IstFerienbetreuung = true;
+ Monat = new DateTime(roFerien.Year, roFerien.MonthInt, 1);
+
+ foreach (var sRow in roFerien.Rows)
{
- CustomerAnwesenheiten.Add(CreateCustomerAnwesenheit(sRow, Monat));
- }
- else
- {
- AddAnwesenheit(row, sRow);
+ //Prüfe ob schon in Frühbetreuung, sonst füge Row zum Gesamt RO hinzu
+ var row = CustomerAnwesenheiten.FirstOrDefault(a => a.CustomerDC.CustomerOid == sRow.CustomerDC.CustomerOid);
+ if (row == null)
+ {
+ CustomerAnwesenheiten.Add(CreateCustomerAnwesenheit(sRow, Monat));
+ }
+ else
+ {
+ AddAnwesenheit(row, sRow);
+ }
}
}
- foreach (var sRow in roSpaet.Rows)
- {
- //Prüfe ob schon in Frühbetreuung, sonst füge Row zum Gesamt RO hinzu
- var row = CustomerAnwesenheiten.FirstOrDefault(a => a.CustomerDC.CustomerOid == sRow.CustomerDC.CustomerOid);
- if (row == null)
- {
- CustomerAnwesenheiten.Add(CreateCustomerAnwesenheit(sRow, Monat));
- }
- else
- {
- AddAnwesenheit(row, sRow);
- }
- }
BerechneSummenUndStaffelpreise();
}
@@ -223,15 +248,15 @@ namespace LebenshilfeFrankfurtOder.AusserschulischesBetreuungsangebot
DateTime end = dt.AddMonths(1);
Staffel1.Staffel = 1;
- Staffel1.Preis = FrankfurtOderHelper.GetStaffelPreis(1, dt) ?? 0;
+ Staffel1.Preis = FrankfurtOderHelper.GetStaffelPreis(1, dt, IstFerienbetreuung) ?? 0;
Staffel2.Staffel = 2;
- Staffel2.Preis = FrankfurtOderHelper.GetStaffelPreis(2, dt) ?? 0;
+ Staffel2.Preis = FrankfurtOderHelper.GetStaffelPreis(2, dt, IstFerienbetreuung) ?? 0;
Staffel3.Staffel = 3;
- Staffel3.Preis = FrankfurtOderHelper.GetStaffelPreis(3, dt) ?? 0;
+ Staffel3.Preis = FrankfurtOderHelper.GetStaffelPreis(3, dt, IstFerienbetreuung) ?? 0;
Staffel4.Staffel = 4;
- Staffel4.Preis = FrankfurtOderHelper.GetStaffelPreis(4, dt) ?? 0;
+ Staffel4.Preis = FrankfurtOderHelper.GetStaffelPreis(4, dt, IstFerienbetreuung) ?? 0;
Staffel5.Staffel = 5;
- Staffel5.Preis = FrankfurtOderHelper.GetStaffelPreis(5, dt) ?? 0;
+ Staffel5.Preis = FrankfurtOderHelper.GetStaffelPreis(5, dt, IstFerienbetreuung) ?? 0;
while (dt < end)
{