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 MainImportItemList { get; set; } = new List(); [JsonIgnore] public List NemImportalhatoItemList { get; set; } = new List(); [JsonProperty("T_TELEFON_OSSZES")] public List TelefonGondviseloImportJsonItemList { get; set; } [JsonProperty("T_EMAIL_OSSZES")] public List EmailGondviseloImportJsonItemList { get; set; } [JsonProperty("T_CIM_OSSZES")] public List CimGondviseloImportJsonItemList { get; set; } [JsonProperty("T_GONDVISELO_OSSZES")] public List MainImportJsonItemList { get; set; } [JsonIgnore] public List GondviseloCoList { get; set; } [JsonIgnore] public bool IsGeneraltFileLetoltes { get; set; } [JsonIgnore] public bool IsEmailKuldes { get; set; } public Dictionary> Validate() { var validationResultDictionary = new Dictionary>(); foreach (GondviseloImportItemCo importItem in MainImportItemList) { var validationResultList = new List(); //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 lineNumberCompareHashDictionary = MainImportItemList.ToDictionary(x => x.LineNumber, x => x.CompareHash); var duplicatedRowConditonTextList = new List { 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(_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(_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(_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 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(_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(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(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 } }