Files
BeWoPlaner/ReportImp/RomEV/FLSGroupReport.cs

96 lines
4.1 KiB
C#
Raw Permalink Normal View History

2026-05-29 12:32:46 +02:00
using System;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using DevExpress.XtraReports.UI;
using BS.Shared.Core;
using System.Linq;
using BeWo.Data.Utils;
using System.Collections.Generic;
using DevExpress.XtraCharts.Native;
namespace BeWo.Report.DefaultReports
{
[IDSpecificClass(Identifier = "FLSAuswertung")]
public partial class FLSAuswertung : XtraReport, IBeWoReport<FLSReportRO>
{
public FLSAuswertung()
{
InitializeComponent();
}
public void SetReportDataSource(FLSReportRO pRO)
{
List<string> aktenzeichen = new List<string>();
List<string> kostentr<EFBFBD>gerkontakte = new List<string>();
if (pRO.GroupTypeHeader == "Mitarbeiter/in")
{
foreach (var group in pRO.FLSReportGroups)
{
foreach (var detail in group.FLSReportDetails)
{
if (detail.ServiceRecords != null)
{
var c2scOid = detail.ServiceRecords.FirstOrDefault(sr => sr.CostBearer2SupportConceptOid.HasValue).CostBearer2SupportConceptOid;
if (c2scOid.HasValue)
{
var c2s = DAOFactory.GenericDAO.GetByID<CostBearer2SupportConcept>(c2scOid.Value);
var c2cList = c2s.SupportConcept.Customer.Customer2CostBearerList;
foreach (var item in c2cList)
{
if (item.ReferenceNumber != null && !aktenzeichen.Contains(item.ReferenceNumber))
aktenzeichen.Add(item.ReferenceNumber);
if (item.Notice != null && !kostentr<EFBFBD>gerkontakte.Contains(item.Notice))
kostentr<EFBFBD>gerkontakte.Add(item.Notice);
}
2026-05-29 12:32:46 +02:00
}
}
if (aktenzeichen.Count > 0)
group.CustomValue1 = "AZ: " + string.Join(", ", aktenzeichen);
if (kostentr<EFBFBD>gerkontakte.Count > 0)
group.CustomValue1 += "\nKontakt: " + string.Join(", ", kostentr<EFBFBD>gerkontakte);
}
}
}
else
{
foreach (var group in pRO.FLSReportGroups)
{
foreach (var detail in group.FLSReportDetails)
{
if (detail.ServiceRecords != null)
{
var c2scOid = detail.ServiceRecords.FirstOrDefault(sr => sr.CostBearer2SupportConceptOid.HasValue).CostBearer2SupportConceptOid;
if (c2scOid.HasValue)
{
var c2s = DAOFactory.GenericDAO.GetByID<CostBearer2SupportConcept>(c2scOid.Value);
var c2cList = c2s.SupportConcept.Customer.Customer2CostBearerList;
foreach (var item in c2cList)
{
if (item.ReferenceNumber != null && !aktenzeichen.Contains(item.ReferenceNumber))
aktenzeichen.Add(item.ReferenceNumber);
if (item.Notice != null && !kostentr<EFBFBD>gerkontakte.Contains(item.Notice))
kostentr<EFBFBD>gerkontakte.Add(item.Notice);
}
2026-05-29 12:32:46 +02:00
}
}
if (aktenzeichen.Count > 0)
detail.CustomValue1 = "AZ: " + string.Join(", ", aktenzeichen);
if (kostentr<EFBFBD>gerkontakte.Count > 0)
detail.CustomValue1 += "\nKontakt: " + string.Join(", ", kostentr<EFBFBD>gerkontakte);
}
}
}
this.bindingSource1.DataSource = pRO;
}
}
}