Files
BeWoPlaner/ReportImp/SynpraxReports/MitarbeiterarbeitszeitkontoMitTimeStamp.cs

63 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
using DevExpress.XtraReports.UI;
namespace SynpraxReports
{
[IDSpecificClass(Identifier = "MitarbeiterarbeitszeitkontoMitTimeStamp")]
public partial class MitarbeiterarbeitszeitkontoMitTimeStamp : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<MitarbeiterstundenkontoRO>
{
public MitarbeiterarbeitszeitkontoMitTimeStamp()
{
InitializeComponent();
}
public void SetReportDataSource(MitarbeiterstundenkontoRO pRO)
{
var msb = new CustomMitarbeiterstundenkontoBerechnungTagesansicht();
msb.CreateReport(pRO);
foreach (var ed in pRO.EmployeeDetailList)
{
var c = ed.Employee.GetValidContractForDate(pRO.ReportStartDate);
if (c != null)
{
if (c.MonthlyTotalHours.HasValue)
{
ed.Regelarbeitszeit = String.Format("{0:0.00} Stunden im Monat", c.MonthlyTotalHours);
}
else if (c.WeeklyTotalHours.HasValue)
{
ed.Regelarbeitszeit = String.Format("{0:0.00} Stunden pro Woche", c.WeeklyTotalHours);
}
}
foreach (var day in ed.Days)
{
day.Custom10 = "";
if (day.ServiceRecords != null)
{
for (int i = 0; i < day.ServiceRecords.Count; i++)
{
day.Custom10 += string.Format("{0:dd.MM.yyyy}", day.ServiceRecords[i].InsTs);
if (i != day.ServiceRecords.Count - 1)
day.Custom10 += ", ";
}
}
}
}
this.bindingSource1.DataSource = pRO;
}
}
}