using System.Collections.Generic; using System.Data; using System.Linq; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.Utils; using Kreta.Core; using Kreta.Core.CustomAttributes; using Kreta.Enums; using Kreta.Resources; namespace Kreta.BusinessLogic.HelperClasses { public class GondviseloItemCo : BaseFelhasznaloItemCo { public const string GondviselokExportAttributeId = nameof(GondviselokExportAttributeId); private readonly int _tanevId; public GondviseloItemCo() : base() { } public GondviseloItemCo(DataRow dataRow, int tanevId) : base(dataRow) { _tanevId = tanevId; Id = SDAConvert.ToInt32(dataRow["Id"]); string nev = SDAConvert.ToString(dataRow["Nev"]).ReplaceMultipleSpacesAndTrim(); Elotag = GetElotagFromTeljesNev(nev); VezetekNev = GetVezeteknevFromTeljesNev(nev); KeresztNev = GetKeresztnevekFromTeljesNev(nev); NevComparableString = nev?.ToComparableString(); RokonsagiFokId = SDAConvert.ToNullableInt32(dataRow["RokonsagiFokId"]); RokonsagiFokNev = SDAConvert.ToString(dataRow["RokonsagiFokId_DNAME"]).ReplaceMultipleSpacesAndTrim(); IsTorvenyesKepviselo = SDAConvert.ToBooleanFromTF(dataRow["TorvenyesKepviselo"]); Importalt = SDAConvert.ToBooleanFromTF(dataRow["Importalt"]); CimList = new List(); EmailList = new List(); TelefonList = new List(); } public int? Id { get; set; } [SimpleExportColumn(GondviselokExportAttributeId, 02, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloNevElotag), typeof(ImportExportGondviseloResource))] public string Elotag { get; set; } [SimpleExportColumn(GondviselokExportAttributeId, 03, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloVezetekNev), typeof(ImportExportGondviseloResource))] public string VezetekNev { get; set; } [SimpleExportColumn(GondviselokExportAttributeId, 04, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloKeresztNev), typeof(ImportExportGondviseloResource))] public string KeresztNev { get; set; } public string NevComparableString { get; set; } public int? RokonsagiFokId { get; set; } [SimpleExportColumn(GondviselokExportAttributeId, 05, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloRokonsagiFoka), typeof(ImportExportGondviseloResource))] public string RokonsagiFokNev { get; set; } [SimpleExportColumn(GondviselokExportAttributeId, 06, nameof(ImportExportGondviseloResource.ImportHeaderNameTorvenyesKepviselo), typeof(ImportExportGondviseloResource), BooleanDisplayFormat = Enums.ManualEnums.BooleanDisplayFormatEnum.Teljes)] public bool IsTorvenyesKepviselo { get; set; } public bool Importalt { get; set; } public List CimList { get; set; } public CimItemCo AllandoLakcim => CimList.FirstOrDefault(x => x.TipusId == (int)CimTipusEnum.allando_lakcim); [SimpleExportColumn(GondviselokExportAttributeId, 11, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimTipusa), typeof(ImportExportGondviseloResource))] public string AllandoLakcimTipusNev => AllandoLakcim?.TipusNev; [SimpleExportColumn(GondviselokExportAttributeId, 12, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimOrszag), typeof(ImportExportGondviseloResource))] public string AllandoLakcimOrszag => AllandoLakcim?.Orszag; [SimpleExportColumn(GondviselokExportAttributeId, 13, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimIranyitoszam), typeof(ImportExportGondviseloResource))] public string AllandoLakcimIranyitoszam => AllandoLakcim?.Iranyitoszam; [SimpleExportColumn(GondviselokExportAttributeId, 14, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimHelysegNev), typeof(ImportExportGondviseloResource))] public string AllandoLakcimTelepules => AllandoLakcim?.Telepules; [SimpleExportColumn(GondviselokExportAttributeId, 15, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimKozteruletNev), typeof(ImportExportGondviseloResource))] public string AllandoLakcimKozterulet => AllandoLakcim?.Kozterulet; [SimpleExportColumn(GondviselokExportAttributeId, 16, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimKozteruletJelleg), typeof(ImportExportGondviseloResource))] public string AllandoLakcimKozteruletJellegNev => AllandoLakcim?.KozteruletJellegNev; [SimpleExportColumn(GondviselokExportAttributeId, 17, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimHazszam), typeof(ImportExportGondviseloResource))] public string AllandoLakcimHazszam => AllandoLakcim?.Hazszam; [SimpleExportColumn(GondviselokExportAttributeId, 18, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimEmelet), typeof(ImportExportGondviseloResource))] public string AllandoLakcimEmelet => AllandoLakcim?.Emelet; [SimpleExportColumn(GondviselokExportAttributeId, 19, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimAjto), typeof(ImportExportGondviseloResource))] public string AllandoLakcimAjto => AllandoLakcim?.Ajto; public List EmailList { get; set; } [SimpleExportColumn(GondviselokExportAttributeId, 09, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloEmailCime), typeof(ImportExportGondviseloResource))] public string EmailCim => EmailList.FirstOrDefault()?.EmailCim; [SimpleExportColumn(GondviselokExportAttributeId, 10, nameof(ImportExportGondviseloResource.ImportHeaderNameEmailTipus), typeof(ImportExportGondviseloResource))] public string EmailTipusNev => EmailList.FirstOrDefault()?.TipusNev ?? EmailTipusEnum.Na.GetDisplayName(_tanevId); public List TelefonList { get; set; } [SimpleExportColumn(GondviselokExportAttributeId, 07, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloTelefonszama), typeof(ImportExportGondviseloResource))] public string Telefonszam => TelefonList.FirstOrDefault()?.Telefonszam; [SimpleExportColumn(GondviselokExportAttributeId, 08, nameof(ImportExportGondviseloResource.ImportHeaderNameTelefonTipus), typeof(ImportExportGondviseloResource))] public string TelefonTipusNev => TelefonList.FirstOrDefault()?.TipusNev ?? TelefonTipusEnum.Ismeretlen.GetDisplayName(_tanevId); public static GondviseloItemCo ConvertToGondviseloItemCoFromTanuloDalGetGondviselok(DataRow dataRow) { var nev = SDAConvert.ToString(dataRow["Nev"]).ReplaceMultipleSpacesAndTrim(); return new GondviseloItemCo() { Id = SDAConvert.ToInt32(dataRow["Id"]), Elotag = GetElotagFromTeljesNev(nev), VezetekNev = GetVezeteknevFromTeljesNev(nev), KeresztNev = GetKeresztnevekFromTeljesNev(nev), NevComparableString = nev?.ToComparableString(), RokonsagiFokNev = SDAConvert.ToString(dataRow["RokonsagFoka"]).ReplaceMultipleSpacesAndTrim(), IsTorvenyesKepviselo = SDAConvert.ToBooleanFromTF(dataRow["IsTorvenyesKepviselo"]) }; } protected static string GetElotagFromTeljesNev(string nev) { if (string.IsNullOrWhiteSpace(nev)) { return null; } var elotag = NevUtils.GetNevCo(nev).Elotag; string result = string.IsNullOrWhiteSpace(elotag) ? null : elotag; return result; } protected static string GetVezeteknevFromTeljesNev(string nev) { if (string.IsNullOrWhiteSpace(nev)) { return null; } string result = NevUtils.GetNevCo(nev).Vezeteknev; return result; } protected static string GetKeresztnevekFromTeljesNev(string nev) { if (string.IsNullOrWhiteSpace(nev)) { return null; } string result = NevUtils.GetNevCo(nev).Keresztnev; return result; } } }