Files
BeWoPlaner/ReportImp/SchillingerReports/Finanzauswertung.cs
Christian dbed05ccb2 cb
2018-11-22 14:05:45 +01:00

112 lines
3.4 KiB
C#

using System;
using System.Linq;
using BS.Shared;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Data.Entities;
using BeWo.Data.Access;
using System.Collections.Generic;
using BS.Shared.Core;
using BS.Shared.Services;
using BS.Shared.DataContracts;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.ServiceImplementations;
using DevExpress.XtraPrinting;
namespace BeWo.SchillingerReports
{
public partial class Finanzauswertung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<FinanceRO>
{
public Finanzauswertung()
{
InitializeComponent();
}
public void SetReportDataSource(FinanceRO pRO)
{
if (pRO.ReportStartDate.HasValue && pRO.ReportEndDate.HasValue)
{
DateTime start = pRO.ReportStartDate.Value;
DateTime end = pRO.ReportEndDate.Value;
if (start.Year == end.Year && start.Month == end.Month && start.Day == 1 &&
end.Day == DateTime.DaysInMonth(end.Year, end.Month))
{
lblTitel.Text = String.Format("Finanzauswertung {0:MMMM yyyy}", start);
cellBewilligtImZeitraumHeader.Text = String.Format("bewilligte FLS {0:MMMM}", start);
cellGeleistetImZeitraumHeader.Text = String.Format("geleistete Std. {0:MMMM}", start);
}
else
{
lblTitel.Text = String.Format("Finanzauswertung {0:dd.MM.yyyy}-{1:dd.MM.yyyy}", start, end);
cellBewilligtImZeitraumHeader.Text = String.Format("bewilligte FLS {0:dd.MM.yyyy}-{1:dd.MM.yyyy}", start, end);
cellGeleistetImZeitraumHeader.Text = String.Format("geleistete Std. {0:dd.MM.yyyy}-{1:dd.MM.yyyy}", start, end);
}
if (pRO.RateFactor.HasValue)
{
cellRateFactorHeader.Text = String.Format("geleistete Std. x {0:0.##}", pRO.RateFactor);
}
else
{
cellRateFactorHeader.Visible = false;
cellRateFactor.Visible = false;
}
}
else
{
cellBewilligtImZeitraumHeader.Visible = false;
cellBewilligteFLSImBereich.Visible = false;
cellGeleistetImBereich.Visible = false;
cellGeleistetImZeitraumHeader.Visible = false;
cellRateFactorHeader.Visible = false;
cellRateFactor.Visible = false;
}
if (pRO.SupportConceptFinanceList != null)
{
foreach (var f in pRO.SupportConceptFinanceList)
{
String ba = GetBetreuungsart(f);
if (String.IsNullOrEmpty(ba) || ba.ToLower().Contains("hilfe daheim"))
{
f.Custom1 = "Die Hilfe Daheim Pro BeWo";
}
else
{
f.Custom1 = "TaB Essen";
}
}
}
this.bindingSource1.DataSource = pRO;
}
private String GetBetreuungsart(FinanceRO.SupportConceptFinanceRO f)
{
if (f.Costbearer2Supportconcept != null)
{
var c =
DAOFactory.GenericDAO.LoadByID<Customer>(
f.Costbearer2Supportconcept.SupportConcept.Customer.Oid.Value);
foreach (var v2o in c.ValueList)
{
if (v2o.Entry.IsActive == ActivationTypeId.Active && v2o.Entry.Type == ValueListEntryType.CustomerCareType)
{
return v2o.Entry.Value;
}
}
}
return "";
}
}
}