using System; using Kreta.Core.CustomAttributes; using Kreta.Core.Domain.Interface; using Kreta.Enums; namespace Kreta.Core.Domain { public class KirFelhasznalo : IKirFelhasznalo, IEquatable { public int Id { get; set; } public string NevElotag { get; set; } public string Vezeteknev { get; set; } public string Utonev { get; set; } public string SzuletesiNev { get; set; } public string NyomtatasiNev { get; set; } public bool NevSorrend { get; set; } public string SzuletesiVezeteknev { get; set; } public string SzuletesiUtonev { get; set; } //Nem biztos hogy erre szükség van public string SzuletesiNevSorrenddel { get; set; } public bool SzuletesiNevSorrend { get; set; } public string AnyjaVezetekNeve { get; set; } public string AnyjaUtoneve { get; set; } public string AnyjaNeveSorrenddel { get; set; } public bool AnyjaNeveSorrend { get; set; } public DateTime? SzuletesiDatum { get; set; } public string OktatasiAzonosito { get; set; } public string SzuletesiOrszag { get; set; } public string Allampolgarsag { get; set; } public string Allampolgarsag2 { get; set; } public string SzuletesiHely { get; set; } public string AnyjaNeve { get; set; } public string Nem { get; set; } public string TajSzam { get; set; } public string Email { get; set; } public string Telefonszam { get; set; } [Ignore()] public KirCim AllandoLakcim { get; set; } [Ignore()] public KirCim TartozkodasiCim { get; set; } public bool Equals(KirFelhasznalo other) => other != null && SzuletesiUtonev == other.SzuletesiUtonev && OktatasiAzonosito == other.OktatasiAzonosito && NevElotag == other.NevElotag && Vezeteknev == other.Vezeteknev && Utonev == other.Utonev && SzuletesiVezeteknev == other.SzuletesiVezeteknev && AnyjaVezetekNeve == other.AnyjaVezetekNeve && AnyjaUtoneve == other.AnyjaUtoneve && SzuletesiOrszag == other.SzuletesiOrszag && Allampolgarsag == other.Allampolgarsag && Allampolgarsag2 == other.Allampolgarsag2 && Nem == other.Nem && Email == other.Email && Telefonszam == other.Telefonszam; public static FelhasznaloElerhetosegCimCO ModelToAllandoLakcimToElerhetosegCimCo(KirFelhasznalo kirFelhasznalo) => new FelhasznaloElerhetosegCimCO { FelhasznaloId = kirFelhasznalo.Id, Alapertelmezett = true, CimTipus = (int)CimTipusEnum.allando_lakcim, Hazszam = kirFelhasznalo.AllandoLakcim.Hazszam, Iranyitoszam = kirFelhasznalo.AllandoLakcim.Iranyitoszam, KozteruletTipusNev = kirFelhasznalo.AllandoLakcim.KozteruletJellege, KozteruletNev = kirFelhasznalo.AllandoLakcim.KozteruletNev, HelysegNev = kirFelhasznalo.AllandoLakcim.Varos }; public static FelhasznaloElerhetosegCimCO ModelToTartozkodasiCimToElerhetosegCimCo(KirFelhasznalo kirFelhasznalo) => new FelhasznaloElerhetosegCimCO { FelhasznaloId = kirFelhasznalo.Id, Alapertelmezett = true, CimTipus = (int)CimTipusEnum.tartozkodasi_hely, Hazszam = kirFelhasznalo.TartozkodasiCim.Hazszam, Iranyitoszam = kirFelhasznalo.TartozkodasiCim.Iranyitoszam, KozteruletTipusNev = kirFelhasznalo.TartozkodasiCim.KozteruletJellege, KozteruletNev = kirFelhasznalo.TartozkodasiCim.KozteruletNev, HelysegNev = kirFelhasznalo.TartozkodasiCim.Varos }; public static implicit operator FelhasznaloElerhetosegTelCO(KirFelhasznalo kirFelhasznalo) => new FelhasznaloElerhetosegTelCO { Alapertelmezett = true, Telefonszam = kirFelhasznalo.Telefonszam, TelefonTipusa = (int)TelefonTipusEnum.Ismeretlen }; public static implicit operator FelhasznaloElerhetosegEmailCO(KirFelhasznalo kirFelhasznalo) => new FelhasznaloElerhetosegEmailCO { Alapertelmezett = true, EmailCim = kirFelhasznalo.Email, EmailTipusa = (int)EmailTipusEnum.Na }; } }