156 lines
8.2 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|