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

156 lines
8.2 KiB
C#

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<CimItemCo>();
EmailList = new List<EmailItemCo>();
TelefonList = new List<TelefonItemCo>();
}
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<CimItemCo> 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<EmailItemCo> 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<TelefonItemCo> 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;
}
}
}