Files
BeWoPlaner/ReportImp/IbpEingliederungshilfe/SettlementReport.cs
2017-06-11 16:01:01 +02:00

93 lines
2.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using BeWo.Service.Invoicing;
using DevExpress.XtraReports.UI;
using BeWo.Report.ReportObjects;
using BeWo.Report;
namespace IbpEingliederungshilfe
{
public partial class Spitzabrechnung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SettlementRO>
{
public Spitzabrechnung()
{
InitializeComponent();
}
public void SetReportDataSource(SettlementRO pRO)
{
decimal totalFLSBewilligt = 0;
decimal totalFLSGeleistet = 0;
decimal totalEURGesamt = 0;
//decimal totalEURBewilligt = 0;
//pRO.Approvals = new List<SettlementRO.ApprovalPeriodRO>();
//var apsByHourlyRate = new Dictionary<decimal, IList<ApprovalPeriod>>();
foreach (var ap in pRO.CostbearerApprovalPeriods)
{
//IList<ApprovalPeriod> list = null;
//if (apsByHourlyRate.ContainsKey(ap.AmountPerUnit))
//{
// list = apsByHourlyRate[ap.AmountPerUnit];
//}
//else
//{
// list = new List<ApprovalPeriod>();
// apsByHourlyRate[ap.AmountPerUnit] = list;
//}
//list.Add(ap);
totalFLSBewilligt += ap.ApprovedTotal;
}
//foreach (var hr in apsByHourlyRate.Keys)
//{
// IList<ApprovalPeriod> list = apsByHourlyRate[hr];
// decimal flsTotal = 0;
// SettlementRO.ApprovalPeriodRO apRo = new SettlementRO.ApprovalPeriodRO();
// apRo.PeriodStartDate = DateTime.MaxValue;
// apRo.PeriodEndDate = DateTime.MinValue;
// foreach (var approvalPeriod in list)
// {
// if (approvalPeriod.PeriodStartDate < apRo.PeriodStartDate)
// apRo.PeriodStartDate = approvalPeriod.PeriodStartDate;
// if (approvalPeriod.PeriodEndDate > apRo.PeriodEndDate)
// apRo.PeriodEndDate = approvalPeriod.PeriodEndDate;
// flsTotal += approvalPeriod.ApprovedTotal;
// }
// apRo.AmountPerUnit = hr;
// apRo.MaxApprovedUnitCount = flsTotal;
// decimal a = Math.Round(flsTotal, 2) * hr;
// a = Math.Round(a, 2);
// apRo.MaxApprovedAmount = a;
// totalEURBewilligt += a;
// pRO.Approvals.Add(apRo);
//}
foreach (var ii in pRO.InvoiceItems)
{
totalFLSGeleistet += ii.UnitCount ?? 0;
totalEURGesamt += ii.GrossAmountTotal ?? 0;
}
lblFLSGesamtBewilligt.Text = String.Format("{0:0.00}", totalFLSBewilligt);
lblFLSErbracht.Text = String.Format("{0:0.00}", totalFLSGeleistet);
lblEURGesamt.Text = String.Format("{0:c}", totalEURGesamt);
//lblEURGesamtBewilligt.Text = String.Format("{0:c}", totalEURBewilligt);
//lblFLSGesamtBewilligt2.Text = String.Format("{0:0.00}", totalFLSBewilligt);
this.bindingSource1.DataSource = pRO;
}
}
}