Files
BeWoPlaner/ReportImp/PraxisPusteblume/QuittierungsbelegIfsEingangsdiagnostik.cs
2020-02-06 18:43:11 +01:00

157 lines
5.2 KiB
C#

using System;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BeWo.Service.ServiceImplementations;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using DevExpress.XtraReports.UI;
using PraxisPusteblume.Invoicing;
namespace PraxisPusteblume
{
public partial class QuittierungsbelegIfsEingangsdiagnostik : XtraReport, IBeWoReport<ServicesOverviewRO>
{
public QuittierungsbelegIfsEingangsdiagnostik()
{
this.InitializeComponent();
}
public void SetReportDataSource(ServicesOverviewRO pRO)
{
SetzeAdresse(pRO);
//lblNachweisFuer.Text = String.Format("Behandlungsnachweis für: {0}, geb. am {1:dd.MM.yyyy}", pRO.CustomerName, pRO.CustomerBirthday);
lblNachweisFuer.Text = String.Format("Leistungsnachweis für: {0}, geb. am {1:dd.MM.yyyy}", pRO.CustomerName, pRO.CustomerBirthday);
lblMonatJahr.Text = String.Format("Monat/Jahr: {0:MM}/{0:yyyy}", pRO.StartDate);
foreach (var sd in pRO.Services)
{
//sd.Notice = String.Format("{0:0.##}", sd.Minutes / 60);
//sd.Notice = sd.ServiceDescription.Replace("IFS","").Replace("-","").Trim();
pRO.MainAttendant = sd.EmployeeFullname;
sd.Notice = sd.ServiceDescription;
sd.Notice2 = InvoiceHelper.GetUnitString(((decimal)sd.Minutes * (4m / 3m) / 60m));
//if (sd.CustomerCount > 1)
//{
// sd.Notice2 = "";
// sd.Notice3 = "";
// sd.Notice4 = String.Format("{0} Kinder", sd.CustomerCount);
//}
//else
//{
// sd.Notice4 = "";
// if (sd.ServiceDescription.Contains("mobil"))
// {
// sd.Notice2 = "X";
// sd.Notice3 = "";
// }
// else
// {
// sd.Notice2 = "";
// sd.Notice3 = "X";
// }
//}
}
lblDatum.Text = String.Format("{0:dd.MM.yyyy}", DateTime.Now);
pRO.ReferenceNumber = GetAktenzeichen(pRO);
this.bindingSource1.DataSource = pRO;
}
private void SetzeAdresse(ServicesOverviewRO pRo)
{
if (pRo.SupportConceptCostBearer != null)
{
var org = pRo.SupportConceptCostBearer.CostBearer;
StringBuilder sb = new StringBuilder();
if (org.Name.Contains("Bezirk Oberbayern"))
{
org.Name = "Bezirk Oberbayern";
}
sb.AppendLine(org.Name);
var orgEnt = DAOFactory.GenericDAO.LoadByID<Organisation>(org.OrganisationOid);
if (!String.IsNullOrEmpty(org.Name2))
{
sb.AppendLine(org.Name2);
}
if (!String.IsNullOrEmpty(org.Street))
{
sb.AppendLine(org.Street);
}
sb.AppendLine(String.Format("{0} {1}", org.PostalCode, org.Town));
//lblAdresse.Text = sb.ToString();
}
}
private SupportConceptStatisticsDC GetStatistics(ServiceInvoiceRO ro)
{
if (ro.InvoiceBase.SupportConceptCostBearerRelDc != null)
{
var service = new OperationsServiceImp();
long cb2scOid = ro.InvoiceBase.SupportConceptCostBearerRelDc.CostBearer2SupportConceptOid.Value;
return service.CreateSupportConceptStatistics(cb2scOid, ro.AccountingPeriodEnd);
//if (stats.PeriodStatistics != null && stats.PeriodStatistics.Count > 0)
//{
// foreach (var ps in stats.PeriodStatistics)
// {
// if (ps.SupportConceptApprovalPeriod != null &&
// ps.SupportConceptApprovalPeriod.ServiceCategory != null &&
// (ps.SupportConceptApprovalPeriod.ServiceCategory.Name.StartsWith("Verhinderung") ||
// ps.SupportConceptApprovalPeriod.ServiceCategory.Name.StartsWith("Betreuungsleistungen")))
// {
// return ps;
// }
// }
//}
//return null;
}
return null;
}
private String GetAktenzeichen(ServicesOverviewRO ro)
{
var cb = "";
foreach (var sd in ro.Services)
{
cb = sd.CostBearer;
}
if (ro.CostBearer2SupportConceptList != null)
{
foreach (var c2s in ro.CostBearer2SupportConceptList)
{
if (c2s.CostBearer.Organisation.Name == cb)
{
return c2s.CustomerReferenceNumber;
}
}
}
return null;
}
}
}