Files
BeWoPlaner/ReportImp/BeWoAuxilioRitter/SupportConceptReport.cs

67 lines
2.1 KiB
C#

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using DevExpress.XtraReports.UI;
using BS.Shared.Extensions;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using BeWo.Data.Access;
namespace BeWoAuxilioRitter
{
public partial class Hilfeplanuebersicht : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SupportConceptListRO>
{
public Hilfeplanuebersicht()
{
InitializeComponent();
}
public void SetReportDataSource(SupportConceptListRO pRO)
{
decimal zeitFkGesamt = 0;
decimal zeitNFkGesamt = 0;
foreach (var sc in pRO.SupportConceptDetailList)
{
var servicerecords = DAOFactory.SearchDAO.FindServiceRecords(null, sc.CostBearer2SupportConceptOid);
decimal zeitFk = 0;
decimal zeitNFk = 0;
decimal quote = 1;
foreach (var sr in servicerecords)
{
if (sr.Employee.IsQualified.HasValue && sr.Employee.IsQualified.Value)
{
zeitFk += sr.RoundedDuration;
zeitFkGesamt += sr.RoundedDuration;
}
else
{
zeitNFk += sr.RoundedDuration;
zeitNFkGesamt += sr.RoundedDuration;
}
}
if (zeitFk > 0)
{
//quote = zeitNFk / zeitFk;
quote = zeitFk / (zeitNFk + zeitFk);
sc.Custom1 = String.Format("{0:0.0}%", (100 * quote));
}
else if (zeitNFk > 0 )
{
sc.Custom1 = "100 %";
}
}
if (zeitNFkGesamt > 0 || zeitFkGesamt > 0)
{
var quoteGesamt = zeitFkGesamt / (zeitNFkGesamt + zeitFkGesamt);
tcQuoteGesamt.Text = String.Format("{0:0.0}%", (100 * quoteGesamt));
}
this.bindingSource1.DataSource = pRO;
}
}
}