Files
BeWoPlaner/ReportImp/CaritasAachen/Mitarbeiterauslastung.cs
2017-11-07 13:48:02 +01:00

96 lines
2.7 KiB
C#

using System;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
namespace BeWo.CaritasAachen
{
[IDSpecificClass(Identifier = "Mitarbeiterauslastung")]
public partial class Mitarbeiterauslastung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<MitarbeiterauslastungRO>
{
public Mitarbeiterauslastung()
{
InitializeComponent();
}
public void SetReportDataSource(MitarbeiterauslastungRO pRO)
{
var b = new CustomAuslastungBerechnung();
b.CreateReport(pRO);
DateTimeSpan kw1 = new DateTimeSpan();
kw1.StartDate = pRO.ReportStartDate;
DateTime start = pRO.ReportStartDate;
while (start.DayOfWeek != DayOfWeek.Sunday)
{
start = start.AddDays(1);
}
kw1.EndDate = start;
DateTimeSpan kw2 = new DateTimeSpan();
kw2.StartDate = kw1.EndDate.AddDays(1);
kw2.EndDate = kw2.StartDate.AddDays(6);
DateTimeSpan kw3 = new DateTimeSpan();
kw3.StartDate = kw2.EndDate.AddDays(1);
kw3.EndDate = kw3.StartDate.AddDays(6);
DateTimeSpan kw4 = new DateTimeSpan();
kw4.StartDate = kw3.EndDate.AddDays(1);
kw4.EndDate = kw4.StartDate.AddDays(6);
DateTimeSpan kw5 = new DateTimeSpan();
kw5.StartDate = kw4.EndDate.AddDays(1);
kw5.EndDate = kw5.StartDate.AddDays(6);
DateTimeSpan kw6 = new DateTimeSpan();
kw6.StartDate = kw5.EndDate.AddDays(1);
kw6.EndDate = kw6.StartDate.AddDays(6);
if (pRO.ReportEndDate <= kw5.EndDate)
{
kw5.EndDate = pRO.ReportEndDate.AddDays(-1);
}
if (pRO.ReportEndDate <= kw6.EndDate)
{
kw6.EndDate = pRO.ReportEndDate.AddDays(-1);
}
SetHeaderText(cellGeleistetKw1Header, kw1, pRO);
SetHeaderText(cellGeleistetKw2Header, kw2, pRO);
SetHeaderText(cellGeleistetKw3Header, kw3, pRO);
SetHeaderText(cellGeleistetKw4Header, kw4, pRO);
SetHeaderText(cellGeleistetKw5Header, kw5, pRO);
SetHeaderText(cellGeleistetKw6Header, kw6, pRO);
this.bindingSource1.DataSource = pRO;
}
private void SetHeaderText(XRTableCell cell, DateTimeSpan kw, MitarbeiterauslastungRO pRO)
{
if (kw.StartDate < pRO.ReportEndDate)
{
cell.Multiline = true;
if (kw.StartDate == kw.EndDate)
{
cell.Text = String.Format("Geleistet\n{0:dd.MM.yy}", kw.StartDate);
}
else
{
cell.Text = String.Format("Geleistet\n{0:dd.MM.yy} -\n{1:dd.MM.yy}", kw.StartDate, kw.EndDate);
}
}
else
{
cell.Text = "";
}
}
}
}