using System; using System.Text; using BeWo.Report; using BeWo.Report.ReportObjects; using BS.Shared; using DevExpress.XtraReports.UI; namespace DiakonieLandshut { public partial class RechnungTwg : XtraReport//, IBeWoReport { public RechnungTwg() { this.InitializeComponent(); } public void SetReportDataSource(ServiceInvoiceRO pRO) { if (pRO.CustomerSalutation == "Herr") { pRO.CustomerSalutation = "Herrn"; } DateTime start = pRO.AccountingPeriodStart; DateTime end = pRO.AccountingPeriodEnd; //if (start.Month == end.Month && start.Year == end.Year) //{ // lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Monat {0:MMMM yyyy} folgende erbrachte Tätigkeiten:", start); //} //else //{ // lblAbrechnungszeitraum.Text = String.Format("hiermit berechnen wir für den Zeitraum {0:MMMM yyyy} - {1:MMMM yyyy} folgende erbrachte Tätigkeiten:", start, end); //} 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); } lblAdresse.Text = sb.ToString(); decimal bewilligt = 0; decimal satz = 0; String ansprechpartner = ""; foreach (var sip in pRO.ServiceInvoicePeriods) { if (sip.CostBearer2SupportConcept != null && sip.CostBearer2SupportConcept.CostBearerContactPerson != null) { ansprechpartner = String.Format("{0} {1}", sip.CostBearer2SupportConcept.CostBearerContactPerson.Sex.HasValue && sip.CostBearer2SupportConcept.CostBearerContactPerson.Sex.Value == Sex.Male ? "Herr" : "Frau", sip.CostBearer2SupportConcept.CostBearerContactPerson.LastName); } if (sip.SupportConceptApprovalPeriod != null) { bewilligt = sip.SupportConceptApprovalPeriod.ApprovedBEPerInterval ?? 0; } foreach (var ii in sip.ServiceInvoiceItems) { satz = ii.AmountPerUnit ?? 0; } } var bs = GetBetreuungsschluessel(bewilligt); if (bs > 0) { lblBetreuungssatz.Text = String.Format("Betreuungsschlüssel 1 : {0:0.##} / Betreuungssatz {1:c}", bs, satz); } else { lblBetreuungssatz.Text = String.Format("Betreuungssatz {1:c}", satz); } if (pRO.RecipientOrganisation.Contains("TWG")) { lblBetreff.Text = "Einzelabrechnung Therapeutische Wohngemeinschaft für"; lblAnrede.Text = String.Format("Sehr geehrter {0},\r\n\r\nnachfolgend die Abrechnung für\r\n{1} {2} {3} nach aktueller Vergütungsvereinbarung:", ansprechpartner, pRO.CustomerSalutation, pRO.CustomerFirstName, pRO.CustomerLastName); } else { lblAnrede.Text = String.Format("Sehr geehrter {0},\r\n\r\nnachfolgend die Abrechnung des Ambulant Betreuten Einzelwohnens für\r\n{1} {2} {3} für den Zeitraum vom {4:dd.MM.yyyy} bis {5:dd.MM.yyyy}:", ansprechpartner, pRO.CustomerSalutation, pRO.CustomerFirstName, pRO.CustomerLastName, pRO.AccountingPeriodStart, pRO.AccountingPeriodEnd); } this.bindingSource1.DataSource = pRO; } private int GetBetreuungsschluessel(decimal bewilligt) { if (bewilligt > 0) { return (int) (24m / bewilligt); } return -1; } } }