Files
BeWoPlaner/ReportImp/DiakonieKKDuesseldorfMettmann/SettlementReport.cs

188 lines
12 KiB
C#

using System;
using BeWo.Report.ReportObjects;
using BeWo.Report;
namespace DiakonieKKDuesseldorfMettmann.Alt
{
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SettlementRO>
{
public Spitzabrechnung()
{
InitializeComponent();
}
public void SetReportDataSource(SettlementRO pRO)
{
pRO.AccountingPeriod = string.Format("{0} bis {1}", DateTime.Parse(pRO.AccountingStartDateString).ToString("dd.MM.yy"), DateTime.Parse(pRO.AccountingEndDateString).ToString("dd.MM.yy"));
if (pRO.DifferentHourlyRateCount == 3)
{
var month1Start = DateTime.Parse(pRO.AccountingStartDateString).ToString("MMM");
var year1Start = DateTime.Parse(pRO.AccountingStartDateString).ToString("yy");
var month1End = DateTime.Parse(pRO.HourlyRate3EndDateString).ToString("MMM");
var year1End = DateTime.Parse(pRO.HourlyRate3EndDateString).ToString("yy");
var month2Start = DateTime.Parse(pRO.HourlyRateOldStartDateString).ToString("MMM");
var year2Start = DateTime.Parse(pRO.HourlyRateOldStartDateString).ToString("yy");
var month2End = DateTime.Parse(pRO.HourlyRateOldEndDateString).ToString("MMM");
var year2End = DateTime.Parse(pRO.HourlyRateOldEndDateString).ToString("yy");
var month3Start = DateTime.Parse(pRO.HourlyRateNewStartDateString).ToString("MMM");
var year3Start = DateTime.Parse(pRO.HourlyRateNewStartDateString).ToString("yy");
var month3End = DateTime.Parse(pRO.AccountingEndDateString).ToString("MMM");
var year3End = DateTime.Parse(pRO.AccountingEndDateString).ToString("yy");
if (pRO.GeleisteteFLSMitStundensatz3.HasValue && pRO.GeleisteteFLSMitStundensatz3.Value != 0)
{
pRO.Abrechnungstext1 = String.Format("Fachleistungen von {0}{4} {1} bis {2}{5} {3}", month1Start, year1Start, month1End, year1End, month1Start.Equals("Mai") ? "" : ".", month1End.Equals("Mai") ? "" : ".");
MittelbareLeistung1.Text = "zuzüglich mittelbare Leistung";
Zwischensumme1Text.Text = "Zwischensumme Fachleistungen:";
gelStunden1.Text = string.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatz3);
MittelbareLeistungStd1.Text = string.Format("{0:0.00}",
pRO.GeleisteteFLSMitStundensatz3*
((decimal) pRO.RateFactor - 1));
Stundensatz1Text.Text = string.Format("à {0:0.00}", pRO.HourlyRate3);
pRO.Betrag1 = String.Format("{0:c}",
pRO.GeleisteteFLSMitStundensatz3*(decimal) pRO.RateFactor*
pRO.HourlyRate3);
BetragZwischensumme1Text.Text = pRO.Betrag1;
gelStundenZwischensumme1Text.Text = string.Format("{0:0.00}",
pRO.GeleisteteFLSMitStundensatz3*
(decimal) pRO.RateFactor);
}
if (pRO.GeleisteteFLSMitStundensatzAlt.HasValue && pRO.GeleisteteFLSMitStundensatzAlt.Value != 0)
{
pRO.Abrechnungstext2 = String.Format("Fachleistungen von {0}{4} {1} bis {2}{5} {3}", month2Start, year2Start, month2End, year2End, month2Start.Equals("Mai") ? "" : ".", month2End.Equals("Mai") ? "" : ".");
MittelbareLeistung2.Text = "zuzüglich mittelbare Leistung";
Zwischensumme2Text.Text = "Zwischensumme Fachleistungen:";
gelStunden2.Text = string.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatzAlt);
MittelbareLeistungStd2.Text = string.Format("{0:0.00}",
pRO.GeleisteteFLSMitStundensatzAlt*
((decimal) pRO.RateFactor - 1));
Stundensatz2Text.Text = string.Format("à {0:0.00}", pRO.HourlyRateOld);
pRO.Betrag2 = String.Format("{0:c}",
pRO.GeleisteteFLSMitStundensatzAlt*(decimal) pRO.RateFactor*
pRO.HourlyRateOld);
BetragZwischensumme2Text.Text = pRO.Betrag2;
gelStundenZwischensumme2Text.Text = string.Format("{0:0.00}",
pRO.GeleisteteFLSMitStundensatzAlt*
(decimal) pRO.RateFactor);
}
if (pRO.GeleisteteFLSMitStundensatzAktuell.HasValue && pRO.GeleisteteFLSMitStundensatzAktuell.Value != 0)
{
pRO.Abrechnungstext3 = String.Format("Fachleistungen von {0}{4} {1} bis {2}{5} {3}", month3Start, year3Start, month3End, year3End, month3Start.Equals("Mai") ? "" : ".", month3End.Equals("Mai") ? "" : ".");
MittelbareLeistung3.Text = "zuzüglich mittelbare Leistung";
Zwischensumme3Text.Text = "Zwischensumme Fachleistungen:";
gelStunden3.Text = string.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatzAktuell);
MittelbareLeistungStd3.Text = string.Format("{0:0.00}",
pRO.GeleisteteFLSMitStundensatzAktuell*
((decimal) pRO.RateFactor - 1));
Stundensatz3Text.Text = string.Format("à {0:0.00}", pRO.HourlyRateNew);
pRO.Betrag3 = String.Format("{0:c}",
pRO.GeleisteteFLSMitStundensatzAktuell*(decimal) pRO.RateFactor*
pRO.HourlyRateNew);
BetragZwischensumme3Text.Text = pRO.Betrag3;
gelStundenZwischensumme3Text.Text = string.Format("{0:0.00}",
pRO.GeleisteteFLSMitStundensatzAktuell*
(decimal) pRO.RateFactor);
}
}
else if (pRO.DifferentHourlyRateCount == 2)
{
var month1Start = DateTime.Parse(pRO.AccountingStartDateString).ToString("MMM");
var year1Start = DateTime.Parse(pRO.AccountingStartDateString).ToString("yy");
var month1End = DateTime.Parse(pRO.HourlyRateOldEndDateString).ToString("MMM");
var year1End = DateTime.Parse(pRO.HourlyRateOldEndDateString).ToString("yy");
var month2Start = DateTime.Parse(pRO.HourlyRateNewStartDateString).ToString("MMM");
var year2Start = DateTime.Parse(pRO.HourlyRateNewStartDateString).ToString("yy");
var month2End = DateTime.Parse(pRO.AccountingEndDateString).ToString("MMM");
var year2End = DateTime.Parse(pRO.AccountingEndDateString).ToString("yy");
if (pRO.GeleisteteFLSMitStundensatzAlt.HasValue && pRO.GeleisteteFLSMitStundensatzAlt.Value != 0)
{
pRO.Abrechnungstext2 = String.Format("Fachleistungen von {0}{4} {1} bis {2}{5} {3}", month1Start, year1Start, month1End, year1End, month1Start.Equals("Mai") ? "" : ".", month1End.Equals("Mai") ? "" : ".");
MittelbareLeistung2.Text = "zuzüglich mittelbare Leistung";
Zwischensumme2Text.Text = "Zwischensumme Fachleistungen:";
gelStunden2.Text = string.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatzAlt);
MittelbareLeistungStd2.Text = string.Format("{0:0.00}",
pRO.GeleisteteFLSMitStundensatzAlt*
((decimal) pRO.RateFactor - 1));
Stundensatz2Text.Text = string.Format("à {0:0.00}", pRO.HourlyRateOld);
pRO.Betrag2 = String.Format("{0:c}",
pRO.GeleisteteFLSMitStundensatzAlt*(decimal) pRO.RateFactor*
pRO.HourlyRateOld);
BetragZwischensumme2Text.Text = pRO.Betrag2;
gelStundenZwischensumme2Text.Text = string.Format("{0:0.00}",
pRO.GeleisteteFLSMitStundensatzAlt*
(decimal) pRO.RateFactor);
}
if (pRO.GeleisteteFLSMitStundensatzAktuell.HasValue && pRO.GeleisteteFLSMitStundensatzAktuell.Value != 0)
{
pRO.Abrechnungstext3 = String.Format("Fachleistungen von {0}{4} {1} bis {2}{5} {3}", month2Start, year2Start, month2End, year2End, month2Start.Equals("Mai") ? "" : ".", month2End.Equals("Mai") ? "" : ".");
MittelbareLeistung3.Text = "zuzüglich mittelbare Leistung";
Zwischensumme3Text.Text = "Zwischensumme Fachleistungen:";
gelStunden3.Text = string.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatzAktuell);
MittelbareLeistungStd3.Text = string.Format("{0:0.00}",
pRO.GeleisteteFLSMitStundensatzAktuell*
((decimal) pRO.RateFactor - 1));
Stundensatz3Text.Text = string.Format("à {0:0.00}", pRO.HourlyRateNew);
pRO.Betrag3 = String.Format("{0:c}",
pRO.GeleisteteFLSMitStundensatzAktuell*(decimal) pRO.RateFactor*
pRO.HourlyRateNew);
BetragZwischensumme3Text.Text = pRO.Betrag3;
gelStundenZwischensumme3Text.Text = string.Format("{0:0.00}",
pRO.GeleisteteFLSMitStundensatzAktuell*
(decimal) pRO.RateFactor);
}
}
else
{
var month11 = DateTime.Parse(pRO.AccountingStartDateString).ToString("MMM");
var year11 = DateTime.Parse(pRO.AccountingStartDateString).ToString("yy");
var month12 = DateTime.Parse(pRO.AccountingEndDateString).ToString("MMM");
var year12 = DateTime.Parse(pRO.AccountingEndDateString).ToString("yy");
if (pRO.GeleisteteFLSMitStundensatzAktuell.HasValue && pRO.GeleisteteFLSMitStundensatzAktuell.Value != 0)
{
pRO.Abrechnungstext3 = String.Format("Fachleistungen von {0}{4} {1} bis {2}{5} {3}", month11, year11, month12, year12, month11.Equals("Mai") ? "" : ".", month12.Equals("Mai") ? "" : ".");
MittelbareLeistung3.Text = "zuzüglich mittelbare Leistung";
Zwischensumme3Text.Text = "Zwischensumme Fachleistungen:";
gelStunden3.Text = string.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatzAktuell);
MittelbareLeistungStd3.Text = string.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatzAktuell* ((decimal) pRO.RateFactor - 1));
Stundensatz3Text.Text = string.Format("à {0:0.00}", pRO.HourlyRateNew);
pRO.Betrag3 = String.Format("{0:c}", pRO.GeleisteteFLSMitStundensatzAktuell*(decimal) pRO.RateFactor* pRO.HourlyRateNew);
BetragZwischensumme3Text.Text = pRO.Betrag3;
gelStundenZwischensumme3Text.Text = string.Format("{0:0.00}", pRO.GeleisteteFLSMitStundensatzAktuell* (decimal) pRO.RateFactor);
}
}
bindingSource1.DataSource = pRO;
}
}
}