175 lines
8.6 KiB
C#
175 lines
8.6 KiB
C#
using System;
|
|
using System.Linq;
|
|
using System.Windows.Forms;
|
|
using BeWo.Data.Access;
|
|
using BeWo.Data.Entities;
|
|
using BeWo.Report;
|
|
using BeWo.Report.ReportObjects;
|
|
|
|
using BS.Shared.Core;
|
|
using BS.Shared.DataContracts;
|
|
using BS.Shared.Extensions;
|
|
|
|
namespace BeWo.GenderBeWoReports
|
|
{
|
|
public partial class Klientenstammblatt : DevExpress.XtraReports.UI.XtraReport//, IBeWoReport<CustomerDataRO>
|
|
{
|
|
public Klientenstammblatt()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public void SetReportDataSource(CustomerDataRO pRO)
|
|
{
|
|
var c = DAOFactory.GenericDAO.LoadByID<Customer>(pRO.CustomerOid);
|
|
|
|
foreach (var faufau in c.VarFieldValueList)
|
|
{
|
|
var varFieldValue = Utils.XMLDeserializeFromString(faufau.SerializedValue, Type.GetType(faufau.TypeName));
|
|
if (varFieldValue != null)
|
|
{
|
|
var vValue = varFieldValue.ToString();
|
|
|
|
switch (faufau.VarFieldDefOid)
|
|
{
|
|
case 97: // Versicherungsnummer
|
|
versicherungsNummernLabel.Text = vValue;
|
|
break;
|
|
case 98: // Krankenkassenbefreiung
|
|
krankenkassenbefreiungsLabel.Text = "ja";
|
|
break;
|
|
case 99: // Schwebi
|
|
schwebiLabel.Text = string.Format("{0}", (Convert.ToDecimal(varFieldValue) > 0
|
|
? string.Format("ja {0} %", vValue)
|
|
: "nein"));
|
|
break;
|
|
case 100: // WBS
|
|
wbsLabel.Text = ((DateTime) varFieldValue).ToShortDateString();
|
|
break;
|
|
case 101: // Aufenthaltsstatus
|
|
aufenthaltsstatusLabel.Text = vValue;
|
|
break;
|
|
case 102: // Köln-Pass
|
|
koelnPassLabel.Text = ((DateTime) varFieldValue).ToShortDateString();
|
|
break;
|
|
case 103: // Schwerbehindertenmerkmale
|
|
schwebiLabel.Text += string.Format(", {0}", vValue);
|
|
break;
|
|
case 104: // Kundennummer Jobcenter
|
|
jobcenterKundennummerLabel.Text = vValue;
|
|
break;
|
|
case 105: // Kundennummer Arbeitsamt
|
|
arbeitsamtKundennummerLabel.Text = vValue;
|
|
break;
|
|
case 106: // Kundennummer Sozialamt
|
|
sozialamtKundennummerLabel.Text = vValue;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
diagnoseLabel.Text = c.Diagnosis2CustomerList.Select(s => s.ICD10DiagnosisCode).ToSeparatedString(", ");
|
|
|
|
// Psychiater/in
|
|
foreach (var psych in pRO.EnvironmentPersons.Where(w => w.RelationRole.TypeDescription.Equals("Psychiater")))
|
|
{
|
|
psychiaterLabel.Text += string.Format("{0}{1}", psych.Person.TitleFirstNameLastNameToString(), Environment.NewLine);
|
|
}
|
|
|
|
// Hausärztliche Versorgung
|
|
foreach (var psych in pRO.EnvironmentPersons.Where(w => w.RelationRole.TypeDescription.Equals("Hausarzt")))
|
|
{
|
|
hausarztLabel.Text += string.Format("{0}{1}", psych.Person.TitleFirstNameLastNameToString(), Environment.NewLine);
|
|
}
|
|
|
|
// Weitere Ärzte
|
|
foreach (var psych in pRO.EnvironmentPersons.Where(w => w.RelationRole.TypeDescription.Equals("Arzt")))
|
|
{
|
|
weitereAerzteLabel.Text += string.Format("{0}, {1}{2}", psych.Person.TitleFirstNameLastNameToString(), psych.Person.Function, Environment.NewLine);
|
|
}
|
|
|
|
var rechtlicherBetreuuer = pRO.EnvironmentPersons.FirstOrDefault(f => f.RelationRole.TypeDescription.Equals("Rechtliche Betreuung"));
|
|
if (rechtlicherBetreuuer != null)
|
|
{
|
|
rechtlicheBetreuungNamensLabel.Text = rechtlicherBetreuuer.Person.TitleFirstNameLastNameToString();
|
|
rechtlicheBetreuungAnschriftsLabel.Text = rechtlicherBetreuuer.Person.AddressString;
|
|
rechtlicheBetreuungTelefonLabel.Text = rechtlicherBetreuuer.Person.Communication1;
|
|
rechtlicheBetreuungFaxLabel.Text = rechtlicherBetreuuer.Person.Communication4;
|
|
rechtlicheBetreuungMailLabel.Text = rechtlicherBetreuuer.Person.Communication3;
|
|
}
|
|
|
|
var weitereAnsprechpartner = pRO.EnvironmentPersons.Where(w => w.RelationRole.TypeDescription != "Psychiater" && w.RelationRole.TypeDescription != "Hausarzt" && w.RelationRole.TypeDescription != "Arzt" && w.RelationRole.TypeDescription != "Rechtliche Betreuung");
|
|
if (weitereAnsprechpartner != null)
|
|
{
|
|
foreach (var ansprechpartner in weitereAnsprechpartner)
|
|
{
|
|
weitereAnsprechpartnerLabel.Text += string.Format("{0}{1}", ansprechpartner.Person.TitleFirstNameLastNameToString(), Environment.NewLine);
|
|
}
|
|
}
|
|
|
|
var krankenkasse = pRO.EnvironmentOrganisations.FirstOrDefault(f => f.RelationRole.TypeDescription.Equals("Krankenkasse"));
|
|
if (krankenkasse != null)
|
|
{
|
|
krankenkassenLabel.Text = krankenkasse.Organisation.Name;
|
|
}
|
|
|
|
var jobcenter = pRO.EnvironmentOrganisations.FirstOrDefault(f => f.RelationRole.TypeDescription.Equals("Jobcenter"));
|
|
if (jobcenter != null)
|
|
{
|
|
var jobconterRel = c.Customer2OrganisationList.FirstOrDefault(f => f.Organisation.Oid.HasValue && f.Organisation.Oid.Equals(jobcenter.Organisation.OrganisationOid));
|
|
if (jobconterRel != null)
|
|
{
|
|
var jobcenterAnsprechpartner = jobconterRel.Organisation.Organisation2PersonList.FirstOrDefault();
|
|
if (jobcenterAnsprechpartner != null)
|
|
jobcenterLabel.Text = jobcenterAnsprechpartner.Person.FirstNameLastName;
|
|
}
|
|
}
|
|
|
|
var arbeitsamt = pRO.EnvironmentOrganisations.FirstOrDefault(f => f.RelationRole.TypeDescription.Equals("Arbeitsamt"));
|
|
if (arbeitsamt != null)
|
|
{
|
|
var arbeitsamtsRel = c.Customer2OrganisationList.FirstOrDefault(f => f.Organisation.Oid.HasValue && f.Organisation.Oid.Equals(arbeitsamt.Organisation.OrganisationOid));
|
|
if (arbeitsamtsRel != null)
|
|
{
|
|
var arbeitsamtsAnsprechpartner = arbeitsamtsRel.Organisation.Organisation2PersonList.FirstOrDefault();
|
|
if (arbeitsamtsAnsprechpartner != null)
|
|
arbeitsamtsLabel.Text = arbeitsamtsAnsprechpartner.Person.FirstNameLastName;
|
|
}
|
|
}
|
|
|
|
var sozialamt = pRO.EnvironmentOrganisations.FirstOrDefault(f => f.RelationRole.TypeDescription.Equals("Sozialamt"));
|
|
if (sozialamt != null)
|
|
{
|
|
var sozialamtsRel = c.Customer2OrganisationList.FirstOrDefault(f => f.Organisation.Oid.HasValue && f.Organisation.Oid.Equals(sozialamt.Organisation.OrganisationOid));
|
|
if (sozialamtsRel != null)
|
|
{
|
|
var sozialamtsAnsprechpartner = sozialamtsRel.Organisation.Organisation2PersonList.FirstOrDefault();
|
|
if (sozialamtsAnsprechpartner != null)
|
|
sozialamsLabel.Text = sozialamtsAnsprechpartner.Person.FirstNameLastName;
|
|
}
|
|
}
|
|
|
|
if (c.SupportConcepts.Count > 0)
|
|
{
|
|
var zuletztEndender = c.SupportConcepts.First();
|
|
foreach (var hp in c.SupportConcepts.Where(hp => hp.EndDate > zuletztEndender.EndDate))
|
|
{
|
|
zuletztEndender = hp;
|
|
}
|
|
|
|
var zuletztEndenderBlah = zuletztEndender.CostBearer2SupportConceptList.First();
|
|
foreach (var hp in zuletztEndender.CostBearer2SupportConceptList.Where(hp => hp.EndDate > zuletztEndenderBlah.EndDate))
|
|
{
|
|
zuletztEndenderBlah = hp;
|
|
}
|
|
|
|
xrLabel2.Text = zuletztEndenderBlah.CustomerReferenceNumber;
|
|
}
|
|
|
|
|
|
|
|
bindingSource1.DataSource = pRO;
|
|
}
|
|
}
|
|
}
|