Files
BeWoPlaner/ReportImp/MuenchenerAidsHilfeEV/Service/CustomCustomerService.cs

103 lines
3.1 KiB
C#

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;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KundeXyz.Service
{
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)
{
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<CompactSupportConceptDC> GetAllSupportConceptsCompact(long currentEmployeeOid)
{
var result = base.GetAllSupportConceptsCompact(currentEmployeeOid);
foreach (var sc in result)
{
bool expires = false;
DateTime? date = sc.EndDate;
if (sc.Customer.TerminationDate.HasValue)
{
if (sc.Customer.TerminationDate < date)
{
date = sc.Customer.TerminationDate;
}
}
if (date != null)
{
expires = date < DateTime.Now.AddMonths(2);
}
//sc.IsAboutToExpire = expires; // schreibgeschützt
}
return result;
}
}
}