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.DataAccessManual.Util; using Kreta.Enums; using Kreta.Framework.Util; using Kreta.Resources; using Newtonsoft.Json; namespace Kreta.BusinessLogic.HelperClasses.ImportCo { public class TanuloKifirImportCo : BaseImportCo { [JsonIgnore] public List MainImportItemList { get; set; } = new List(); [JsonIgnore] public List NemImportalhatoItemList { get; set; } = new List(); [JsonProperty("T_CIM_OSSZES")] public List CimKifirImportJsonItemList { get; set; } [JsonProperty("T_EMAIL_OSSZES")] public List EmailKifirImportJsonItemList { get; set; } [JsonProperty("T_TANULO_OSSZES")] public List TanuloKifirImportJsonItemList { get; set; } [JsonProperty("T_FELHASZNALO_OSSZES")] public List MainImportJsonItemList { get; set; } [JsonIgnore] public List TanuloCoList { get; set; } public Dictionary> Validate() { var validationResultDictionary = new Dictionary>(); foreach (TanuloKifirImportItemCo 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); } var oktatasiAzonositoComparableString = importItem.OktatasiAzonosito?.ToComparableString(); if (!string.IsNullOrWhiteSpace(oktatasiAzonositoComparableString)) { //NOTE: Levalidáljuk, hogy az oktatási azonosítóval szerepel-e tanuló az adatbázisban, de nem a tanuló maga az! if (TanuloCoList.Any(x => x.FelhasznaloOktatasiAzonositoComparableString == oktatasiAzonositoComparableString && ( x.FelhasznaloVezeteknevComparableString + x.FelhasznaloKeresztnevComparableString != importItem.Vezeteknev?.ToComparableString() + importItem.Keresztnev?.ToComparableString() || x.FelhasznaloSzuletesiHelyComparableString != importItem.SzuletesiHely?.ToComparableString() || x.FelhasznaloSzuletesiIdo != importItem.SzuletesiIdo))) { validationResultList.Add(new ValidationResult(string.Format(ImportExportTanuloKifirResource.AMegadottOktatasiAzonositovalSzerepelTanuloAzAdatbazisban, importItem.OktatasiAzonositoImportData))); } //NOTE: Levalidáljuk, hogy ugyanazzal az oktatási azonosítóval csak egyszer szerepeljen tanuló a dokumnetumban! if (MainImportItemList.Count(x => x.OktatasiAzonosito?.ToComparableString() == oktatasiAzonositoComparableString) > 1) { validationResultList.Add(new ValidationResult(string.Format(ImportExportCommonResource.OktatasiAzonositoExistsMoreTimesInDocument, importItem.OktatasiAzonosito))); } } if (validationResultList.Count > 0) { validationResultDictionary.Add(importItem.LineNumber, validationResultList); } } Dictionary lineNumberCompareHashDictionary = MainImportItemList.ToDictionary(x => x.LineNumber, x => x.CompareHash); var duplicatedRowConditonTextList = new List { ImportExportTanuloKifirResource.ImportHeaderNameNev, ImportExportTanuloKifirResource.ImportHeaderNameOktatasiAzonosito, ImportExportTanuloKifirResource.ImportHeaderNameSzuletesiHely, ImportExportTanuloKifirResource.ImportHeaderNameSzuletesiDatum }; ValidateDuplicatedRows(validationResultDictionary, lineNumberCompareHashDictionary, duplicatedRowConditonTextList); return validationResultDictionary; } } public class TanuloKifirImportItemCo : BaseImportItemCo, IValidatableObject { private readonly int _tanevId; private TanuloKifirImportItemCo() { } public TanuloKifirImportItemCo(int tanevId) { _tanevId = tanevId; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameNev), ResourceType = typeof(ImportExportTanuloKifirResource))] public string NevImportData { get; set; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(20, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [KretaRegularExpression(Constants.RegularExpressions.OktatasiAzonositoTanulo, ErrorMessageResourceName = nameof(ErrorResource.OktatasiAzonositoFormatumaNemMegfeleloTanulo), ErrorMessageResourceType = typeof(ErrorResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameOktatasiAzonosito), ResourceType = typeof(ImportExportTanuloKifirResource))] public string OktatasiAzonositoImportData { get; set; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(50, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameSzuletesiHely), ResourceType = typeof(ImportExportTanuloKifirResource))] public string SzuletesiHelyImportData { get; set; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(20, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameSzuletesiDatum), ResourceType = typeof(ImportExportTanuloKifirResource))] public string SzuletesiDatumImportData { get; set; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(64, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameAnyjaNeve), ResourceType = typeof(ImportExportTanuloKifirResource))] public string AnyjaNeveImportData { get; set; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(20, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameAllandoLakcimIranyitoszam), ResourceType = typeof(ImportExportTanuloKifirResource))] public string AllandoLakcimIranyitoszamImportData { get; set; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(50, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameAllandoLakcimTelepules), ResourceType = typeof(ImportExportTanuloKifirResource))] public string AllandoLakcimTelepulesImportData { get; set; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameAllandoLakcimKozterulet), ResourceType = typeof(ImportExportTanuloKifirResource))] public string AllandoLakcimKozteruletImportData { get; set; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(20, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameErtesitesiCimIranyitoszam), ResourceType = typeof(ImportExportTanuloKifirResource))] public string ErtesitesiCimIranyitoszamImportData { get; set; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(50, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameErtesitesiCimTelepules), ResourceType = typeof(ImportExportTanuloKifirResource))] public string ErtesitesiCimTelepulesImportData { get; set; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameErtesitesiCimKozterulet), ResourceType = typeof(ImportExportTanuloKifirResource))] public string ErtesitesiCimKozteruletImportData { get; set; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(64, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameAllampolgarsag), ResourceType = typeof(ImportExportTanuloKifirResource))] public string AllampolgarsagImportData { get; set; } [MaxLength(200, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [EmailAddressExtended(true, true, ErrorMessageResourceName = nameof(ErrorResource.NemMegfeleloFormatumuAzEmailCim), ErrorMessageResourceType = typeof(ErrorResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameEmailCim), ResourceType = typeof(ImportExportTanuloKifirResource))] public string EmailCimImportData { get; set; } [MaxLength(238, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameAltalanosIskolaNeve), ResourceType = typeof(ImportExportTanuloKifirResource))] public string AltalanosIskolaNeveImportData { get; set; } [MaxLength(6, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameAltalanosIskolaOmKodja), ResourceType = typeof(ImportExportTanuloKifirResource))] public string AltalanosIskolaOmKodjaImportData { get; set; } [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameFelveteltNyertTanulmanyiKeruletNeve), ResourceType = typeof(ImportExportTanuloKifirResource))] public string FelveteltNyertTanulmanyiKeruletNeveImportData { get; set; } [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameFelveteltNyertTanulmanyiKeruletKodszama), ResourceType = typeof(ImportExportTanuloKifirResource))] public string FelveteltNyertTanulmanyiKeruletKodszamaImportData { get; set; } #region Unused Import Data [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameKilencedikEvfolyamnalAlacsonyabb), ResourceType = typeof(ImportExportTanuloKifirResource))] public string KilencedikEvfolyamnalAlacsonyabbImportData { get; set; } [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameErtesitesiCimNev), ResourceType = typeof(ImportExportTanuloKifirResource))] public string ErtesitesiCimNevImportData { get; set; } [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameAltalanosIskolaIranyitoszam), ResourceType = typeof(ImportExportTanuloKifirResource))] public string AltalanosIskolaIranyitoszamImportData { get; set; } [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameAltalanosIskolaCim), ResourceType = typeof(ImportExportTanuloKifirResource))] public string AltalanosIskolaCimImportData { get; set; } [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameAltalanosIskolaTelepules), ResourceType = typeof(ImportExportTanuloKifirResource))] public string AltalanosIskolaTelepulesImportData { get; set; } [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameAltalanosIskolaTelefonszam), ResourceType = typeof(ImportExportTanuloKifirResource))] public string AltalanosIskolaTelefonszamImportData { get; set; } [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameAltalanosIskolaEmailCim), ResourceType = typeof(ImportExportTanuloKifirResource))] public string AltalanosIskolaEmailCimImportData { get; set; } [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameFelveteltNyertTanulmanyiKeruletSzovege), ResourceType = typeof(ImportExportTanuloKifirResource))] public string FelveteltNyertTanulmanyiKeruletSzovegeImportData { get; set; } [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameNemNyertFelveteltElutasitas), ResourceType = typeof(ImportExportTanuloKifirResource))] public string NemNyertFelveteltElutasitasImportData { get; set; } [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameNemNyertFelveteltBetelt), ResourceType = typeof(ImportExportTanuloKifirResource))] public string NemNyertFelveteltBeteltImportData { get; set; } [Display(Name = nameof(ImportExportTanuloKifirResource.ImportHeaderNameNemNyertFelveteltElobbreNertFelvetelt), ResourceType = typeof(ImportExportTanuloKifirResource))] public string NemNyertFelveteltElobbreNertFelveteltImportData { get; set; } #endregion public string Elotag => GetElotagFromTeljesNev(NevImportData); public string Vezeteknev => GetVezeteknevFromTeljesNev(NevImportData); public string Keresztnev => GetKeresztnevekFromTeljesNev(NevImportData); public string OktatasiAzonosito => GetStringValue(OktatasiAzonositoImportData); public string SzuletesiHely => GetStringValue(SzuletesiHelyImportData); public DateTime? SzuletesiIdo => GetDateTimeValue(SzuletesiDatumImportData); public string SzuletesiIdoString => GetDateTimeString(SzuletesiIdo); public string AnyjaNeve => GetStringValue(AnyjaNeveImportData); public string AnyjaNeveElotag => GetElotagFromTeljesNev(AnyjaNeveImportData); public string AnyjaVezeteknev => GetVezeteknevFromTeljesNev(AnyjaNeveImportData); public string AnyjaKeresztnev => GetKeresztnevekFromTeljesNev(AnyjaNeveImportData); public string AllandoLakcimTelepules => GetStringValue(AllandoLakcimTelepulesImportData); public string AllandoLakcimIranyitoszam => GetStringValue(AllandoLakcimIranyitoszamImportData); public TanuloKifirSplittedCim AllandoLakcimSplittedCim { get; set; } public string AllandoLakcimKozterulet => AllandoLakcimSplittedCim?.KozteruletNev; public int? AllandoLakcimKozteruletJellegeId => AllandoLakcimSplittedCim?.KozteruletJellegeId; public string AllandoLakcimHazszam => AllandoLakcimSplittedCim?.Hazszam; public string IdeiglenesLakcimTelepules => GetStringValue(ErtesitesiCimTelepulesImportData); public string IdeiglenesLakcimIranyitoszam => GetStringValue(ErtesitesiCimIranyitoszamImportData); public TanuloKifirSplittedCim IdeiglenesLakcimSplittedCim { get; set; } public string IdeiglenesLakcimKozterulet => IdeiglenesLakcimSplittedCim?.KozteruletNev; public int? IdeiglenesLakcimKozteruletJellegeId => IdeiglenesLakcimSplittedCim?.KozteruletJellegeId; public string IdeiglenesLakcimHazszam => IdeiglenesLakcimSplittedCim?.Hazszam; public int AllampolgarsagId => ((int)GeneratedAdatszotarTipusEnum.Allampolgarsag).GetItemIdByTypeAndName(AllampolgarsagImportData, _tanevId) ?? (int)AllampolgarsagEnum.na; public string EmailCim => GetStringValue(EmailCimImportData); public string ElozoIntezmeny => GetElozoIntezmeny(AltalanosIskolaNeveImportData, AltalanosIskolaOmKodjaImportData); public int OperationAllandoLakcim { get; set; } public int OperationIdeiglenesLakcim { get; set; } public int OperationEmail { get; set; } public string CompareHashAllandoLakcim { get; set; } public string CompareHashIdeiglenesLakcim { get; set; } public string CompareHashEmail { get; set; } public int? AllandoLakcimId { get; set; } public int? IdeiglenesLakcimId { get; set; } public int? EmailId { get; set; } public static TanuloKifirSplittedCim GetTanuloKifirSplittedCim(IDictionary kozteruletJellegIdNevDictionary, string cimImportData) { //NOTE: Azért rendezzük hossz szerint visszafelé, hogy a hosszabb értékeket hamarabb megtalálja. Pl.: "alsó rakpart" -> "rakpart" foreach (var kozteruletJellegIdNevItem in kozteruletJellegIdNevDictionary.OrderByDescending(x => x.Value.Length)) { var kozteruletJellegNev = kozteruletJellegIdNevItem.Value.ToComparableString(); var kozteruletJellegStartIndex = cimImportData.ToComparableString().IndexOf($" {kozteruletJellegNev} ", StringComparison.Ordinal); if (kozteruletJellegStartIndex.IsNotNullAndPositive()) { //NOTE: A + 2 a közterület jelleg előtt és utáni szóköz miatt kell. var kozteruletJellegEndIndex = kozteruletJellegStartIndex + kozteruletJellegNev.Length + 2; var result = new TanuloKifirSplittedCim { KozteruletNev = cimImportData.Substring(0, kozteruletJellegStartIndex), KozteruletJellegeId = kozteruletJellegIdNevItem.Key, Hazszam = cimImportData.Substring(kozteruletJellegEndIndex, cimImportData.Length - kozteruletJellegEndIndex), }; return result; } } var defaultResult = new TanuloKifirSplittedCim { KozteruletJellegeId = (int)KozteruletJellegEnum.na }; return defaultResult; } public class TanuloKifirSplittedCim { public string KozteruletNev { get; set; } public int? KozteruletJellegeId { get; set; } public string Hazszam { get; set; } } public static string GetElozoIntezmeny(string altalanosIskolaNeveImportData, string altalanosIskolaOmKodjaImportData) { string result = null; if (!string.IsNullOrWhiteSpace(altalanosIskolaNeveImportData)) { result = string.IsNullOrWhiteSpace(altalanosIskolaOmKodjaImportData) ? altalanosIskolaNeveImportData : string.Format(ImportExportTanuloKifirResource.IskolaNevOmKod, altalanosIskolaNeveImportData, altalanosIskolaOmKodjaImportData); } return result; } #region Validate public IEnumerable Validate(ValidationContext validationContext) { //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(SzuletesiDatumImportData)) { //NOTE: Ha az érték null, akkor a bejövő adat nem megfelelő formátumú! if (!SzuletesiIdo.HasValue) { yield return new ValidationResult(string.Format(ImportExportCommonResource.InvalidDatumFormat, ImportExportTanuloKifirResource.ImportHeaderNameSzuletesiDatum.ToLowerInvariant(), SzuletesiDatumImportData)); } else { var minimumDate = new DateTime(Now.Date.Year - 123, 1, 1); var maximumDate = new DateTime(Now.Date.Year, 1, 1); var minOk = SzuletesiIdo >= minimumDate; var maxOk = SzuletesiIdo <= maximumDate; if (!minOk || !maxOk) { yield return new ValidationResult( string.Format(ImportExportCommonResource.ASzuletesiIdoCsakKozeEshet, minimumDate.ToString(Constants.ToStringPattern.HungarianDate), maximumDate.ToString(Constants.ToStringPattern.HungarianDate))); } } } //NOTE: Legalább az egyiknek értékkel kell rendelkeznie. if (string.IsNullOrWhiteSpace(FelveteltNyertTanulmanyiKeruletNeveImportData) && string.IsNullOrWhiteSpace(FelveteltNyertTanulmanyiKeruletKodszamaImportData)) { yield return new ValidationResult(string.Format(ImportExportTanuloKifirResource.NemImportalhatoMertNemNyertFelveteltAzIntezmenybe, NevImportData)); } //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(NevImportData) && (string.IsNullOrWhiteSpace(Vezeteknev) || string.IsNullOrWhiteSpace(Keresztnev))) { yield return new ValidationResult(ImportExportTanuloKifirResource.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(AnyjaNeveImportData) && (string.IsNullOrWhiteSpace(GetVezeteknevFromTeljesNev(AnyjaNeve)) || string.IsNullOrWhiteSpace(GetKeresztnevekFromTeljesNev(AnyjaNeve)))) { yield return new ValidationResult(ImportExportTanuloKifirResource.AzAnyjaNeveFormatumaNemMegfelelo); } } #endregion Validate } public class CimKifirImportJsonItemCo : BaseImportJsonItemCo { public CimKifirImportJsonItemCo(TanuloKifirImportItemCo importItemCo, int tipusId, int tanevId, int intezmenyId, int felhasznaloId) : base(tanevId, intezmenyId, felhasznaloId) { Elotag = importItemCo.Elotag; Vezeteknev = importItemCo.Vezeteknev; Keresztnev = importItemCo.Keresztnev; SzuletesiHely = importItemCo.SzuletesiHely; SzuletesiIdo = importItemCo.SzuletesiIdoString; OktatasiAzonosito = importItemCo.OktatasiAzonosito; switch (tipusId) { case (int)CimTipusEnum.allando_lakcim: Id = importItemCo.AllandoLakcimId; TipusId = (int)CimTipusEnum.allando_lakcim; Iranyitoszam = importItemCo.AllandoLakcimIranyitoszam; Telepules = importItemCo.AllandoLakcimTelepules; Kozterulet = importItemCo.AllandoLakcimKozterulet; KozteruletJellegId = importItemCo.AllandoLakcimKozteruletJellegeId; KozteruletJellegeNev = ((KozteruletJellegEnum)importItemCo.AllandoLakcimKozteruletJellegeId).GetDisplayName(tanevId); Hazszam = importItemCo.AllandoLakcimHazszam; IsAlapertelmezett = SDAConvert.ToSDABoolean(true); Operation = importItemCo.OperationAllandoLakcim; break; case (int)CimTipusEnum.ideiglenes_lakcim: Id = importItemCo.IdeiglenesLakcimId; TipusId = (int)CimTipusEnum.ideiglenes_lakcim; Iranyitoszam = importItemCo.IdeiglenesLakcimIranyitoszam; Telepules = importItemCo.IdeiglenesLakcimTelepules; Kozterulet = importItemCo.IdeiglenesLakcimKozterulet; KozteruletJellegId = importItemCo.IdeiglenesLakcimKozteruletJellegeId; KozteruletJellegeNev = ((KozteruletJellegEnum)importItemCo.IdeiglenesLakcimKozteruletJellegeId).GetDisplayName(tanevId); Hazszam = importItemCo.IdeiglenesLakcimHazszam; IsAlapertelmezett = SDAConvert.ToSDABoolean(false); Operation = importItemCo.OperationIdeiglenesLakcim; break; } LineNumber = importItemCo.LineNumber; } #region Import Json Properties [JsonIgnore] public string Elotag { get; set; } [JsonProperty("Vezeteknev")] public string Vezeteknev { get; set; } [JsonProperty("Keresztnev")] public string Keresztnev { get; set; } [JsonProperty("SzuletesiHely")] public string SzuletesiHely { get; set; } [JsonProperty("SzuletesiIdo")] public string SzuletesiIdo { get; set; } [JsonProperty("OktatasiAzonosito")] public string OktatasiAzonosito { get; set; } [JsonProperty("C_CIMTIPUSA")] public int TipusId { get; set; } [JsonProperty("C_IRANYITOSZAM")] public string Iranyitoszam { get; set; } [JsonProperty("C_VAROS")] public string Telepules { get; set; } [JsonProperty("C_KOZTERULET")] public string Kozterulet { get; set; } [JsonProperty("C_KOZTERULETJELLEGE")] public int? KozteruletJellegId { get; set; } [JsonProperty("C_KOZTERULETJELLEGENEV")] public string KozteruletJellegeNev { get; set; } [JsonProperty("C_ALAPERTELMEZETT")] public string IsAlapertelmezett { get; set; } [JsonProperty("C_HAZSZAM")] public string Hazszam { get; set; } #region Default Required Import Json Properties [JsonProperty("C_ORSZAG")] public int OrszagTipusId => (int)OrszagTipusEnum.Magyarorszag; [JsonProperty("C_EMELET")] public string Emelet => null; [JsonProperty("C_AJTO")] public string Ajto => null; #endregion Default Required Import Json Properties #endregion Import Json Properties } public class EmailKifirImportJsonItemCo : BaseImportJsonItemCo { public EmailKifirImportJsonItemCo(TanuloKifirImportItemCo importItemCo, int tanevId, int intezmenyId, int felhasznaloId) : base(tanevId, intezmenyId, felhasznaloId) { Id = importItemCo.EmailId; Elotag = importItemCo.Elotag; Vezeteknev = importItemCo.Vezeteknev; Keresztnev = importItemCo.Keresztnev; SzuletesiHely = importItemCo.SzuletesiHely; SzuletesiIdo = importItemCo.SzuletesiIdoString; OktatasiAzonosito = importItemCo.OktatasiAzonosito; TipusId = (int)EmailTipusEnum.Magan; EmailCim = importItemCo.EmailCim; IsAlapertelmezett = SDAConvert.ToSDABoolean(true); LineNumber = importItemCo.LineNumber; Operation = importItemCo.OperationEmail; } #region Import Json Properties [JsonIgnore] public string Elotag { get; set; } [JsonProperty("Vezeteknev")] public string Vezeteknev { get; set; } [JsonProperty("Keresztnev")] public string Keresztnev { get; set; } [JsonProperty("SzuletesiHely")] public string SzuletesiHely { get; set; } [JsonProperty("SzuletesiIdo")] public string SzuletesiIdo { get; set; } [JsonProperty("OktatasiAzonosito")] public string OktatasiAzonosito { get; set; } [JsonProperty("C_EMAILTIPUSA")] public int? TipusId { get; set; } [JsonProperty("C_EMAILCIM")] public string EmailCim { 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 TanuloKifirImportJsonItemCo : BaseImportJsonItemCo { public TanuloKifirImportJsonItemCo(TanuloKifirImportItemCo importItemCo, int tantervId, int tanevId, int intezmenyId, int felhasznaloId) : base(tanevId, intezmenyId, felhasznaloId) { Id = importItemCo.Id; Elotag = importItemCo.Elotag; Vezeteknev = importItemCo.Vezeteknev; Keresztnev = importItemCo.Keresztnev; SzuletesiHely = importItemCo.SzuletesiHely; SzuletesiIdo = importItemCo.SzuletesiIdoString; OktatasiAzonosito = importItemCo.OktatasiAzonosito; TantervId = tantervId; ElozoIntezmeny = importItemCo.ElozoIntezmeny; LineNumber = importItemCo.LineNumber; Operation = importItemCo.Operation; } #region Import Json Properties [JsonIgnore] public string Elotag { get; set; } [JsonProperty("Vezeteknev")] public string Vezeteknev { get; set; } [JsonProperty("Keresztnev")] public string Keresztnev { get; set; } [JsonProperty("SzuletesiHely")] public string SzuletesiHely { get; set; } [JsonProperty("SzuletesiIdo")] public string SzuletesiIdo { get; set; } [JsonProperty("OktatasiAzonosito")] public string OktatasiAzonosito { get; set; } [JsonProperty("C_TANTERVID")] public int TantervId { get; set; } [JsonProperty("C_ELOZOINTEZMENY")] public string ElozoIntezmeny { get; set; } #region Default Required Import Json Properties [JsonProperty("C_ALLAMIGONDOZOTT")] public string IsAllamiGondozott => SDAConvert.ToSDABoolean(false); [JsonProperty("C_BEILLESZKEDESINEHEZSEG")] public string IsBeilleszkedesiNehezseg => SDAConvert.ToSDABoolean(false); [JsonProperty("C_BEJARO")] public string IsBejaro => SDAConvert.ToSDABoolean(false); [JsonProperty("C_EVISMETLO")] public string IsEvismetlo => SDAConvert.ToSDABoolean(false); [JsonProperty("C_JOGVISZONYATSZUNETELTETO")] public string IsJogviszonyatSzunetelteto => SDAConvert.ToSDABoolean(false); [JsonProperty("C_MAGANTANULO")] public string IsMagantanulo => SDAConvert.ToSDABoolean(false); [JsonProperty("C_POLGARISZERZODESES")] public string IsPolgariSzerzodeses => SDAConvert.ToSDABoolean(false); [JsonProperty("C_SZAKMAIGYAKORLATON")] public string IsSzakmaiGyakorlaton => SDAConvert.ToSDABoolean(false); [JsonProperty("C_SZOCIALISTAMOGATAS")] public string IsSzocialisTamogatas => SDAConvert.ToSDABoolean(false); [JsonProperty("C_TANDIJATFIZETO")] public string IsTandijatFizeto => SDAConvert.ToSDABoolean(false); [JsonProperty("C_TANKOTELEZETT")] public string IsTankotelezett => SDAConvert.ToSDABoolean(false); [JsonProperty("C_TANULOSZERZODESES")] public string IsTanuloSzerzodeses => SDAConvert.ToSDABoolean(false); [JsonProperty("C_TERITESIDIJATFIZETO")] public string IsTeritesiDijatFizeto => SDAConvert.ToSDABoolean(false); [JsonProperty("C_TESTNEVELESTIPUSA")] public int TestnevelesTipusId => (int)TestnevelesTipusEnum.normal_testneveles; [JsonProperty("C_VENDEG")] public string IsVendeg => SDAConvert.ToSDABoolean(false); [JsonProperty("C_BTMPROBLEMAS")] public string IsBtmProblemas => SDAConvert.ToSDABoolean(false); [JsonProperty("C_DIAKSPORTKOROS")] public string IsDiaksportkoros => SDAConvert.ToSDABoolean(false); [JsonProperty("C_HALMOZOTTANFOGYATEKOS")] public string IsHalmozottanFogyatekos => SDAConvert.ToSDABoolean(false); [JsonProperty("C_HATRANYOSHELYZETU")] public int HatranyosHelyzetuId => (int)HatranyosHelyzetTipusEnum.nem_hatranyos_helyzetu; [JsonProperty("C_KOLLEGIUMIELLATASOS")] public string IsKollegiumiEllatasos => SDAConvert.ToSDABoolean(false); [JsonProperty("C_SAJATOSNEVELESU")] public string IsSajatosNevelesu => SDAConvert.ToSDABoolean(false); [JsonProperty("C_VESZELYEZTETETT")] public string IsVeszelyeztetett => SDAConvert.ToSDABoolean(false); [JsonProperty("C_BEILLESZKEDESIPROBLEMAVALKUZ")] public string IsBeilleszkedesiProblemavalKuzd => SDAConvert.ToSDABoolean(false); [JsonProperty("C_MAGATARTASIPROBLEMAVALKUZD")] public string IsMagatartasiProblemavalKuzd => SDAConvert.ToSDABoolean(false); [JsonProperty("C_TANULASIPROBLEMADISZGRAFIA")] public string IsTanulasiProblemaDiszgrafia => SDAConvert.ToSDABoolean(false); [JsonProperty("C_TANULASIPROBLEMAVALKUZD")] public string IsTanulasiProblemavalKuzd => SDAConvert.ToSDABoolean(false); [JsonProperty("C_TANULASIPROBLEMAVALKUZDDISZK")] public string IsTanulasiProblemavalKuzdDiszkalkulia => SDAConvert.ToSDABoolean(false); [JsonProperty("C_TANULASIPROBLEMAVALKUZDDISZL")] public string IsTanulasiProblemavalKuzdDiszlexia => SDAConvert.ToSDABoolean(false); [JsonProperty("C_KOZEPFOKUOKTATASBATIZENHATOD")] public string IsKozepfokuOktatasbaTizenhatodikEletevenekBetoltesetKovetoenBelepett => SDAConvert.ToSDABoolean(false); [JsonProperty("C_MENEDEKJOGGALRENDELKEZO")] public string IsMenedekjoggalRendelkezo => SDAConvert.ToSDABoolean(false); [JsonProperty("C_EGYEBDONTO")] public string IsEgyebDonto => SDAConvert.ToSDABoolean(false); [JsonProperty("C_MEGALLAPODASOS")] public string IsMegallapodasos => SDAConvert.ToSDABoolean(false); [JsonProperty("C_OSZTV")] public string IsOsztv => SDAConvert.ToSDABoolean(false); [JsonProperty("C_SZETVAGAZAT")] public string IsSzetvAgazat => SDAConvert.ToSDABoolean(false); [JsonProperty("C_SZKTV")] public string IsSzktv => SDAConvert.ToSDABoolean(false); [JsonProperty("C_TECHNIKUSIEVFOLYAM")] public string IsTechnikusiEvfolyam => SDAConvert.ToSDABoolean(false); [JsonProperty("C_EGYUTTMUKODESES")] public string IsEgyuttmukodeses => SDAConvert.ToSDABoolean(false); [JsonProperty("C_ISKOLAIKERETEKKOZOTT")] public string IsIskolaiKeretekKozott => SDAConvert.ToSDABoolean(false); [JsonProperty("C_ISSZAKMAIGYAKORLATHIANY")] public string IsSzakmaiGyakorlatHiany => SDAConvert.ToSDABoolean(false); [JsonProperty("C_ISKIFIRIMPORTALT")] public string IsKifirImportalt => SDAConvert.ToSDABoolean(true); [JsonProperty("C_FELVETELTANEVEID")] public int FelvetelTanevId => TanevId; #endregion Default Required Import Json Properties #endregion Import Json Properties } public class FelhasznaloKifirImportJsonItemCo : BaseImportJsonItemCo { public FelhasznaloKifirImportJsonItemCo(TanuloKifirImportItemCo importItemCo, int tanevId, int intezmenyId, int felhasznaloId) : base(tanevId, intezmenyId, felhasznaloId) { Id = importItemCo.Id; //NOTE: Az SzuletesiIdo.Value nem lehet null, mert ide már csak olyan elem jön be, aminek van születési ideje! SzuletesiIdo = importItemCo.SzuletesiIdo.Value; SzuletesiIdoString = importItemCo.SzuletesiIdoString; SzuletesiNev = $"{importItemCo.Vezeteknev} {importItemCo.Keresztnev}"; SzuletesiHely = importItemCo.SzuletesiHely; AnyjaNeve = importItemCo.AnyjaNeve; AnyjaNeveElotag = importItemCo.AnyjaNeveElotag; AnyjaVezeteknev = importItemCo.AnyjaVezeteknev; AnyjaKeresztnev = importItemCo.AnyjaKeresztnev; AllampolgarsagId = importItemCo.AllampolgarsagId; KeresesiNev = CommonUtilsDal.KopaszNev(SzuletesiNev); NyomtatasiNev = string.IsNullOrWhiteSpace(importItemCo.Elotag) ? SzuletesiNev : $"{importItemCo.Elotag} {SzuletesiNev}"; Elotag = importItemCo.Elotag; SzuletesiNevElotag = importItemCo.Elotag; Vezeteknev = importItemCo.Vezeteknev; SzuletesiVezeteknev = importItemCo.Vezeteknev; Keresztnev = importItemCo.Keresztnev; SzuletesiKeresztnev = importItemCo.Keresztnev; OktatasiAzonosito = importItemCo.OktatasiAzonosito; LineNumber = importItemCo.LineNumber; Operation = importItemCo.Operation; } #region Import Json Properties [JsonIgnore] public DateTime SzuletesiIdo { get; set; } [JsonProperty("C_SZULETESIDATUM")] public string SzuletesiIdoString { get; set; } [JsonProperty("C_SZULETESINEV")] public string SzuletesiNev { get; set; } [JsonProperty("C_SZULETESINEVELOTAG")] public string SzuletesiNevElotag { get; set; } [JsonProperty("C_SZULETESIVEZETEKNEV")] public string SzuletesiVezeteknev { get; set; } [JsonProperty("C_SZULETESIUTONEV")] public string SzuletesiKeresztnev { get; set; } [JsonProperty("C_SZULETESIHELY")] public string SzuletesiHely { get; set; } [JsonProperty("C_ANYJANEVE")] public string AnyjaNeve { get; set; } [JsonProperty("C_ANYJANEVEELOTAG")] public string AnyjaNeveElotag { get; set; } [JsonProperty("C_ANYJAVEZETEKNEVE")] public string AnyjaVezeteknev { get; set; } [JsonProperty("C_ANYJAUTONEVE")] public string AnyjaKeresztnev { get; set; } [JsonProperty("C_ALLAMPOLGARSAGA")] public int AllampolgarsagId { get; set; } [JsonProperty("C_KERESESINEV")] public string KeresesiNev { get; set; } [JsonProperty("C_NYOMTATASINEV")] public string NyomtatasiNev { get; set; } [JsonProperty("C_ELOTAG")] public string Elotag { get; set; } [JsonProperty("C_VEZETEKNEV")] public string Vezeteknev { get; set; } [JsonProperty("C_UTONEV")] public string Keresztnev { get; set; } [JsonProperty("C_OKTATASIAZONOSITO")] public string OktatasiAzonosito { get; set; } #region Default Required Import Json Properties [JsonProperty("C_NEME")] public int NemeId => (int)NemEnum.NA; [JsonProperty("C_SZULETESIORSZAG")] public int OrszagTipusId => (int)OrszagTipusEnum.Magyarorszag; [JsonProperty("C_SZULETESINEVSORREND")] public string IsSzuletesiNevSorrend => SDAConvert.ToSDABoolean(false); [JsonProperty("C_ANYJANEVESORREND")] public string IsAnyjaNeveSorrend => SDAConvert.ToSDABoolean(false); [JsonProperty("C_ALAPERTELMEZETTLCID")] public int AlapertelmezettLcid => 1038; [JsonProperty("C_LATASSERULTWEBHASZNALATA")] public string IsLatasserultWebHasznalata => SDAConvert.ToSDABoolean(false); [JsonProperty("C_KELLADSZINKRONIZALAS")] public string IsKellAdSzinkronizalas => SDAConvert.ToSDABoolean(true); [JsonProperty("C_ANYANYELVE")] public int AnyanyelvId => (int)AnyanyelvEnum.magyar; [JsonProperty("C_IGAZOLVANYTIPUSA")] public int IgazolvanyTipusId => (int)IgazolvanyTipusEnum.Szemelyi_igazolvany; [JsonProperty("C_NEVSORREND")] public string IsNevSorrend => SDAConvert.ToSDABoolean(false); [JsonProperty("C_NYILVANTARTASKEZDETE")] public string NyilvatartasKezdeteString => DateTime.Today.ToString(Constants.ToStringPattern.SortableDateTimePattern); [JsonProperty("C_BELUGYALTALAZONOSITOTT")] public string IsBelugyAltalAzonositott => SDAConvert.ToSDABoolean(false); [JsonProperty("C_EGYEDIAZONOSITO")] public string EgyediAzonosito => Guid.Empty.ToString(); #endregion Default Required Import Json Properties #endregion Import Json Properties } }