diff --git a/ReportImp/MuenchenerAidsHilfeEV/Service/CustomCustomerService.cs b/ReportImp/MuenchenerAidsHilfeEV/Service/CustomCustomerService.cs index 19cf6dc7b..a9da0602d 100644 --- a/ReportImp/MuenchenerAidsHilfeEV/Service/CustomCustomerService.cs +++ b/ReportImp/MuenchenerAidsHilfeEV/Service/CustomCustomerService.cs @@ -1,4 +1,8 @@ -using BeWo.Service.Plugins; +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Service.Plugins; +using BS.Shared; +using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; using System; using System.Collections.Generic; @@ -10,7 +14,61 @@ namespace KundeXyz.Service { public class CustomCustomerService : CustomerService { - public override List GetAllSupportConceptsCompact(long currentEmployeeOid) + 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) + { + var aktuellesJahr = DateTime.Now.Year.ToString(); + // Ordner 1 + var folder_01 = CreateBeWoFolder(aktuellesJahr, cOid, null); + var folder_02 = CreateBeWoFolder("Archiv", cOid, null); + var folder_03 = CreateBeWoFolder("wichtige Unterlagen u. Dokumente", cOid, null); + + //Ordner 2 + var folder_01_01 = CreateBeWoFolder("01_Betreuungskosten", cOid, folder_01.Oid); + var folder_01_02 = CreateBeWoFolder("02_Einkommen", cOid, folder_01.Oid); + var folder_01_03 = CreateBeWoFolder("03_Gesundheit + Krankenkasse", cOid, folder_01.Oid); + var folder_01_04 = CreateBeWoFolder("04_Wohnung", cOid, folder_01.Oid); + var folder_01_05 = CreateBeWoFolder("05_ Arbeit_Ausbildung", cOid, folder_01.Oid); + var folder_01_06 = CreateBeWoFolder("06_Individuell", cOid, folder_01.Oid); + + } + + 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; + } + + public override List GetAllSupportConceptsCompact(long currentEmployeeOid) { var result = base.GetAllSupportConceptsCompact(currentEmployeeOid); diff --git a/ReportImp/MuenchenerAidsHilfeEV/ServiceRecordListReport.cs b/ReportImp/MuenchenerAidsHilfeEV/ServiceRecordListReport.cs index 053daf3db..650c984c5 100644 --- a/ReportImp/MuenchenerAidsHilfeEV/ServiceRecordListReport.cs +++ b/ReportImp/MuenchenerAidsHilfeEV/ServiceRecordListReport.cs @@ -50,10 +50,14 @@ namespace MuenchenerAidsHilfeEV // ServiceRecords mit mehr als einem Ziel müssen dupliziert werden, da in jedem Tabelleneintrag nur EIN Ziel mit allen dokumentierten Maßnahmen stehen soll // Es müssen also die x bearbeiteten Ziele in einem Termin auf x einzelene ServiceRecords aufgeteilt werden - List duplicatesToAdd = new List(); + + List allDuplicatesToAdd = new List(); foreach (var sr in pRO.ServiceRecordDetailList) { + List duplicatesToAdd = new List(); + + // Notice4 setzen (Betreuer) (Doch nicht gewünscht) //sr.ServiceRecord.Notice4 = sr.EmployeeFirstName.Substring(0, 1) + sr.EmployeeLastName.Substring(0, 1); @@ -72,6 +76,11 @@ namespace MuenchenerAidsHilfeEV // Für richtige Tabellendarstellung muss am Ende ein ServiceRecordDetail pro GoalPath hinzugefügt werden if (sr.GoalPaths.Count > 0) { + if (sr.Start.Value.Day == 19) + { + + } + sr.ServiceCategory = ""; sr.Notice = ""; @@ -115,9 +124,11 @@ namespace MuenchenerAidsHilfeEV } } } + + allDuplicatesToAdd.AddRange(duplicatesToAdd); } - pRO.ServiceRecordDetailList.AddRange(duplicatesToAdd); + pRO.ServiceRecordDetailList.AddRange(allDuplicatesToAdd); pRO.ServiceRecordDetailList.OrderBy(sr => sr.Start); // Wenn mehr als 30 Tage am Stück abwesend, dann darstellen