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 }; } }