2016-06-27 01:45:38 +02:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
using BeWo.Data.ICD10;
|
|
|
|
|
|
using BS.Shared;
|
|
|
|
|
|
using BS.Shared.DataContracts;
|
|
|
|
|
|
|
|
|
|
|
|
namespace BeWo.Report.ReportObjects
|
|
|
|
|
|
{
|
|
|
|
|
|
public class CustomerDataRO : AbstractBeWoReportObject<CustomerDataRO>
|
|
|
|
|
|
{
|
|
|
|
|
|
public long CustomerOid { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public List<CustomerCostBearerRelationDC> CostBearers { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string DateOfBirth { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string Disabilities { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public List<CustomerPersonRelationDC> EnvironmentPersons { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public List<CustomerOrganisationRelationDC> EnvironmentOrganisations { get; set; }
|
|
|
|
|
|
|
2017-02-01 13:53:59 +01:00
|
|
|
|
public List<AbsenceTimeDC> Abwesenheiten { get; set; }
|
|
|
|
|
|
|
2016-06-27 01:45:38 +02:00
|
|
|
|
public string FamilyStatus { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string Fax { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string FirstName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string LastName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string Mail { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string Mobile { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string Name
|
|
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
|
|
|
|
|
return this.FirstName + " " + this.LastName;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string Notice { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string Occupation { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string Phone { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string PostCode { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string ReferenceNumber { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public List<CustomerEmployeeRelationDC> RelatedEmployees { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string Sex { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string Street { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public string Town { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public object VarField1 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public object VarField2 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public object VarField3 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public object VarField4 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public object VarField5 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public object VarField6 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public object VarField7 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public object VarField8 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public object VarField9 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public object VarField10 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public List<ICD10Row> ICD10Diagnosen { get; set; }
|
|
|
|
|
|
|
2017-02-01 13:53:59 +01:00
|
|
|
|
public CustomerDC Customer { get; set; }
|
2016-06-27 01:45:38 +02:00
|
|
|
|
public static CustomerDataRO Create(CustomerDC pDC)
|
|
|
|
|
|
{
|
|
|
|
|
|
var result = new CustomerDataRO();
|
2017-02-01 13:53:59 +01:00
|
|
|
|
result.Customer = pDC;
|
|
|
|
|
|
if (pDC.AbsenceTimes != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
result.Abwesenheiten = pDC.AbsenceTimes.OrderBy(a => a.Start).ToList();
|
|
|
|
|
|
}
|
|
|
|
|
|
result.CustomerOid = pDC.CustomerOid.Value;
|
2016-06-27 01:45:38 +02:00
|
|
|
|
result.FirstName = pDC.FirstName;
|
|
|
|
|
|
result.LastName = pDC.LastName;
|
|
|
|
|
|
result.ReferenceNumber = pDC.ReferenceNumber;
|
|
|
|
|
|
if (pDC.DateOfBirth.HasValue)
|
|
|
|
|
|
{
|
|
|
|
|
|
result.DateOfBirth = pDC.DateOfBirth.Value.ToShortDateString();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2017-02-01 13:53:59 +01:00
|
|
|
|
result.ICD10Diagnosen = new List<ICD10Row>();
|
|
|
|
|
|
foreach (var idc10 in pDC.ICD10DiagnosisCodes)
|
|
|
|
|
|
{
|
|
|
|
|
|
result.ICD10Diagnosen.Add(new ICD10Row(idc10, ICD10DAO.GetDiagnosisForCode(idc10)));
|
|
|
|
|
|
}
|
2016-06-27 01:45:38 +02:00
|
|
|
|
|
2023-03-15 14:39:01 +01:00
|
|
|
|
switch (pDC.Sex)
|
|
|
|
|
|
{
|
|
|
|
|
|
case BS.Shared.Sex.Female:
|
|
|
|
|
|
result.Sex = "weiblich";
|
|
|
|
|
|
break;
|
|
|
|
|
|
case BS.Shared.Sex.Male:
|
|
|
|
|
|
result.Sex = "männlich";
|
|
|
|
|
|
break;
|
|
|
|
|
|
case BS.Shared.Sex.Divers:
|
|
|
|
|
|
result.Sex = "divers";
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-06-27 01:45:38 +02:00
|
|
|
|
result.Occupation = pDC.Profession;
|
|
|
|
|
|
|
|
|
|
|
|
if (pDC.FamilyStatus.HasValue)
|
|
|
|
|
|
{
|
|
|
|
|
|
switch (pDC.FamilyStatus.Value)
|
|
|
|
|
|
{
|
|
|
|
|
|
case BS.Shared.FamilyStatus.Divorced:
|
|
|
|
|
|
result.FamilyStatus = "geschieden";
|
|
|
|
|
|
break;
|
|
|
|
|
|
case BS.Shared.FamilyStatus.Married:
|
|
|
|
|
|
result.FamilyStatus = "verheiratet";
|
|
|
|
|
|
break;
|
|
|
|
|
|
case BS.Shared.FamilyStatus.Single:
|
|
|
|
|
|
result.FamilyStatus = "ledig";
|
|
|
|
|
|
break;
|
|
|
|
|
|
case BS.Shared.FamilyStatus.Widowed:
|
|
|
|
|
|
result.FamilyStatus = "verwitwet";
|
|
|
|
|
|
break;
|
|
|
|
|
|
case BS.Shared.FamilyStatus.Partner:
|
|
|
|
|
|
result.FamilyStatus = "in Partnerschaft";
|
|
|
|
|
|
break;
|
2017-02-01 13:53:59 +01:00
|
|
|
|
case BS.Shared.FamilyStatus.PartnerDivorced:
|
2016-06-27 01:45:38 +02:00
|
|
|
|
result.FamilyStatus = "getrennt lebend";
|
|
|
|
|
|
break;
|
|
|
|
|
|
case BS.Shared.FamilyStatus.PartnerDead:
|
2017-02-01 13:53:59 +01:00
|
|
|
|
result.FamilyStatus = "partnerhinterblieben";
|
|
|
|
|
|
break;
|
|
|
|
|
|
case BS.Shared.FamilyStatus.PartnerMarried:
|
|
|
|
|
|
result.FamilyStatus = "verpartnert";
|
|
|
|
|
|
break;
|
|
|
|
|
|
case BS.Shared.FamilyStatus.Entpartnert:
|
|
|
|
|
|
result.FamilyStatus = "entpartnert";
|
2016-06-27 01:45:38 +02:00
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
result.Street = pDC.Street;
|
|
|
|
|
|
result.Town = pDC.Town;
|
|
|
|
|
|
result.PostCode = pDC.PostalCode;
|
|
|
|
|
|
|
|
|
|
|
|
foreach (var iContact in pDC.ContactInformations)
|
|
|
|
|
|
{
|
|
|
|
|
|
switch (iContact.ContactType)
|
|
|
|
|
|
{
|
|
|
|
|
|
case ContactType.business_Phone:
|
|
|
|
|
|
result.Phone = iContact.ContactValue;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case ContactType.business_MobilePhone:
|
|
|
|
|
|
result.Mobile = iContact.ContactValue;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case ContactType.business_Mail:
|
|
|
|
|
|
result.Mail = iContact.ContactValue;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case ContactType.business_Fax:
|
|
|
|
|
|
result.Fax = iContact.ContactValue;
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
result.Notice = pDC.Notice;
|
|
|
|
|
|
|
|
|
|
|
|
result.Disabilities = string.Join(", ", pDC.Disabilities.Select(d => d.TypeDescription).ToArray());
|
|
|
|
|
|
|
|
|
|
|
|
result.CostBearers = pDC.CostBearers;
|
|
|
|
|
|
result.RelatedEmployees = pDC.RelatedEmployees;
|
|
|
|
|
|
result.EnvironmentPersons = pDC.EnvironmentPersons;
|
|
|
|
|
|
result.EnvironmentOrganisations = pDC.EnvironmentOrganisations;
|
|
|
|
|
|
|
|
|
|
|
|
if (pDC.CustomerVarFields != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (pDC.CustomerVarFields.Count > 0)
|
|
|
|
|
|
result.VarField1 = pDC.CustomerVarFields[0].VarFieldValue;
|
|
|
|
|
|
if (pDC.CustomerVarFields.Count > 1)
|
|
|
|
|
|
result.VarField2 = pDC.CustomerVarFields[1].VarFieldValue;
|
|
|
|
|
|
if (pDC.CustomerVarFields.Count > 2)
|
|
|
|
|
|
result.VarField3 = pDC.CustomerVarFields[2].VarFieldValue;
|
|
|
|
|
|
if (pDC.CustomerVarFields.Count > 3)
|
|
|
|
|
|
result.VarField4 = pDC.CustomerVarFields[3].VarFieldValue;
|
|
|
|
|
|
if (pDC.CustomerVarFields.Count > 4)
|
|
|
|
|
|
result.VarField5 = pDC.CustomerVarFields[4].VarFieldValue;
|
|
|
|
|
|
if (pDC.CustomerVarFields.Count > 5)
|
|
|
|
|
|
result.VarField6 = pDC.CustomerVarFields[5].VarFieldValue;
|
|
|
|
|
|
if (pDC.CustomerVarFields.Count > 6)
|
|
|
|
|
|
result.VarField7 = pDC.CustomerVarFields[6].VarFieldValue;
|
|
|
|
|
|
if (pDC.CustomerVarFields.Count > 7)
|
|
|
|
|
|
result.VarField8 = pDC.CustomerVarFields[7].VarFieldValue;
|
|
|
|
|
|
if (pDC.CustomerVarFields.Count > 8)
|
|
|
|
|
|
result.VarField9 = pDC.CustomerVarFields[8].VarFieldValue;
|
|
|
|
|
|
if (pDC.CustomerVarFields.Count > 9)
|
|
|
|
|
|
result.VarField10 = pDC.CustomerVarFields[9].VarFieldValue;
|
|
|
|
|
|
}
|
2017-02-01 13:53:59 +01:00
|
|
|
|
|
|
|
|
|
|
|
2016-06-27 01:45:38 +02:00
|
|
|
|
return result;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class ICD10Row
|
|
|
|
|
|
{
|
|
|
|
|
|
public String ICD10Code { get; set; }
|
|
|
|
|
|
public String Beschreibung { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public ICD10Row(String code, String beschreibung)
|
|
|
|
|
|
{
|
|
|
|
|
|
ICD10Code = code;
|
|
|
|
|
|
Beschreibung = beschreibung;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|