Files
BeWoPlaner/ReportImp/LebenshilfeTrier/ServiceInvoiceReport.cs
Christian 9c97d6fe79 CB Merge
2019-07-12 17:36:37 +02:00

123 lines
3.8 KiB
C#

using System;
using System.Text;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using DevExpress.XtraReports.UI;
namespace LebenshilfeTrier
{
public partial class ServiceInvoiceReport : XtraReport, IBeWoReport<ServiceInvoiceRO>
{
public ServiceInvoiceReport()
{
this.InitializeComponent();
}
public void SetReportDataSource(ServiceInvoiceRO pRO)
{
StringBuilder sb = new StringBuilder();
if (!String.IsNullOrEmpty(pRO.RecipientOrganisation))
{
sb.AppendLine(pRO.RecipientOrganisation);
}
if (!String.IsNullOrEmpty(pRO.RecipientContactPerson))
{
sb.AppendLine(pRO.RecipientContactPerson);
}
if (!String.IsNullOrEmpty(pRO.RecipientDivision))
{
sb.AppendLine(pRO.RecipientDivision);
}
if (!String.IsNullOrEmpty(pRO.RecipientStreet))
{
sb.AppendLine(pRO.RecipientStreet);
}
if (!String.IsNullOrEmpty(pRO.RecipientPostCodeAndTown))
{
sb.AppendLine(pRO.RecipientPostCodeAndTown);
}
lblAddress.Text = sb.ToString();
SetzeBetraege(pRO);
this.bindingSource1.DataSource = pRO;
}
private void SetzeBetraege(ServiceInvoiceRO pRo)
{
decimal hoursQ1 = 0;
decimal hoursQ2 = 0;
decimal hourlyRateQ1 = 0;
decimal hourlyRateQ2 = 0;
decimal sumQ1 = 0;
decimal sumQ2 = 0;
if (pRo.ServiceInvoicePeriods != null)
{
foreach (var sip in pRo.ServiceInvoicePeriods)
{
if (sip.ServiceInvoiceItems != null)
{
foreach (var ii in sip.ServiceInvoiceItems)
{
if (sip.SupportConceptApprovalPeriod != null &&
sip.SupportConceptApprovalPeriod.ServiceCategory != null)
{
if (sip.SupportConceptApprovalPeriod.ServiceCategory.Name == "Q1")
{
hoursQ1 += ii.Hours ?? 0;
hourlyRateQ1 += ii.HourlyRate ?? 0;
sumQ1 += ii.NetAmount ?? 0;
}
else if (sip.SupportConceptApprovalPeriod.ServiceCategory.Name == "Q2")
{
hoursQ2 += ii.Hours ?? 0;
hourlyRateQ2 += ii.HourlyRate ?? 0;
sumQ2 += ii.NetAmount ?? 0;
}
}
}
}
}
}
if (hoursQ1 > 0)
{
lblStundenQ1.Text = String.Format("{0:0.00}", hoursQ1);
lblBetragQ1.Text = String.Format("{0:c}", sumQ1);
}
else
{
lblStundenQ1.Text = "";
lblBetragQ1.Text = "";
}
if (hoursQ2 > 0)
{
lblStundenQ2.Text = String.Format("{0:0.00}", hoursQ2);
lblBetragQ2.Text = String.Format("{0:c}", sumQ2);
}
else
{
lblStundenQ2.Text = "";
lblBetragQ2.Text = "";
}
lblStundensatzQ1.Text = String.Format("{0:c}", hourlyRateQ1);
lblStundensatzQ2.Text = String.Format("{0:c}", hourlyRateQ2);
lblBetragQ1Q2.Text = String.Format("{0:c}", sumQ1 + sumQ2);
}
}
}