Files
BeWoPlaner/Service/Invoicing/InvoiceFactory.cs

45 lines
1.5 KiB
C#
Raw Normal View History

2016-06-27 01:45:38 +02:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
2017-02-01 13:53:59 +01:00
using BeWo.Data.Entities;
using BeWo.Service.Plugins;
2018-11-22 14:05:45 +01:00
using BeWo.Service.ServiceImplementations;
2016-06-27 01:45:38 +02:00
using BS.Shared.Core;
2018-11-22 14:05:45 +01:00
using Service.Invoicing;
2016-06-27 01:45:38 +02:00
namespace BeWo.Service.Invoicing
{
public class InvoiceFactory : AbstractIDSpecificDefaultClass<InvoiceFactory>
{
public virtual InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary<BS.Shared.DataContracts.Compact.CompactSupportConceptDC, List<BS.Shared.DataContracts.ServiceRecordDC>> supportConcepts2ServiceRecords)
{
2018-11-22 14:05:45 +01:00
var os = new OperationsServiceImp();
2019-02-12 19:22:22 +01:00
var m = os.GetMandator2(false);
2018-11-22 14:05:45 +01:00
if (m.AllowSbd)
{
return new SbdDefaultInvoiceCreation();
}
return InvoiceCreation.GetInstance(specificId, tenant);
2016-06-27 01:45:38 +02:00
}
2017-02-01 13:53:59 +01:00
public virtual SettlementInvoiceCreation CreateSettlementInvoiceCreator(string costbearerId, string tenant, CostBearer2SupportConcept lCb2Sc)
{
return PluginLoader.FindClass<SettlementInvoiceCreation>(costbearerId) ?? SettlementInvoiceCreation.GetInstance(costbearerId, tenant);
}
2018-01-08 22:29:10 +01:00
public virtual EquityInvoiceCreation CreateEquityInvoiceCreator(InvoiceBase ib)
{
return EquityInvoiceCreation.GetInstance(null);
}
2022-12-15 23:16:04 +01:00
public virtual GeneralInvoiceCreation CreateGeneralInvoiceCreator(InvoiceBase ib)
{
return GeneralInvoiceCreation.GetInstance(null);
}
2018-01-08 22:29:10 +01:00
}
2016-06-27 01:45:38 +02:00
}