using System; using BeWo.Report; using BeWo.Report.ReportObjects; using DevExpress.XtraReports.UI; namespace Biotop { public partial class ServiceInvoiceReport : XtraReport, IBeWoReport { public ServiceInvoiceReport() { this.InitializeComponent(); } public void SetReportDataSource(ServiceInvoiceRO pRO) { DateTime start = pRO.AccountingPeriodStart; DateTime end = pRO.AccountingPeriodEnd; //auf deren Wunsch den Faktor in die Stundenzahl einmultipliziert... decimal rateFactor = 1; 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 (!String.IsNullOrEmpty(i.RateFactor)) { var rfStr = i.RateFactor.Replace("%", "").Replace(",00", "").Trim(); int rfInt = 0; Int32.TryParse(rfStr, out rfInt); rateFactor = (100m + rfInt) / 100m; if (i.Hours.HasValue) i.Hours *= rateFactor; } } } } } if (start.Month == end.Month && start.Year == end.Year) { lblAbrechnungszeitraum.Text = String.Format("Abrechnungszeitraum {0:MMMM yyyy}", start); } else { lblAbrechnungszeitraum.Text = String.Format("Abrechnungszeitraum {0:MMMM yyyy} - {1:MMMM yyyy}", start, end); } this.bindingSource1.DataSource = pRO; } } }