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 Inkomm { public class CustomCustomerService : CustomerService { public override long InsertNewCustomer(CustomerDC pCustomerDc) { var cOid = base.InsertNewCustomer(pCustomerDc); ErstelleOrdnerStrukturKlienten(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) { ErstelleOrdnerStrukturKlienten(pCustomerOid); } return dc; } private void ErstelleOrdnerStrukturKlienten(long cOid) { // HIERACHIE LEVEL - 1 - var folder01 = CreateBeWoFolderKlienten("01 BEI", cOid, null); var folder02 = CreateBeWoFolderKlienten("02 Antrag auf Eingliederungshilfe/Anmeldung", cOid, null); var folder03 = CreateBeWoFolderKlienten("03 Schweigepflichtentbindung", cOid, null); var folder04 = CreateBeWoFolderKlienten("04 FAS", cOid, null); var folder05 = CreateBeWoFolderKlienten("05 Gesundheit", cOid, null); var folder06 = CreateBeWoFolderKlienten("06 Ausweisdokumente", cOid, null); var folder07 = CreateBeWoFolderKlienten("07 Wohnungsangelegenheiten", cOid, null); var folder08 = CreateBeWoFolderKlienten("08 Einkommensbescheid", cOid, null); var folder09 = CreateBeWoFolderKlienten("09 Kontoauszüge", cOid, null); var folder10 = CreateBeWoFolderKlienten("10 Antrag SGB IX", cOid, null); var folder11 = CreateBeWoFolderKlienten("11 Bestellungsurkunde/Gutachten", cOid, null); var folder12 = CreateBeWoFolderKlienten("12 Korrespondenz LVR", cOid, null); var folder13 = CreateBeWoFolderKlienten("13 Bewilligung", cOid, null); var folder14 = CreateBeWoFolderKlienten("14 Betreuungsvertrag", cOid, null); var folder15 = CreateBeWoFolderKlienten("15 Sonstiges", cOid, null); var folder16 = CreateBeWoFolderKlienten("16 Quittierungsbelege ", cOid, null); var folder17 = CreateBeWoFolderKlienten("17 Zielüberprüfung ", cOid, null); } private void ErstelleOrdnerStrukturHilfepläne(long scOid) { // HIERACHIE LEVEL - 1 - var folder01 = CreateBeWoFolderSupportConcept("BEI", scOid, null); var folder02 = CreateBeWoFolderSupportConcept("Bewilligung", scOid, null); var folder03 = CreateBeWoFolderSupportConcept("Abschlussbericht", scOid, null); // HIERACHIE LEVEL - 2 - var folder01_01 = CreateBeWoFolderSupportConcept("Unterschriftenseite BEI", scOid, folder01.Oid); var folder01_02 = CreateBeWoFolderSupportConcept("Anschreiben Erst-BEI", scOid, folder01.Oid); var folder01_03 = CreateBeWoFolderSupportConcept("Anschreiben Folge-BEI", scOid, folder01.Oid); var folder01_04 = CreateBeWoFolderSupportConcept("Abschlussberichte", scOid, folder01.Oid); } private BeWoFolder CreateBeWoFolderKlienten(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 BeWoFolder CreateBeWoFolderSupportConcept(string name, long? scOid, long? parentOid) { BeWoFolder f = new BeWoFolder(); f.Name = name; f.ObjectOid = scOid; f.ObjectTid = TableID.SupportConcept; f.ParentBeWoFolderOid = parentOid; DAOFactory.GenericDAO.Insert(f); return f; } private void SaveHierarchie(List folderList, long cOid, long? parentOid) { foreach (var item in folderList) { var f = CreateBeWoFolderKlienten(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; } } }