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 SHKService { [IDSpecificClass(Identifier = "Mitarbeiterarbeitszeitkonto")] public partial class Mitarbeiterarbeitszeitkonto : DevExpress.XtraReports.UI.XtraReport, IBeWoReport { public Mitarbeiterarbeitszeitkonto() { InitializeComponent(); } public void SetReportDataSource(MitarbeiterstundenkontoRO pRO) { var msb = new CustomMitarbeiterstundenkontoBerechnung(); msb.CreateReport(pRO); foreach (var ed in pRO.EmployeeDetailList) { ed.FirstName = ed.Employee.PersonnelNumber; 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); } } ed.UrlaubUndKrankheit = 0; foreach (var day in ed.Days) { ed.UrlaubUndKrankheit += (day.HoursSick + day.HoursInVacation); } } this.bindingSource1.DataSource = pRO; } } }