76 lines
3.4 KiB
C#
76 lines
3.4 KiB
C#
using System;
|
|
using BeWo.Data.Access;
|
|
using BeWo.Data.Entities;
|
|
using BeWo.Report;
|
|
using BeWo.Report.ReportObjects;
|
|
using BS.Shared.Core;
|
|
using DevExpress.XtraReports.UI;
|
|
|
|
namespace SKMAachen
|
|
{
|
|
[IDSpecificClass(Identifier = "BeWo67")]
|
|
public partial class RechnungBeWo67 : XtraReport, IBeWoReport<ServiceInvoiceRO>
|
|
{
|
|
public RechnungBeWo67()
|
|
{
|
|
this.InitializeComponent();
|
|
}
|
|
|
|
public void SetReportDataSource(ServiceInvoiceRO pRO)
|
|
{
|
|
decimal hourlyRate = 0;
|
|
decimal hours = 0;
|
|
|
|
ServiceInvoiceItemRO bereitsBerechnetesItem = null;
|
|
|
|
if (pRO.ServiceInvoicePeriods != null && pRO.ServiceInvoicePeriods.Count > 0)
|
|
{
|
|
foreach (var p in pRO.ServiceInvoicePeriods)
|
|
{
|
|
|
|
if (p.ServiceInvoiceItems != null && p.ServiceInvoiceItems.Count > 0)
|
|
{
|
|
|
|
foreach (var i in p.ServiceInvoiceItems)
|
|
{
|
|
if (i.HourlyRate.HasValue)
|
|
{
|
|
if (i.HourlyRate.Value >= 0)
|
|
hourlyRate = i.HourlyRate.Value;
|
|
|
|
if (!String.IsNullOrEmpty(i.RateFactor))
|
|
{
|
|
var rfStr = i.RateFactor.Replace("%", "").Replace(",00", "").Trim();
|
|
int rfInt = 0;
|
|
Int32.TryParse(rfStr, out rfInt);
|
|
}
|
|
}
|
|
|
|
if (i.Hours.HasValue)
|
|
{
|
|
if (!i.ServiceDescription.Contains("Rechnungsnummer"))
|
|
hours += i.Hours.Value;
|
|
else
|
|
bereitsBerechnetesItem = i;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
lblForderung.Text =
|
|
String.Format("Hieraus ergibt sich eine Forderung von {0:0.00} Std. x {1:0.00} EUR = {2:0.00}.", hours, hourlyRate, string.Format("{0:0.00} EUR", hours * hourlyRate));
|
|
//String.Format("Hieraus ergibt sich eine Forderung von {0:0.00} Std. x {1:0.00} EUR = {2:0.00}.", hours, hourlyRate, pRO.NetClaim.Replace("€", "EUR"));
|
|
if (pRO.InvoiceBase.InvoiceTypeText == "Differenzrechnung" && bereitsBerechnetesItem != null)
|
|
{
|
|
lblDifferenzrechnung1.Text = string.Format("{0}: {1:0.00} Std. x {2:0.00} EUR = {3:0.00} EUR", bereitsBerechnetesItem.ServiceDescription, bereitsBerechnetesItem.Hours, bereitsBerechnetesItem.HourlyRate * -1, Convert.ToDecimal(bereitsBerechnetesItem.GrossAmount.Split(' ')[0]) * -1);
|
|
lblDifferenzrechnung2.Text = string.Format("Daraus ergibt sich eine zu zahlende Summe von {0} EUR.", pRO.NetClaim.Replace("€", ""));
|
|
}
|
|
lblAbrechnungszeitraum.Text =
|
|
String.Format(
|
|
"Im Zeitraum vom {0:dd.MM.yyyy} bis {1:dd.MM.yyyy} wurden {2:0.00} Dienstleistungsstunden unmittelbare Betreuungsleistungen des Ambulant Betreuten Wohnens erbracht.",
|
|
pRO.AccountingPeriodStart, pRO.AccountingPeriodEnd, hours);
|
|
this.bindingSource1.DataSource = pRO;
|
|
}
|
|
}
|
|
} |