213 lines
6.8 KiB
C#
213 lines
6.8 KiB
C#
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using BeWo.Data.Entities;
|
|||
|
|
using BeWo.Data.ICD10;
|
|||
|
|
using BeWo.Service.DCEntityMapper;
|
|||
|
|
using BS.Shared;
|
|||
|
|
using BS.Shared.DataContracts;
|
|||
|
|
|
|||
|
|
namespace BeWo.Report.ReportObjects
|
|||
|
|
{
|
|||
|
|
public class SBDEmployeeRO : AbstractBeWoReportObject<SBDEmployeeRO>
|
|||
|
|
{
|
|||
|
|
public long EmployeeOid { get; set; }
|
|||
|
|
|
|||
|
|
|
|||
|
|
public string DateOfBirth { get; set; }
|
|||
|
|
|
|||
|
|
public List<CustomerEmployeeRelationDC> CustomerRelations { get; set; }
|
|||
|
|
|
|||
|
|
public List<AbsenceTimeDC> Abwesenheiten { get; set; }
|
|||
|
|
|
|||
|
|
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 => FirstName + " " + LastName;
|
|||
|
|
|
|||
|
|
public string Notice { get; set; }
|
|||
|
|
|
|||
|
|
public string Phone { get; set; }
|
|||
|
|
|
|||
|
|
public string PostCode { 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 EmployeeDC Employee { get; set; }
|
|||
|
|
|
|||
|
|
public static SBDEmployeeRO Create(Employee employee)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
var result = new SBDEmployeeRO();
|
|||
|
|
var employeeDC = MapperFactory.EmployeeDC_Employee.MapToNewDC(employee);
|
|||
|
|
|
|||
|
|
result.Employee = employeeDC;
|
|||
|
|
|
|||
|
|
if (employeeDC.AbsenceTimes != null)
|
|||
|
|
{
|
|||
|
|
result.Abwesenheiten = employeeDC.AbsenceTimes.OrderBy(a => a.Start).ToList();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
result.EmployeeOid = employeeDC.EmployeeOid.Value;
|
|||
|
|
result.FirstName = employeeDC.FirstName;
|
|||
|
|
result.LastName = employeeDC.LastName;
|
|||
|
|
|
|||
|
|
if (employeeDC.DateOfBirth.HasValue)
|
|||
|
|
{
|
|||
|
|
result.DateOfBirth = employeeDC.DateOfBirth.Value.ToShortDateString();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
result.Sex = employeeDC.Sex == BS.Shared.Sex.Female ? "weiblich" : "männlich";
|
|||
|
|
|
|||
|
|
if (employeeDC.FamilyStatus.HasValue)
|
|||
|
|
{
|
|||
|
|
switch (employeeDC.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;
|
|||
|
|
case BS.Shared.FamilyStatus.PartnerDivorced:
|
|||
|
|
result.FamilyStatus = "getrennt lebend";
|
|||
|
|
break;
|
|||
|
|
case BS.Shared.FamilyStatus.PartnerDead:
|
|||
|
|
result.FamilyStatus = "partnerhinterblieben";
|
|||
|
|
break;
|
|||
|
|
case BS.Shared.FamilyStatus.PartnerMarried:
|
|||
|
|
result.FamilyStatus = "verpartnert";
|
|||
|
|
break;
|
|||
|
|
case BS.Shared.FamilyStatus.Entpartnert:
|
|||
|
|
result.FamilyStatus = "entpartnert";
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
result.Street = employeeDC.Street;
|
|||
|
|
result.Town = employeeDC.Town;
|
|||
|
|
result.PostCode = employeeDC.PostalCode;
|
|||
|
|
|
|||
|
|
foreach (var iContact in employeeDC.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 = employee.Notice;
|
|||
|
|
|
|||
|
|
result.CustomerRelations = employeeDC.RelatedCustomers;
|
|||
|
|
|
|||
|
|
if (employeeDC.VarFields != null)
|
|||
|
|
{
|
|||
|
|
if (employeeDC.VarFields.Count > 0)
|
|||
|
|
{
|
|||
|
|
result.VarField1 = employeeDC.VarFields[0].VarFieldValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (employeeDC.VarFields.Count > 1)
|
|||
|
|
{
|
|||
|
|
result.VarField2 = employeeDC.VarFields[1].VarFieldValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (employeeDC.VarFields.Count > 2)
|
|||
|
|
{
|
|||
|
|
result.VarField3 = employeeDC.VarFields[2].VarFieldValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (employeeDC.VarFields.Count > 3)
|
|||
|
|
{
|
|||
|
|
result.VarField4 = employeeDC.VarFields[3].VarFieldValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (employeeDC.VarFields.Count > 4)
|
|||
|
|
{
|
|||
|
|
result.VarField5 = employeeDC.VarFields[4].VarFieldValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (employeeDC.VarFields.Count > 5)
|
|||
|
|
{
|
|||
|
|
result.VarField6 = employeeDC.VarFields[5].VarFieldValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (employeeDC.VarFields.Count > 6)
|
|||
|
|
{
|
|||
|
|
result.VarField7 = employeeDC.VarFields[6].VarFieldValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (employeeDC.VarFields.Count > 7)
|
|||
|
|
{
|
|||
|
|
result.VarField8 = employeeDC.VarFields[7].VarFieldValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (employeeDC.VarFields.Count > 8)
|
|||
|
|
{
|
|||
|
|
result.VarField9 = employeeDC.VarFields[8].VarFieldValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (employeeDC.VarFields.Count > 9)
|
|||
|
|
{
|
|||
|
|
result.VarField10 = employeeDC.VarFields[9].VarFieldValue;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return result;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|