Files
BeWoPlaner/ReportImp/SKFLeverkusen/CustomReportCreator.cs
Lyndon Jetten 2a2cf05f5b Quittierungsbeleg für SKF Leverkusen hinzugefügt
MoK erweiterte Ressourcenverfügbarkeitsprüfung hinzugefügt
MoK Darstellung von ServiceRecords mit Marker ist wie im FaC, Anpassung im Formular folgt
2023-07-24 17:57:14 +02:00

91 lines
3.3 KiB
C#

using System;
using System.Data;
using System.IO;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.DCEntityMapper;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
namespace SKFLeverkusen
{
public class CustomReportCreator : DefaultReportCreator
{
public override XtraReport CreateQueryReport(long queryOid, string queryReportId)
{
if (queryOid == 300 || queryOid == 310 || queryOid == 320 || queryOid == 330 || queryOid == 340 || queryOid == 350)
return CreateCustomerReport(queryOid, queryReportId);
return base.CreateQueryReport(queryOid, queryReportId);
}
private XtraReport CreateCustomerReport(long queryOid, string queryReportId)
{
var query = DAOFactory.GenericDAO.LoadByID<Query>(queryOid);
if (query == null)
return new XtraReport();
var path = Path.Combine(TempPath, queryReportId + ".xml");
var table = Utils.XMLDeserialize<DataTable>(path);
var qro = QueryRO.Create(query, table);
if (qro.Rows.Count > 0)
{
long? customerOid = null;
if (qro.Rows[0].Field1 != null && qro.Rows[0].Field1.ToString() != "0")
{
customerOid = Int64.Parse(qro.Rows[0].Field1.ToString());
var c = DAOFactory.GenericDAO.LoadByID<Customer>(customerOid.Value);
var ro = (CustomerDataRO.Create(MapperFactory.CustomerDC_Customer.MapToNewDC(c)));
if (queryOid == 300)
{
var druck = new Betreuungsvertrag();
druck.SetReportDataSource(ro);
return druck;
}
else if (queryOid == 310)
{
var druck = new ABWErstantrag();
druck.SetReportDataSource(ro);
return druck;
}
else if (queryOid == 320)
{
var druck = new ABWFolgeantrag();
druck.SetReportDataSource(ro);
return druck;
}
else if (queryOid == 330)
{
var druck = new ABWAenderungsmitteilung();
druck.SetReportDataSource(ro);
return druck;
}
else if (queryOid == 340)
{
var druck = new Krisenplan();
druck.SetReportDataSource(ro);
return druck;
}
else if (queryOid == 350)
{
var druck = new ABWAufnahmeanzeigeLVR();
druck.SetReportDataSource(ro);
return druck;
}
}
}
return new XtraReport();
}
public override XtraReport CreateSettlementReport(string dcId, long? invoiceBaseOid)
{
return base.CreateSettlementReport(dcId, invoiceBaseOid, true);
}
}
}