From e848cbdcb31ce667a4a53ecf38fc07ba8f469c4f Mon Sep 17 00:00:00 2001 From: Marcel Hirschle Date: Wed, 18 Jan 2023 12:27:06 +0100 Subject: [PATCH] MH: Ordnerstruktur MalteserJohanniterJohanneshaus --- BeWo.sln | 19 ++++ .../MalteserJohanniterJohanneshaus.csproj | 73 +++++++++++++++ .../Properties/AssemblyInfo.cs | 36 +++++++ .../Service/CustomCustomerService.cs | 93 +++++++++++++++++++ 4 files changed, 221 insertions(+) create mode 100644 ReportImp/MalteserJohanniterJohanneshaus/MalteserJohanniterJohanneshaus.csproj create mode 100644 ReportImp/MalteserJohanniterJohanneshaus/Properties/AssemblyInfo.cs create mode 100644 ReportImp/MalteserJohanniterJohanneshaus/Service/CustomCustomerService.cs diff --git a/BeWo.sln b/BeWo.sln index 5d20c72f0..5254946cb 100644 --- a/BeWo.sln +++ b/BeWo.sln @@ -597,6 +597,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Club74DB2", "ReportImp\Club EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Inkomm", "ReportImp\Inkomm\Inkomm.csproj", "{AD3876F3-40C0-47CF-BA36-687139903F87}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MalteserJohanniterJohanneshaus", "ReportImp\MalteserJohanniterJohanneshaus\MalteserJohanniterJohanneshaus.csproj", "{28331CB1-17FD-4B58-A837-E0249CAAC535}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|.NET = Debug|.NET @@ -4760,6 +4762,22 @@ Global {AD3876F3-40C0-47CF-BA36-687139903F87}.Release|Mixed Platforms.Build.0 = Release|Any CPU {AD3876F3-40C0-47CF-BA36-687139903F87}.Release|x86.ActiveCfg = Release|Any CPU {AD3876F3-40C0-47CF-BA36-687139903F87}.Release|x86.Build.0 = Release|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Debug|.NET.ActiveCfg = Debug|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Debug|.NET.Build.0 = Debug|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Debug|Any CPU.Build.0 = Debug|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Debug|x86.ActiveCfg = Debug|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Debug|x86.Build.0 = Debug|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Release|.NET.ActiveCfg = Release|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Release|.NET.Build.0 = Release|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Release|Any CPU.ActiveCfg = Release|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Release|Any CPU.Build.0 = Release|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Release|x86.ActiveCfg = Release|Any CPU + {28331CB1-17FD-4B58-A837-E0249CAAC535}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -5054,6 +5072,7 @@ Global {C982ECDF-517C-45AD-AF50-F9C7AE07C5E5} = {D8A691C5-146D-4613-86CC-438F02FE9106} {50AFC9EA-61A7-4D3B-B8E6-82CABD29A421} = {D8A691C5-146D-4613-86CC-438F02FE9106} {AD3876F3-40C0-47CF-BA36-687139903F87} = {D8A691C5-146D-4613-86CC-438F02FE9106} + {28331CB1-17FD-4B58-A837-E0249CAAC535} = {D8A691C5-146D-4613-86CC-438F02FE9106} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {FBE985BB-9F0F-4DBB-8F94-ABC37A803FF9} diff --git a/ReportImp/MalteserJohanniterJohanneshaus/MalteserJohanniterJohanneshaus.csproj b/ReportImp/MalteserJohanniterJohanneshaus/MalteserJohanniterJohanneshaus.csproj new file mode 100644 index 000000000..662893ac2 --- /dev/null +++ b/ReportImp/MalteserJohanniterJohanneshaus/MalteserJohanniterJohanneshaus.csproj @@ -0,0 +1,73 @@ + + + + + Debug + AnyCPU + {28331CB1-17FD-4B58-A837-E0249CAAC535} + Library + Properties + MalteserJohanniterJohanneshaus + 1422963536_Reports + v4.7.2 + 512 + + + + true + full + false + ..\..\Host\bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + ..\..\Host\bin\ + 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/MalteserJohanniterJohanneshaus/Properties/AssemblyInfo.cs b/ReportImp/MalteserJohanniterJohanneshaus/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..930888dd6 --- /dev/null +++ b/ReportImp/MalteserJohanniterJohanneshaus/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/MalteserJohanniterJohanneshaus/Service/CustomCustomerService.cs b/ReportImp/MalteserJohanniterJohanneshaus/Service/CustomCustomerService.cs new file mode 100644 index 000000000..d986fa41f --- /dev/null +++ b/ReportImp/MalteserJohanniterJohanneshaus/Service/CustomCustomerService.cs @@ -0,0 +1,93 @@ +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Service.Plugins; +using BS.Shared; +using BS.Shared.DataContracts; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; + + +namespace MalteserJohanniterJohanneshaus +{ + public class CustomCustomerService : CustomerService + { + + public override long InsertNewCustomer(CustomerDC pCustomerDc) + { + var cOid = base.InsertNewCustomer(pCustomerDc); + + ErstelleOrdnerStruktur(cOid); + + return cOid; + } + + public override CustomerDC LoadCustomer(long pCustomerOid) + { + var dc = base.LoadCustomer(pCustomerOid); + + var folder = DAOFactory.SearchDAO.FindBeWoFolders(TableID.Customer, pCustomerOid); + + if (folder.Count == 0) + { + ErstelleOrdnerStruktur(pCustomerOid); + } + + return dc; + + } + + private void ErstelleOrdnerStruktur(long cOid) + { + // HIERACHIE LEVEL - 1 - + var folder01 = CreateBeWoFolder("01 Antragswesen", cOid, null); + var folder02 = CreateBeWoFolder("02 Vertragswesen", cOid, null); + var folder03 = CreateBeWoFolder("03 Sonstiges", cOid, null); + } + + private BeWoFolder CreateBeWoFolder(string name, long? cOid, long? parentOid) + { + BeWoFolder f = new BeWoFolder(); + f.Name = name; + f.ObjectOid = cOid; + f.ObjectTid = TableID.Customer; + f.ParentBeWoFolderOid = parentOid; + + DAOFactory.GenericDAO.Insert(f); + + return f; + } + private void CreateSubFolder(string[] vs, BeWoFolder folder) + { + foreach (var foldername in vs) + { + CreateBeWoFolder(foldername, folder.ObjectOid, folder.ParentBeWoFolderOid); + } + } + + private void SaveHierarchie(List folderList, long cOid, long? parentOid) + { + foreach (var item in folderList) + { + var f = CreateBeWoFolder(item.Name, cOid, parentOid); + + SaveHierarchie(item.Subfolder, cOid, f.Oid); + } + } + } + + public class Folder + { + public Folder(String name) + { + Name = name; + Subfolder = new List(); + } + public String Name { get; set; } + + public List Subfolder { get; set; } + } +}