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) {