61 lines
1.8 KiB
C#
61 lines
1.8 KiB
C#
using System;
|
|
using BeWo.Data.Access;
|
|
using BeWo.Data.Entities;
|
|
using BeWo.Service.Plugins;
|
|
using BS.Shared.DataContracts;
|
|
|
|
|
|
namespace OwnSoftTestSchmitzi.Service
|
|
{
|
|
public class CustomAccountingService : AccountingService
|
|
{
|
|
public override ServiceInvoice ErstelleStornoRechnung(InvoiceBaseDC ibdc)
|
|
{
|
|
var i = base.ErstelleStornoRechnung(ibdc);
|
|
|
|
SetzeRechnungsnummer(i.InvoiceBase, ibdc);
|
|
i.InvoiceBase.StornoInvoiceBaseOid = ibdc.InvoiceBaseOid.Value;
|
|
DAOFactory.GenericDAO.Insert(i);
|
|
|
|
var original = DAOFactory.GenericDAO.LoadByID<InvoiceBase>(ibdc.InvoiceBaseOid.Value);
|
|
original.StornoInvoiceBaseOid = i.Oid;
|
|
DAOFactory.GenericDAO.Update(original);
|
|
|
|
return i;
|
|
}
|
|
|
|
public override InvoiceBase ErstelleStornoAllgemeineRechnung(InvoiceBaseDC ibdc)
|
|
{
|
|
var i = base.ErstelleStornoAllgemeineRechnung(ibdc);
|
|
|
|
SetzeRechnungsnummer(i, ibdc);
|
|
i.StornoInvoiceBaseOid = ibdc.InvoiceBaseOid.Value;
|
|
|
|
DAOFactory.GenericDAO.Insert(i);
|
|
|
|
var original = DAOFactory.GenericDAO.LoadByID<InvoiceBase>(ibdc.InvoiceBaseOid.Value);
|
|
original.StornoInvoiceBaseOid = i.Oid;
|
|
|
|
DAOFactory.GenericDAO.Update(original);
|
|
|
|
return i;
|
|
}
|
|
|
|
private void SetzeRechnungsnummer(InvoiceBase neu, InvoiceBaseDC alt)
|
|
{
|
|
if (!String.IsNullOrEmpty(neu.InvoiceNumber))
|
|
{
|
|
neu.InvoiceNumber = alt.InvoiceNumber + " Storno";
|
|
}
|
|
|
|
if (String.IsNullOrEmpty(neu.InvoiceTypeText))
|
|
{
|
|
neu.InvoiceTypeText = "Storno";
|
|
}
|
|
else
|
|
{
|
|
neu.InvoiceTypeText += " Storno";
|
|
}
|
|
}
|
|
}
|
|
} |