96 lines
2.7 KiB
C#
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 = "";
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|