kreta/Kreta.BusinessLogic/HelperClasses/KirTanarAdatCo.cs
2024-03-13 00:33:46 +01:00

124 lines
6.5 KiB
C#

using System;
using System.Linq;
using Kreta.Core;
using Kreta.Core.Domain.Interface;
using Kreta.DataAccess.Interfaces;
using Kreta.Enums;
namespace Kreta.BusinessLogic.HelperClasses
{
public class KirTanarAdatCo
{
public int? Id { get; set; }
public string OktatasiAzonosito { get; set; }
public int? Nem { get; set; }
public string MunkavallaloCsaladiNev { get; set; }
public string MunkavallaloUtonev { get; set; }
public string SzuletesiCsaladiNev { get; set; }
public string SzuletesiUtonev { get; set; }
public bool SzuletesiNevSorrend { get; set; }
public string AnyjaCsaladiNeve { get; set; }
public string AnyjaUtoneve { get; set; }
public bool AnyjaNeveSorrend { get; set; }
public string SzuletesiHely { get; set; }
public DateTime? SzuletesiIdo { get; set; }
public string Iranyitoszam { get; set; }
public string HelysegNeve { get; set; }
public string KozteruletNeve { get; set; }
public string KozteruletJellegeNev { get; set; }
public string Hazszam { get; set; }
public string Ajto { get; set; }
public string Emelet { get; set; }
public string Telefon { get; set; }
public int TelefonTipusa { get; set; }
public string Email { get; set; }
public int EmailTipusa { get; set; }
public DateTime? AlkalmazasKezdete { get; set; }
public DateTime? AlkalmazasVege { get; set; }
public string Elotag { get; set; }
public int? FoglalkoztatasTipusa { get; set; }
public int? Allampolgarsag { get; set; }
public int? Allampolgarsag2 { get; set; }
public int? SzuletesiOrszag { get; set; }
public bool NevSorrend { get; set; }
internal static KirTanarAdatCo EntityToCo(IAlkalmazott alkalmazott)
{
KirTanarAdatCo kirTanarAdatCo = new KirTanarAdatCo
{
Id = alkalmazott.ID,
OktatasiAzonosito = alkalmazott.OktatasiAzonosito,
Nem = alkalmazott.Neme,
Elotag = alkalmazott.Elotag,
MunkavallaloCsaladiNev = alkalmazott.Vezeteknev,
MunkavallaloUtonev = alkalmazott.Utonev,
SzuletesiCsaladiNev = !alkalmazott.SzuletesiNevSorrend ? alkalmazott.SzuletesiVezeteknev?.Trim() : alkalmazott.SzuletesiUtonev?.Trim(),
SzuletesiUtonev = !alkalmazott.SzuletesiNevSorrend ? alkalmazott.SzuletesiUtonev?.Trim() : alkalmazott.SzuletesiVezeteknev?.Trim(),
AnyjaCsaladiNeve = !alkalmazott.AnyjaNeveSorrend ? alkalmazott.AnyjaVezetekneve?.Trim() : alkalmazott.AnyjaUtoneve?.Trim(),
AnyjaUtoneve = !alkalmazott.AnyjaNeveSorrend ? alkalmazott.AnyjaUtoneve?.Trim() : alkalmazott.AnyjaVezetekneve?.Trim(),
SzuletesiHely = alkalmazott.SzuletesiHely,
SzuletesiIdo = alkalmazott.SzuletesiDatum,
SzuletesiOrszag = alkalmazott.SzuletesiOrszag,
Allampolgarsag = alkalmazott.Allampolgarsaga,
Allampolgarsag2 = alkalmazott.Allampolgarsaga2,
};
var oCim = alkalmazott.Cim.FirstOrDefault(X => X.CimTipusa == (int)CimTipusEnum.allando_lakcim && !X.Torolt);
if (oCim != null)
{
kirTanarAdatCo.Ajto = oCim.Ajto;
kirTanarAdatCo.Emelet = oCim.Emelet;
kirTanarAdatCo.Hazszam = oCim.Hazszam;
kirTanarAdatCo.Iranyitoszam = oCim.IranyitoSzam;
kirTanarAdatCo.KozteruletJellegeNev = oCim.KozteruletJellegeNev;
kirTanarAdatCo.KozteruletNeve = oCim.Kozterulet;
kirTanarAdatCo.HelysegNeve = oCim.Varos;
}
var tanarMunkaugyiAdatok = alkalmazott.MunkaugyiAdatok.FirstOrDefault(x => !x.Torolt);
if (tanarMunkaugyiAdatok != null)
{
kirTanarAdatCo.AlkalmazasKezdete = tanarMunkaugyiAdatok.AlkalmazasKezdete;
kirTanarAdatCo.AlkalmazasVege = tanarMunkaugyiAdatok.AlkalmazasMegszunese;
kirTanarAdatCo.FoglalkoztatasTipusa = tanarMunkaugyiAdatok.FoglalkoztatasTipus;
}
if (alkalmazott.Telefon.Count > 0)
{
var tAlap = alkalmazott.Telefon.FirstOrDefault(x => x.Alapertelmezett && !x.Torolt && !x.IsPublic);
kirTanarAdatCo.Telefon = tAlap?.TelefonSzam;
}
if (alkalmazott.Email.Count > 0)
{
var email = alkalmazott.Email.FirstOrDefault(x => !x.Torolt && !x.IsPublic);
kirTanarAdatCo.Email = email?.EmailCim;
}
return kirTanarAdatCo;
}
public static KirTanarAdatCo KirEntityToCo(IKirAlkalmazott kirAlkalmazott) => new KirTanarAdatCo
{
Id = kirAlkalmazott.Id,
AnyjaUtoneve = kirAlkalmazott.AnyjaUtoneve,
AnyjaCsaladiNeve = kirAlkalmazott.AnyjaVezetekNeve,
NevSorrend = kirAlkalmazott.NevSorrend,
Elotag = kirAlkalmazott.NevElotag,
SzuletesiUtonev = kirAlkalmazott.SzuletesiUtonev,
SzuletesiCsaladiNev = kirAlkalmazott.SzuletesiVezeteknev,
MunkavallaloUtonev = kirAlkalmazott.Utonev,
MunkavallaloCsaladiNev = kirAlkalmazott.Vezeteknev,
SzuletesiHely = kirAlkalmazott.SzuletesiHely,
SzuletesiIdo = kirAlkalmazott.SzuletesiDatum,
Nem = Enum.TryParse(kirAlkalmazott.Nem.RemoveDiacritics(), true, out NemEnum nemEnum) ? (int)nemEnum : (int)NemEnum.NA,
AlkalmazasKezdete = kirAlkalmazott.AlkalmazasKezdete,
AlkalmazasVege = kirAlkalmazott.AlkalmazasMegszunese,
FoglalkoztatasTipusa = Enum.TryParse(kirAlkalmazott.FoglalkoztatasTipusa.RemoveDiacritics(), true, out FoglalkoztatasTipusaEnum foglalkoztatasTipusaEnum) ? (int)foglalkoztatasTipusaEnum : (int)FoglalkoztatasTipusaEnum.TeljesMunkaidos,
OktatasiAzonosito = kirAlkalmazott.OktatasiAzonosito,
Allampolgarsag = Enum.TryParse(kirAlkalmazott.Allampolgarsag.RemoveDiacritics(), true, out AllampolgarsagEnum allampolgarsagEnum) ? (int)allampolgarsagEnum : (int)AllampolgarsagEnum.magyar,
Allampolgarsag2 = Enum.TryParse(kirAlkalmazott.Allampolgarsag2.RemoveDiacritics(), true, out AllampolgarsagEnum allampolgarsag2Enum) ? (int)allampolgarsag2Enum : (int)AllampolgarsagEnum.magyar,
SzuletesiOrszag = Enum.TryParse(kirAlkalmazott.SzuletesiOrszag.RemoveDiacritics(), true, out OrszagTipusEnum orszagTipusEnum) ? (int)orszagTipusEnum : (int)OrszagTipusEnum.Magyarorszag
};
}
}