using BeWo.Data.Entities; using BeWo.Service.Invoicing; 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 AlphaEv.Invoicing { public class CustomInvoiceFactory : InvoiceFactory { public override SettlementInvoiceCreation CreateSettlementInvoiceCreator(string costbearerId, string tenant, CostBearer2SupportConcept lCb2Sc) { if (lCb2Sc.CostBearer.Organisation.Name.Contains("Stadt") && lCb2Sc.CostBearer.Organisation.Name.Contains("Wuppertal") || lCb2Sc.CostBearer.Organisation.Name.Contains("Stadt Remscheid") || lCb2Sc.CostBearer.Organisation.Name.Contains("Oberbergischer Kreis") || lCb2Sc.CostBearer.Organisation.Name.Contains("Jugendamt Köln") || lCb2Sc.CostBearer.Organisation.Name.Contains("Stadt Wermelskirchen (fls)")) return new WuppertalSettlementInvoiceCreation(); return base.CreateSettlementInvoiceCreator(costbearerId, tenant, lCb2Sc); } public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary> supportConcepts2ServiceRecords) { foreach (var sc2sr in supportConcepts2ServiceRecords) { if (sc2sr.Key.CostBearer.Contains("Stadt") && sc2sr.Key.CostBearer.Contains("Wuppertal") || sc2sr.Key.CostBearer.Contains("Stadt Remscheid") || sc2sr.Key.CostBearer.Contains("Oberbergischer Kreis") || sc2sr.Key.CostBearer.Contains("Jugendamt Köln") || sc2sr.Key.CostBearer.Contains("Stadt Wermelskirchen (fls)")) return new CustomInvoiceCreation(); } return new InvoiceCreation(); } } }