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

675 lines
35 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Validation;
using Kreta.Core;
using Kreta.Core.CustomAttributes;
using Kreta.Enums;
using Kreta.Framework.Util;
using Kreta.Resources;
using Newtonsoft.Json;
namespace Kreta.BusinessLogic.HelperClasses.ImportCo
{
public class GondviseloImportCo : BaseImportCo
{
[JsonIgnore]
public List<GondviseloImportItemCo> MainImportItemList { get; set; } = new List<GondviseloImportItemCo>();
[JsonIgnore]
public List<GondviseloImportItemCo> NemImportalhatoItemList { get; set; } = new List<GondviseloImportItemCo>();
[JsonProperty("T_TELEFON_OSSZES")]
public List<TelefonGondviseloImportJsonItemCo> TelefonGondviseloImportJsonItemList { get; set; }
[JsonProperty("T_EMAIL_OSSZES")]
public List<EmailGondviseloImportJsonItemCo> EmailGondviseloImportJsonItemList { get; set; }
[JsonProperty("T_CIM_OSSZES")]
public List<CimGondviseloImportJsonItemCo> CimGondviseloImportJsonItemList { get; set; }
[JsonProperty("T_GONDVISELO_OSSZES")]
public List<GondviseloImportJsonItemCo> MainImportJsonItemList { get; set; }
[JsonIgnore]
public List<GondviseloItemCo> GondviseloCoList { get; set; }
[JsonIgnore]
public bool IsGeneraltFileLetoltes { get; set; }
[JsonIgnore]
public bool IsEmailKuldes { get; set; }
public Dictionary<int, List<ValidationResult>> Validate()
{
var validationResultDictionary = new Dictionary<int, List<ValidationResult>>();
foreach (GondviseloImportItemCo importItem in MainImportItemList)
{
var validationResultList = new List<ValidationResult>();
//NOTE: Az import item-eket egyesével levalidáljuk!
var blValidator = new BlValidator(importItem);
if (!blValidator.IsValid)
{
validationResultList.AddRange(blValidator.ErrorList);
}
if (validationResultList.Count > 0)
{
validationResultDictionary.Add(importItem.LineNumber, validationResultList);
}
}
Dictionary<int, string> lineNumberCompareHashDictionary = MainImportItemList.ToDictionary(x => x.LineNumber, x => x.CompareHash);
var duplicatedRowConditonTextList = new List<string>
{
ImportExportGondviseloResource.ImportHeaderNameTanuloNeve,
ImportExportGondviseloResource.ImportHeaderNameTanuloOktatasiAzonosito,
ImportExportGondviseloResource.ImportHeaderNameGondviseloNeve,
ImportExportGondviseloResource.ImportHeaderNameGondviseloRokonsagiFoka
};
ValidateDuplicatedRows(validationResultDictionary, lineNumberCompareHashDictionary, duplicatedRowConditonTextList);
return validationResultDictionary;
}
}
public class GondviseloImportItemCo : BaseImportItemCo, IValidatableObject
{
private readonly int _tanevId;
private GondviseloImportItemCo() { }
public GondviseloImportItemCo(int tanevId)
{
_tanevId = tanevId;
}
#region Fields
public const string NemImportalhatoSorokExportAttributeId = nameof(NemImportalhatoSorokExportAttributeId);
#endregion Fields
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 00, nameof(ImportExportGondviseloResource.ImportHeaderNameTanuloNeve), typeof(ImportExportGondviseloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
[MaxLength(200, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameTanuloNeve), ResourceType = typeof(ImportExportGondviseloResource))]
public string TanuloNeveImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 01, nameof(ImportExportGondviseloResource.ImportHeaderNameTanuloOktatasiAzonosito), typeof(ImportExportGondviseloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
[MaxLength(11, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[KretaRegularExpression(Constants.RegularExpressions.OktatasiAzonositoTanulo, ErrorMessageResourceName = nameof(ErrorResource.OktatasiAzonositoFormatumaNemMegfeleloTanulo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameTanuloOktatasiAzonosito), ResourceType = typeof(ImportExportGondviseloResource))]
public string TanuloOktatasiAzonositoImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 02, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloNevElotag), typeof(ImportExportGondviseloResource))]
[MaxLength(200, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloNevElotag), ResourceType = typeof(ImportExportGondviseloResource))]
public string GondviseloNevElotagImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 03, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloVezetekNev), typeof(ImportExportGondviseloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
[MaxLength(200, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloVezetekNev), ResourceType = typeof(ImportExportGondviseloResource))]
public string GondviseloVezeteknevImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 04, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloKeresztNev), typeof(ImportExportGondviseloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
[MaxLength(200, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloKeresztNev), ResourceType = typeof(ImportExportGondviseloResource))]
public string GondviseloKeresztnevImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 05, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloRokonsagiFoka), typeof(ImportExportGondviseloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloRokonsagiFoka), ResourceType = typeof(ImportExportGondviseloResource))]
public string GondviseloRokonsagiFokaImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 06, nameof(ImportExportGondviseloResource.ImportHeaderNameTorvenyesKepviselo), typeof(ImportExportGondviseloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameTorvenyesKepviselo), ResourceType = typeof(ImportExportGondviseloResource))]
public string TorvenyesKepviseloImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 07, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloTelefonszama), typeof(ImportExportGondviseloResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[PhoneExtended(ErrorMessageResourceName = nameof(ErrorResource.ATelefonszamFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloTelefonszama), ResourceType = typeof(ImportExportGondviseloResource))]
public string GondviseloTelefonszamaImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 08, nameof(ImportExportGondviseloResource.ImportHeaderNameTelefonTipus), typeof(ImportExportGondviseloResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameTelefonTipus), ResourceType = typeof(ImportExportGondviseloResource))]
public string TelefonTipusImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 09, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloEmailCime), typeof(ImportExportGondviseloResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[EmailAddressExtended(true, true, ErrorMessageResourceName = nameof(ErrorResource.NemMegfeleloFormatumuAzEmailCim), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloEmailCime), ResourceType = typeof(ImportExportGondviseloResource))]
public string GondviseloEmailCimeImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 10, nameof(ImportExportGondviseloResource.ImportHeaderNameEmailTipus), typeof(ImportExportGondviseloResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameEmailTipus), ResourceType = typeof(ImportExportGondviseloResource))]
public string EmailTipusImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 11, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimTipusa), typeof(ImportExportGondviseloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimTipusa), ResourceType = typeof(ImportExportGondviseloResource))]
public string CimTipusaImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 12, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimOrszag), typeof(ImportExportGondviseloResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimOrszag), ResourceType = typeof(ImportExportGondviseloResource))]
public string CimOrszagImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 13, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimIranyitoszam), typeof(ImportExportGondviseloResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimIranyitoszam), ResourceType = typeof(ImportExportGondviseloResource))]
public string CimIranyitoszamImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 14, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimHelysegNev), typeof(ImportExportGondviseloResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimHelysegNev), ResourceType = typeof(ImportExportGondviseloResource))]
public string CimHelysegNevImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 15, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimKozteruletNev), typeof(ImportExportGondviseloResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimKozteruletNev), ResourceType = typeof(ImportExportGondviseloResource))]
public string CimKozteruletNevImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 16, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimKozteruletJelleg), typeof(ImportExportGondviseloResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimKozteruletJelleg), ResourceType = typeof(ImportExportGondviseloResource))]
public string CimKozteruletJellegeImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 17, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimHazszam), typeof(ImportExportGondviseloResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimHazszam), ResourceType = typeof(ImportExportGondviseloResource))]
public string CimHazszamImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 18, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimEmelet), typeof(ImportExportGondviseloResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimEmelet), ResourceType = typeof(ImportExportGondviseloResource))]
public string CimEmeletImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 19, nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimAjto), typeof(ImportExportGondviseloResource))]
[Display(Name = nameof(ImportExportGondviseloResource.ImportHeaderNameGondviseloCimAjto), ResourceType = typeof(ImportExportGondviseloResource))]
public string CimAjtoImportData { get; set; }
public string FelhasznaloElotag => GetElotagFromTeljesNev(TanuloNeveImportData);
public string FelhasznaloVezeteknev => GetVezeteknevFromTeljesNev(TanuloNeveImportData);
public string FelhasznaloKeresztnev => GetKeresztnevekFromTeljesNev(TanuloNeveImportData);
public string FelhasznaloOktatasiAzonosito => GetStringValue(TanuloOktatasiAzonositoImportData);
public string GondviseloNevElotag => GetStringValue(GondviseloNevElotagImportData);
public string GondviseloVezeteknev => GetStringValue(GondviseloVezeteknevImportData);
public string GondviseloKeresztnev => GetStringValue(GondviseloKeresztnevImportData);
public int? RokonsagiFokId => string.IsNullOrWhiteSpace(GondviseloRokonsagiFokaImportData) ? (int)RokonsagiFokEnum.na : ((int)GeneratedAdatszotarTipusEnum.RokonsagiFok).GetItemIdByTypeAndName(GondviseloRokonsagiFokaImportData, _tanevId);
public string RokonsagiFokNev => RokonsagiFokId?.GetDisplayName<RokonsagiFokEnum>(_tanevId);
public bool? IsTorvenyesKepviselo => GetBooleanValue(TorvenyesKepviseloImportData);
public string Telefonszam => GetStringValue(GondviseloTelefonszamaImportData);
public int? TelefonTipus => string.IsNullOrWhiteSpace(TelefonTipusImportData) ? (int)TelefonTipusEnum.Ismeretlen : ((int)GeneratedAdatszotarTipusEnum.TelefonTipus).GetItemIdByTypeAndName(TelefonTipusImportData, _tanevId);
public string EmailCim => GetStringValue(GondviseloEmailCimeImportData);
public int? EmailTipus => string.IsNullOrWhiteSpace(EmailTipusImportData) ? (int)EmailTipusEnum.Na : ((int)GeneratedAdatszotarTipusEnum.EmailTipus).GetItemIdByTypeAndName(EmailTipusImportData, _tanevId);
public int? CimTipusaId => ((int)GeneratedAdatszotarTipusEnum.CimTipus).GetItemIdByTypeAndName(CimTipusaImportData, _tanevId);
public string CimTipusaNev => CimTipusaId?.GetDisplayName<CimTipusEnum>(_tanevId);
public int? CimOrszagId => ((int)GeneratedAdatszotarTipusEnum.OrszagTipus).GetItemIdByTypeAndName(CimOrszagImportData, _tanevId);
public string CimIranyitoszam => GetStringValue(CimIranyitoszamImportData);
public string CimHelysegNev => GetStringValue(CimHelysegNevImportData);
public string CimKozteruletNev => GetStringValue(CimKozteruletNevImportData);
public int? CimKozteruletJellegId => ((int)GeneratedAdatszotarTipusEnum.KozteruletJelleg).GetItemIdByTypeAndName(CimKozteruletJellegeImportData, _tanevId);
public string CimKozteruletJellegeNev => CimKozteruletJellegId?.GetDisplayName<KozteruletJellegEnum>(_tanevId) ?? CimKozteruletJellegeImportData;
public string CimHazszam => GetStringValue(CimHazszamImportData);
public string CimEmelet => GetStringValue(CimEmeletImportData);
public string CimAjto => GetStringValue(CimAjtoImportData);
public int? FelhasznaloId { get; set; }
public int? TelefonId { get; set; }
public int? EmailId { get; set; }
public int? CimId { get; set; }
public int OperationTelefon { get; set; }
public int OperationEmail { get; set; }
public int OperationCim { get; set; }
public string CompareHashTelefon { get; set; }
public string CompareHashEmail { get; set; }
public string CompareHashCim { get; set; }
public GondviseloItemCo Gondviselo { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
//NOTE: Ha van megadva bármilyen érték az import data-ban, hogy ne legyen dupla validálás a required miatt.
if (!string.IsNullOrWhiteSpace(TanuloNeveImportData) &&
!string.IsNullOrWhiteSpace(TanuloOktatasiAzonositoImportData))
{
if (!FelhasznaloId.IsEntityId())
{
yield return new ValidationResult(ImportExportGondviseloResource.HibaEzzelAzOktatasiAzonositovalNemLetezikTanuloEbbenATanevben);
}
}
//NOTE: Ha van megadva bármilyen érték az import data-ban, meg kell vizsgálni, hogy legyen vezetéknév és keresztnév is
if (!string.IsNullOrWhiteSpace(TanuloNeveImportData) && (string.IsNullOrWhiteSpace(FelhasznaloVezeteknev) || string.IsNullOrWhiteSpace(FelhasznaloKeresztnev)))
{
yield return new ValidationResult(ImportExportGondviseloResource.ATanuloNeveFormatumaNemMegfelelo);
}
//NOTE: Ha van megadva bármilyen érték az import data-ban, meg kell vizsgálni, hogy legyen vezetéknév és keresztnév is
if (string.IsNullOrWhiteSpace(GondviseloVezeteknevImportData) || string.IsNullOrWhiteSpace(GondviseloKeresztnevImportData))
{
yield return new ValidationResult(ImportExportGondviseloResource.AGondviseloNeveFormatumaNemMegfelelo);
}
//NOTE: Ha van megadva bármilyen érték az import data-ban, meg kell vizsgálni, hogy sikerült-e átkonvertálni a megfelelő típusra.
if (!string.IsNullOrWhiteSpace(GondviseloRokonsagiFokaImportData))
{
//NOTE: Ha az érték null, akkor a bejövő adat nem megfelelő formátumú!
if (!RokonsagiFokId.IsEntityId())
{
yield return new ValidationResult(ImportExportGondviseloResource.HibaNincsIlyenRokonsagiFok);
}
}
//NOTE: Ha van megadva bármilyen érték az import data-ban, meg kell vizsgálni, hogy sikerült-e átkonvertálni a megfelelő típusra.
if (!string.IsNullOrWhiteSpace(CimTipusaImportData))
{
//NOTE: Ha az érték null, akkor a bejövő adat nem megfelelő formátumú!
if (!CimTipusaId.IsEntityId())
{
yield return new ValidationResult(ImportExportGondviseloResource.HibaNincsIlyenCimTipus);
}
else
{
if (CimTipusaId.Value != (int)CimTipusEnum.allando_lakcim)
{
yield return new ValidationResult(ImportExportGondviseloResource.HibaCsakAllandoLakcimTipusImportalhato);
}
}
}
//NOTE: Ha van megadva bármilyen érték az import data-ban, meg kell vizsgálni, hogy sikerült-e átkonvertálni a megfelelő típusra.
if (!string.IsNullOrWhiteSpace(EmailTipusImportData))
{
//NOTE: Ha az érték null, akkor a bejövő adat nem megfelelő formátumú!
if (!EmailTipus.IsEntityId())
{
yield return new ValidationResult(ImportExportGondviseloResource.HibaNincsIlyenEmailTipus);
}
}
//NOTE: Ha van megadva bármilyen érték az import data-ban, meg kell vizsgálni, hogy sikerült-e átkonvertálni a megfelelő típusra.
if (!string.IsNullOrWhiteSpace(TelefonTipusImportData))
{
//NOTE: Ha az érték null, akkor a bejövő adat nem megfelelő formátumú!
if (!TelefonTipus.IsEntityId())
{
yield return new ValidationResult(ImportExportGondviseloResource.HibaNincsIlyenTelefonTipus);
}
}
//NOTE: Ha van megadva bármilyen érték az import data-ban, meg kell vizsgálni, hogy sikerült-e átkonvertálni a megfelelő típusra.
if (!string.IsNullOrWhiteSpace(CimOrszagImportData))
{
//NOTE: Ha az érték null, akkor a bejövő adat nem megfelelő formátumú!
if (!CimOrszagId.IsEntityId())
{
yield return new ValidationResult(ImportExportGondviseloResource.HibaNemMegfeleloOrszagnev);
}
}
}
}
public class TelefonGondviseloImportJsonItemCo : BaseImportJsonItemCo
{
private readonly int _tanevId;
public TelefonGondviseloImportJsonItemCo(GondviseloImportItemCo importItemCo, int tanevId, int intezmenyId, int felhasznaloId) : base(tanevId, intezmenyId, felhasznaloId)
{
_tanevId = tanevId;
Id = importItemCo.TelefonId;
//NOTE: Az FelhasznaloId.Value nem lehet null, mert ide már csak olyan elem jön be, aminek van tanuló id-ja!
FelhasznaloId = importItemCo.FelhasznaloId.Value;
FelhasznaloElotag = Extensions.NameExtensions.CleanElotag(importItemCo.FelhasznaloElotag);
FelhasznaloVezeteknev = importItemCo.FelhasznaloVezeteknev.ReplaceMultipleSpacesAndTrim();
FelhasznaloKeresztnev = importItemCo.FelhasznaloKeresztnev.ReplaceMultipleSpacesAndTrim();
Nev = Extensions.NameExtensions.GetNevSorrendben("F", Extensions.NameExtensions.CleanElotag(importItemCo.GondviseloNevElotag), importItemCo.GondviseloVezeteknev, importItemCo.GondviseloKeresztnev);
//NOTE: Az RokonsagiFokId.Value nem lehet null, mert ide már csak olyan elem jön be, aminek van rokonsági foka!
RokonsagiFokId = importItemCo.RokonsagiFokId.Value;
RokonsagiFokNev = importItemCo.RokonsagiFokNev;
Telefonszam = importItemCo.Telefonszam;
TipusId = importItemCo.TelefonTipus;
IsAlapertelmezett = SDAConvert.ToSDABoolean(true);
LineNumber = importItemCo.LineNumber;
Operation = importItemCo.OperationTelefon;
}
#region Import Json Properties
[JsonProperty("Nev")]
public string Nev { get; set; }
[JsonProperty("RokonsagiFokId")]
public int? RokonsagiFokId { get; set; }
[JsonIgnore]
public string RokonsagiFokNev { get; set; }
[JsonProperty("C_TELEFONSZAM")]
public string Telefonszam { get; set; }
[JsonProperty("C_FELHASZNALOID")]
public int FelhasznaloId { get; set; }
[JsonIgnore]
public string FelhasznaloElotag { get; set; }
[JsonIgnore]
public string FelhasznaloVezeteknev { get; set; }
[JsonIgnore]
public string FelhasznaloKeresztnev { get; set; }
[JsonProperty("C_ALAPERTELMEZETT")]
public string IsAlapertelmezett { get; set; }
#region Default Required Import Json Properties
[JsonProperty("C_TELEFONTIPUSA")]
public int? TipusId { get; set; }
[JsonIgnore]
public string TipusNev => TipusId?.GetDisplayName<TelefonTipusEnum>(_tanevId);
[JsonProperty("C_LEIRAS")]
public string Leiras => null;
[JsonProperty("C_ISPUBLIC")]
public string IsPublic => SDAConvert.ToSDABoolean(false);
#endregion Default Required Import Json Properties
#endregion Import Json Properties
}
public class EmailGondviseloImportJsonItemCo : BaseImportJsonItemCo
{
public EmailGondviseloImportJsonItemCo(GondviseloImportItemCo importItemCo, int tanevId, int intezmenyId, int felhasznaloId) : base(tanevId, intezmenyId, felhasznaloId)
{
Id = importItemCo.EmailId;
//NOTE: Az FelhasznaloId.Value nem lehet null, mert ide már csak olyan elem jön be, aminek van tanuló id-ja!
FelhasznaloId = importItemCo.FelhasznaloId.Value;
FelhasznaloElotag = Extensions.NameExtensions.CleanElotag(importItemCo.FelhasznaloElotag);
FelhasznaloVezeteknev = importItemCo.FelhasznaloVezeteknev.ReplaceMultipleSpacesAndTrim();
FelhasznaloKeresztnev = importItemCo.FelhasznaloKeresztnev.ReplaceMultipleSpacesAndTrim();
Nev = Extensions.NameExtensions.GetNevSorrendben("F", Extensions.NameExtensions.CleanElotag(importItemCo.GondviseloNevElotag), importItemCo.GondviseloVezeteknev, importItemCo.GondviseloKeresztnev);
//NOTE: Az RokonsagiFokId.Value nem lehet null, mert ide már csak olyan elem jön be, aminek van rokonsági foka!
RokonsagiFokId = importItemCo.RokonsagiFokId.Value;
RokonsagiFokNev = importItemCo.RokonsagiFokNev;
EmailCim = importItemCo.EmailCim;
TipusId = importItemCo.EmailTipus;
TipusNev = TipusId?.GetDisplayName<EmailTipusEnum>(tanevId);
IsAlapertelmezett = SDAConvert.ToSDABoolean(true);
LineNumber = importItemCo.LineNumber;
Operation = importItemCo.OperationEmail;
}
#region Import Json Properties
[JsonIgnore]
public string FelhasznaloElotag { get; set; }
[JsonIgnore]
public string FelhasznaloVezeteknev { get; set; }
[JsonIgnore]
public string FelhasznaloKeresztnev { get; set; }
[JsonProperty("Nev")]
public string Nev { get; set; }
[JsonProperty("RokonsagiFokId")]
public int? RokonsagiFokId { get; set; }
[JsonIgnore]
public string RokonsagiFokNev { get; set; }
[JsonProperty("C_FELHASZNALOID")]
public int FelhasznaloId { get; set; }
[JsonProperty("C_EMAILCIM")]
public string EmailCim { get; set; }
[JsonProperty("C_EMAILTIPUSA")]
public int? TipusId { get; set; }
[JsonIgnore]
public string TipusNev { get; set; }
[JsonProperty("C_ALAPERTELMEZETT")]
public string IsAlapertelmezett { get; set; }
#region Default Required Import Json Properties
[JsonProperty("C_ISPUBLIC")]
public string IsPublic => SDAConvert.ToSDABoolean(false);
[JsonProperty("C_ISHIBASANMEGADVA")]
public string IsHibasanMegadva => SDAConvert.ToSDABoolean(false);
#endregion Default Required Import Json Properties
#endregion Import Json Properties
}
public class CimGondviseloImportJsonItemCo : BaseImportJsonItemCo
{
public CimGondviseloImportJsonItemCo(GondviseloImportItemCo importItemCo, int tanevId, int intezmenyId, int felhasznaloId) : base(tanevId, intezmenyId, felhasznaloId)
{
Id = importItemCo.CimId;
//NOTE: Az FelhasznaloId.Value nem lehet null, mert ide már csak olyan elem jön be, aminek van tanuló id-ja!
FelhasznaloId = importItemCo.FelhasznaloId.Value;
FelhasznaloElotag = Extensions.NameExtensions.CleanElotag(importItemCo.FelhasznaloElotag);
FelhasznaloVezeteknev = importItemCo.FelhasznaloVezeteknev.ReplaceMultipleSpacesAndTrim();
FelhasznaloKeresztnev = importItemCo.FelhasznaloKeresztnev.ReplaceMultipleSpacesAndTrim();
Nev = Extensions.NameExtensions.GetNevSorrendben("F", Extensions.NameExtensions.CleanElotag(importItemCo.GondviseloNevElotag), importItemCo.GondviseloVezeteknev, importItemCo.GondviseloKeresztnev);
//NOTE: Az RokonsagiFokId.Value nem lehet null, mert ide már csak olyan elem jön be, aminek van rokonsági foka!
RokonsagiFokId = importItemCo.RokonsagiFokId.Value;
RokonsagiFokNev = importItemCo.RokonsagiFokNev;
TipusId = importItemCo.CimTipusaId;
TipusNev = TipusId?.GetDisplayName<CimTipusEnum>(tanevId);
OrszagId = importItemCo.CimOrszagId;
Iranyitoszam = importItemCo.CimIranyitoszam;
Helyseg = importItemCo.CimHelysegNev;
Kozterulet = importItemCo.CimKozteruletNev;
KozterulegJellegeNev = importItemCo.CimKozteruletJellegeNev;
Hazszam = importItemCo.CimHazszam;
Emelet = importItemCo.CimEmelet;
Ajto = importItemCo.CimAjto;
IsAlapertelmezett = SDAConvert.ToSDABoolean(importItemCo.Gondviselo?.AllandoLakcim?.IsAlapertelmezett ?? true);
LineNumber = importItemCo.LineNumber;
Operation = importItemCo.OperationCim;
}
#region Import Json Properties
[JsonIgnore]
public string FelhasznaloElotag { get; set; }
[JsonIgnore]
public string FelhasznaloVezeteknev { get; set; }
[JsonIgnore]
public string FelhasznaloKeresztnev { get; set; }
[JsonProperty("Nev")]
public string Nev { get; set; }
[JsonProperty("RokonsagiFokId")]
public int? RokonsagiFokId { get; set; }
[JsonIgnore]
public string RokonsagiFokNev { get; set; }
[JsonProperty("C_FELHASZNALOID")]
public int FelhasznaloId { get; set; }
[JsonProperty("C_CIMTIPUSA")]
public int? TipusId { get; set; }
[JsonIgnore]
public string TipusNev { get; set; }
[JsonProperty("C_ORSZAG")]
public int? OrszagId { get; set; }
[JsonProperty("C_IRANYITOSZAM")]
public string Iranyitoszam { get; set; }
[JsonProperty("C_VAROS")]
public string Helyseg { get; set; }
[JsonProperty("C_KOZTERULET")]
public string Kozterulet { get; set; }
[JsonProperty("C_KOZTERULETJELLEGENEV")]
public string KozterulegJellegeNev { get; set; }
[JsonProperty("C_HAZSZAM")]
public string Hazszam { get; set; }
[JsonProperty("C_EMELET")]
public string Emelet { get; set; }
[JsonProperty("C_AJTO")]
public string Ajto { get; set; }
[JsonProperty("C_ALAPERTELMEZETT")]
public string IsAlapertelmezett { get; set; }
#endregion Import Json Properties
}
public class GondviseloImportJsonItemCo : BaseImportJsonItemCo
{
public GondviseloImportJsonItemCo(GondviseloImportItemCo importItemCo, bool isSzirIntezmeny, int tanevId, int intezmenyId, int felhasznaloId) : base(tanevId, intezmenyId, felhasznaloId)
{
Id = importItemCo.Id;
//NOTE: Az FelhasznaloId.Value nem lehet null, mert ide már csak olyan elem jön be, aminek van tanuló id-ja!
FelhasznaloId = importItemCo.FelhasznaloId.Value;
FelhasznaloElotag = Extensions.NameExtensions.CleanElotag(importItemCo.FelhasznaloElotag);
FelhasznaloVezeteknev = importItemCo.FelhasznaloVezeteknev.ReplaceMultipleSpacesAndTrim();
FelhasznaloKeresztnev = importItemCo.FelhasznaloKeresztnev.ReplaceMultipleSpacesAndTrim();
FelhasznaloOktatasiAzonosito = importItemCo.FelhasznaloOktatasiAzonosito;
Elotag = Extensions.NameExtensions.CleanElotag(importItemCo.GondviseloNevElotag);
Vezeteknev = importItemCo.GondviseloVezeteknev.ReplaceMultipleSpacesAndTrim();
Keresztnev = importItemCo.GondviseloKeresztnev.ReplaceMultipleSpacesAndTrim();
Nev = Extensions.NameExtensions.GetNevSorrendben("F", Elotag, Vezeteknev, Keresztnev);
//NOTE: Az RokonsagiFokId.Value nem lehet null, mert ide már csak olyan elem jön be, aminek van rokonsági foka!
RokonsagiFokId = importItemCo.RokonsagiFokId.Value;
RokonsagiFokNev = importItemCo.RokonsagiFokNev;
IsTorvenyesKepviselo = SDAConvert.ToSDABoolean(importItemCo.IsTorvenyesKepviselo ?? false);
LineNumber = importItemCo.LineNumber;
Operation = importItemCo.Operation;
IsEmailErtesites = SDAConvert.ToSDABoolean(!isSzirIntezmeny);
}
#region Import Json Properties
[JsonIgnore]
public string FelhasznaloElotag { get; set; }
[JsonIgnore]
public string FelhasznaloVezeteknev { get; set; }
[JsonIgnore]
public string FelhasznaloKeresztnev { get; set; }
[JsonIgnore]
public string Elotag { get; set; }
[JsonIgnore]
public string Vezeteknev { get; set; }
[JsonIgnore]
public string Keresztnev { get; set; }
[JsonIgnore]
public string FelhasznaloOktatasiAzonosito { get; set; }
[JsonProperty("C_NEV")]
public string Nev { get; set; }
[JsonProperty("C_ROKONSAGFOKA")]
public int RokonsagiFokId { get; set; }
[JsonIgnore]
public string RokonsagiFokNev { get; set; }
[JsonProperty("C_TANULOID")]
public int FelhasznaloId { get; set; }
[JsonProperty("C_ISTORVENYESKEPVISELO")]
public string IsTorvenyesKepviselo { get; set; }
#region Default Required Import Json Properties
[JsonProperty("C_AKTIV")]
public string IsAktiv => SDAConvert.ToSDABoolean(true);
[JsonProperty("C_GONDVISELESKEZDETE")]
public DateTime? GondviselesKezdete => null;
[JsonProperty("C_GONDVISELESVEGE")]
public DateTime? GondviselesVege => null;
[JsonProperty("C_GYERMEKETEGYEDULNEVELO")]
public string IsGyermeketEgyedulNevelo => SDAConvert.ToSDABoolean(false);
[JsonProperty("C_NYUGDIJAS")]
public string IsNyugdijas => SDAConvert.ToSDABoolean(false);
[JsonProperty("C_ISEMAILERTESITES")]
public string IsEmailErtesites { get; set; }
[JsonProperty("C_EGYEDIAZONOSITO")]
public string EgyediAzonosito => Guid.Empty.ToString();
#endregion Default Required Import Json Properties
#endregion Import Json Properties
}
}