Files
BeWoPlaner/ReportImp/CaritasUnna/RechnungWLH.cs
2019-11-24 15:33:32 +01:00

120 lines
4.3 KiB
C#

using System;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using BS.Shared.Core;
namespace CaritasUnna
{
[IDSpecificClass(Identifier = "LWLWohnungslosenhilfe")]
public partial class SpitzabrechnungWlh : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SettlementRO>
{
public SpitzabrechnungWlh()
{
InitializeComponent();
}
public void SetReportDataSource(SettlementRO pRO)
{
decimal? betrag1 = 0;
decimal? betrag2 = 0;
decimal? betrag3 = 0;
if (pRO.DifferentHourlyRateCount == 3)
{
betrag1 = pRO.GeleisteteFLSMitStundensatz3*pRO.HourlyRate3;
pRO.Betrag1 = String.Format("{0:c}", betrag1);
betrag2 = pRO.GeleisteteFLSMitStundensatzAlt*pRO.HourlyRateOld;
pRO.Betrag2 = String.Format("{0:c}", betrag2);
betrag3 = pRO.GeleisteteFLSMitStundensatzAktuell*pRO.HourlyRateNew;
pRO.Betrag3 = String.Format("{0:c}", betrag3);
cellBetrag1.Text = pRO.Betrag1;
cellBetrag2.Text = pRO.Betrag2;
cellBetrag3.Text = pRO.Betrag3;
cellStart1.Text = pRO.AccountingStartDateString;
cellEnd1.Text = pRO.HourlyRate3EndDateString;
cellHourlyRate1.Text = pRO.HourlyRate3String;
cellFLS1.Text = String.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatz3);
cellStart2.Text = pRO.HourlyRateOldStartDateString;
cellEnd2.Text = pRO.HourlyRateOldEndDateString;
cellHourlyRate2.Text = pRO.HourlyRateOldString;
cellFLS2.Text = String.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatzAlt);
cellStart3.Text = pRO.HourlyRateNewStartDateString;
cellEnd3.Text = pRO.AccountingEndDateString;
cellHourlyRate3.Text = pRO.HourlyRateNewString;
cellFLS3.Text = String.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatzAktuell);
}
else if (pRO.DifferentHourlyRateCount == 2)
{
betrag2 = pRO.GeleisteteFLSMitStundensatzAlt*pRO.HourlyRateOld;
pRO.Betrag2 = String.Format("{0:c}", betrag2);
betrag3 = pRO.GeleisteteFLSMitStundensatzAktuell*pRO.HourlyRateNew;
pRO.Betrag3 = String.Format("{0:c}", betrag3);
cellBetrag1.Text = "";
cellBetrag2.Text = pRO.Betrag2;
cellBetrag3.Text = pRO.Betrag3;
cellStart2.Text = pRO.AccountingStartDateString;
cellEnd2.Text = pRO.HourlyRateOldEndDateString;
cellHourlyRate2.Text = pRO.HourlyRateOldString;
cellFLS2.Text = String.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatzAlt);
cellStart3.Text = pRO.HourlyRateNewStartDateString;
cellEnd3.Text = pRO.AccountingEndDateString;
cellHourlyRate3.Text = pRO.HourlyRateNewString;
cellFLS3.Text = pRO.RecordedFLSWithNewHourlyRateString;
cellFLS3.Text = String.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatzAktuell);
}
else
{
cellStart3.Text = pRO.AccountingStartDateString;
cellEnd3.Text = pRO.AccountingEndDateString;
cellHourlyRate3.Text = pRO.HourlyRateNewString;
cellFLS3.Text = String.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatzAktuell);
betrag3 = pRO.GeleisteteFLSMitStundensatzAktuell*pRO.HourlyRateNew;
pRO.Betrag3 = String.Format("{0:c}", betrag3);
cellBetrag1.Text = "";
cellBetrag2.Text = "";
cellBetrag3.Text = pRO.Betrag3;
}
decimal fahrt = 0;
decimal fehl = 0;
if (betrag1.HasValue)
betrag1 = Math.Round(betrag1.Value, 2, MidpointRounding.AwayFromZero);
if (betrag2.HasValue)
betrag2 = Math.Round(betrag2.Value, 2, MidpointRounding.AwayFromZero);
if (betrag3.HasValue)
betrag3 = Math.Round(betrag3.Value, 2, MidpointRounding.AwayFromZero);
decimal summe = (betrag1 ?? 0) + (betrag2 ?? 0) + (betrag3 ?? 0);
fehl = Math.Round(summe * (5m / 100m), 2, MidpointRounding.AwayFromZero);
fahrt = summe * (20m / 100m);
fahrt = pRO.ClaimWithEigenbeteiligung - summe - fehl;
cellZwischensumme.Text = String.Format("{0:c}", summe);
cellFahrtzeiten.Text = String.Format("{0:c}", fahrt);
cellAusfallzeiten.Text = String.Format("{0:c}", fehl);
cellGesamt.Text = String.Format("{0:c}", pRO.ClaimWithEigenbeteiligung);
ortDatum.Text = string.Format("Unna, {0}", DateTime.Now.ToShortDateString());
bindingSource1.DataSource = pRO;
}
}
}