Files
BeWoPlaner/ReportImp/VSDHammReports/ServiceInvoiceReport.cs
2026-07-21 09:28:04 +02:00

51 lines
1.7 KiB
C#

using BeWo.Report;
using BeWo.Report.ReportObjects;
using DevExpress.XtraReports.UI;
using System;
namespace VSDHammReports
{
public partial class ServiceInvoiceReport : XtraReport, IBeWoReport<ServiceInvoiceRO>
{
public ServiceInvoiceReport()
{
this.InitializeComponent();
}
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
decimal summeFachleistungen = 0;
decimal summeFehlkontakte = 0;
foreach (var ip in pRO.ServiceInvoicePeriods)
{
foreach (var item in ip.ServiceInvoiceItems)
{
decimal faktor = 1;
if (item.RateFactor.Contains("%"))
{
var splitFactor = item.RateFactor.Split('%');
faktor = 1 + (Convert.ToDecimal(splitFactor[0]) / 100);
}
if (item.ServiceDescription.ToLower().Contains("fehlkontakt"))
summeFehlkontakte += item.UnitCount.Value * item.AmountPerUnit.Value;
else
summeFachleistungen += item.UnitCount.Value * item.AmountPerUnit.Value;
}
}
tcSummeFachleistungen.Text = string.Format("{0:c}", summeFachleistungen);
tcSummeFehlkontakte.Text = string.Format("{0:c}", summeFehlkontakte);
if (summeFehlkontakte == 0)
{
tcLabelSummeFehlkontakte.Visible = false;
tcSummeFehlkontakte.Visible = false;
}
this.bindingSource1.DataSource = pRO;
}
}
}