Files
BeWoPlaner/ReportImp/BeWoAuxilioRitter/Mitarbeiterauslastung.cs

56 lines
2.0 KiB
C#

using System;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
namespace BeWoAuxilioRitter
{
[IDSpecificClass(Identifier = "Mitarbeiterauslastung")]
public partial class Mitarbeiterauslastung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<MitarbeiterauslastungRO>
{
public Mitarbeiterauslastung()
{
InitializeComponent();
}
public void SetReportDataSource(MitarbeiterauslastungRO pRO)
{
AuslastungBerechnung b = new CustomAuslastungBerechnung();
b.CreateReport(pRO);
// ApprovedHoursPerMonth muss sich aus FreiProWoche ergeben, also FreiProWoche / 7 * DaysInMonth
foreach (var empDetail in pRO.EmployeeDetailList)
{
foreach (var scd in empDetail.SupportConceptDetailList)
{
if (scd.FreiProWoche > 0)
{
scd.ApprovedHoursPerMonth = scd.FreiProWoche / 7 * DateTime.DaysInMonth(pRO.ReportStartDate.Year, pRO.ReportStartDate.Month);
}
}
}
//foreach (var empDetail in pRO.EmployeeDetailList)
//{
// var serviceRecords = DAOFactory.SearchDAO.FindEmployeeServiceRecords(empDetail.Employee.Oid.Value, new BS.Shared.Core.DateTimeSpan(pRO.ReportStartDate, pRO.ReportEndDate), null, null).Where(s => s.CustomerOid != null).ToList();
// foreach (var sr in serviceRecords)
// {
// if (!empDetail.SupportConceptDetailList.Any(sc => sc.CostBearer2SupportConcept?.Oid == sr.CostBearer2SupportConceptOid))
// {
// var scd = b.GetSupportConceptDetailForServiceRecord(empDetail, sr);
// if (scd != null)
// {
// empDetail.SupportConceptDetailList.Add(scd);
// }
// }
// }
//}
this.bindingSource1.DataSource = pRO;
}
}
}