This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,594 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses.OsztalyCsoportbaSorolas;
using Kreta.BusinessLogic.Validation;
using Kreta.Core;
using Kreta.Core.CustomAttributes;
using Kreta.Enums;
using Kreta.Enums.ManualEnums.ImportExport;
using Kreta.Resources;
using Newtonsoft.Json;
namespace Kreta.BusinessLogic.HelperClasses.ImportCo
{
public class TanuloBesorolasImportCo : BaseImportCo
{
[JsonIgnore]
public List<TanuloBesorolasImportItemCo> MainImportItemList { get; set; } = new List<TanuloBesorolasImportItemCo>();
[JsonIgnore]
public List<TanuloBesorolasImportItemCo> NemImportalhatoItemList { get; set; } = new List<TanuloBesorolasImportItemCo>();
[JsonProperty("T_TANULOCSOPORT_OSSZES")]
public List<TanuloBesorolasImportJsonItemCo> MainImportJsonItemList { get; set; }
[JsonProperty("T_TANULOTANUGYIADATOK_OSSZES")]
public List<TanuloBesorolasTanuloTanugyiAdatokImportJsonItemCo> TanuloBesorolasTanuloTanugyiAdatokImportJsonItemList { get; set; }
[JsonIgnore]
public List<OsztalyCsoportItemCo> OsztalyCsoportCoList { get; set; }
[JsonIgnore]
public List<TanuloCsoportItemCo> TanuloCsoportCoList { get; set; }
[JsonIgnore]
public bool? IsJuttatasUpdate { get; set; }
[JsonIgnore]
public bool IsIntezmenySzakkepzoJuttatas { get; set; }
[JsonIgnore]
public DateTime BesorolasDatum { get; set; }
[JsonIgnore]
public DateTime? KisorolasDatum { get; set; }
[JsonIgnore]
public DateTime TanevUtolsoNapja { get; set; }
[JsonIgnore]
public Dictionary<OktNevelesiKategoriaEnum, int> JogviszonyLimits { get; set; }
public Dictionary<int, List<ValidationResult>> Validate()
{
var validationResultDictionary = new Dictionary<int, List<ValidationResult>>();
foreach (TanuloBesorolasImportItemCo 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 (importItem.TanuloId.IsEntityId() && importItem.OsztalyCsoportId.IsEntityId())
{
var besorolasVege = KisorolasDatum ?? TanevUtolsoNapja;
var osztalyok = OsztalyCsoportCoList.Where(o => o.IsOsztaly);
var currentOsztalyCsoport = OsztalyCsoportCoList.Single(x => x.Id == importItem.OsztalyCsoportId.Value);
var currentOsztalyFeladatKategoriaId = currentOsztalyCsoport.FeladatKategoriaId;
var isAmi = currentOsztalyFeladatKategoriaId == (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas;
var tanulohozTartozoExcelBesorolasok = MainImportItemList.Where(x => x.TanuloId.IsEntityId() && x.OsztalyCsoportId.IsEntityId() && x.TanuloId == importItem.TanuloId.Value && osztalyok.Any(o => (o.Id == x.OsztalyCsoportId) && (o.FeladatKategoriaId == currentOsztalyFeladatKategoriaId)));
var tanulohozTartozoElozoExcelBesorolasok = tanulohozTartozoExcelBesorolasok.Where(x => x.LineNumber < importItem.LineNumber);
var tanulohozTartozoElozoExcelBesorolasokByOsztaly = tanulohozTartozoElozoExcelBesorolasok.Where(x => osztalyok.Any(o => o.Id == x.OsztalyCsoportId));
var tanulohozTartozoTanuloCsoportListFromDb = TanuloCsoportCoList.Where(x => x.OsztalyCsoportFeladatKategoriaId == currentOsztalyFeladatKategoriaId && x.FelhasznaloId == importItem.TanuloId).ToList();
var tanulohozTartozoDbBesorolasokByOsztaly = tanulohozTartozoTanuloCsoportListFromDb.Where(x => osztalyok.Any(o => o.Id == x.OsztalyCsoportId));
if (currentOsztalyCsoport.IsOsztaly)
{
var jogviszonyLimit = JogviszonyLimits[(OktNevelesiKategoriaEnum)currentOsztalyFeladatKategoriaId];
//NOTE: Kikeressük, melyik dátumnál van a legnagyobb átfedés a besorolások között, és ha több mint a limit, hiba.
var besorolasok = CreateBesorolasDateRangeList(besorolasVege, tanulohozTartozoDbBesorolasokByOsztaly, tanulohozTartozoElozoExcelBesorolasokByOsztaly, withCurrentOne: true);
var overlapResult = BesorolasDateRangeUtil.CalculateMaxOverlap(BesorolasDatum, besorolasVege, besorolasok);
if (overlapResult.OverlapCount > jogviszonyLimit)
{
var errorMsg = string.Empty;
if (isAmi)
{
errorMsg = string.Format(ImportExportTanuloBesorolasResource.TanuloBeVanSorolvaMegengedettSzamuOsztalyba, importItem.TanuloNeveImportData, overlapResult.OverlapBeginDate.ToShortDateString());
}
else
{
var osztalyNev = osztalyok.First(o => o.Id == overlapResult.MaxOverlapOsztalyId.Value).Nev;
errorMsg = string.Format(ImportExportTanuloBesorolasResource.TanuloBeVanSorolvaOsztalyba, importItem.TanuloNeveImportData, overlapResult.OverlapBeginDate.ToShortDateString(), osztalyNev);
}
validationResultList.Add(new ValidationResult(errorMsg));
}
//NOTE: Ha a limit nagyobb mint 1, meg kell vizsgálni, hogy nem akarják-e ugyan abba az osztályba besorolni.
else if (jogviszonyLimit > 1)
{
var duplicateBesorolas = tanulohozTartozoDbBesorolasokByOsztaly.FirstOrDefault(x => x.OsztalyCsoportId == importItem.OsztalyCsoportId.Value && BesorolasDatum < (x.KilepesDatum ?? TanevUtolsoNapja) && x.BelepesDatum < besorolasVege);
if (duplicateBesorolas != null)
{
var errorMsg = string.Format(ImportExportTanuloBesorolasResource.TanuloBeVanSorolvaOsztalyba, importItem.TanuloNeveImportData, duplicateBesorolas.BelepesDatum.ToShortDateString(), duplicateBesorolas.OsztalyCsoportNev);
validationResultList.Add(new ValidationResult(errorMsg));
}
}
}
else
{
if (currentOsztalyCsoport.IsAutoEgyeniCsoport)
{
validationResultList.Add(new ValidationResult(ImportExportTanuloBesorolasResource.ADiakotNemLehetBesorolniAutomatikusanLetrehozottEgyeniCsoportba));
}
else
{
var tanulohozTartozoElozoExcelBesorolasokByCsoport = tanulohozTartozoElozoExcelBesorolasok.Where(x => !osztalyok.Any(o => o.Id == x.OsztalyCsoportId));
var tanulohozTartozoDbBesorolasokByCsoport = tanulohozTartozoTanuloCsoportListFromDb.Where(x => !osztalyok.Any(o => o.Id == x.OsztalyCsoportId));
var marTagjaACsoportnakBesorolasok = CreateBesorolasDateRangeList(besorolasVege, tanulohozTartozoDbBesorolasokByCsoport, tanulohozTartozoElozoExcelBesorolasokByCsoport,
withCurrentOne: false, examinedOsztalyCsoportId: currentOsztalyCsoport.Id);
var marTagjaACsoportnakOverlapResult = BesorolasDateRangeUtil.CalculateMaxOverlap(BesorolasDatum, besorolasVege, marTagjaACsoportnakBesorolasok);
if (marTagjaACsoportnakOverlapResult.OverlapCount > 0)
{
var errorMsg = string.Format(ImportExportTanuloBesorolasResource.TanuloMarTagjaACsoportnak, importItem.TanuloNeveImportData, marTagjaACsoportnakOverlapResult.OverlapBeginDate.ToShortDateString());
validationResultList.Add(new ValidationResult(errorMsg));
}
if (currentOsztalyCsoport.OsztalyBontasId.IsEntityId())
{
var besorolasok = CreateBesorolasDateRangeList(besorolasVege, tanulohozTartozoDbBesorolasokByOsztaly, tanulohozTartozoElozoExcelBesorolasokByOsztaly,
withCurrentOne: false, examinedOsztalyCsoportId: currentOsztalyCsoport.OsztalyBontasId);
var overlapResult = BesorolasDateRangeUtil.CalculateMinOverlap(BesorolasDatum, besorolasVege, besorolasok);
if (overlapResult.OverlapCount == 0)
{
var osztalyNev = osztalyok.First(o => o.Id == currentOsztalyCsoport.OsztalyBontasId.Value).Nev;
var errorMsg = string.Format(ImportExportTanuloBesorolasResource.TanuloNemTagjaAzOsztalynak, importItem.TanuloNeveImportData, overlapResult.OverlapBeginDate.ToShortDateString(), osztalyNev);
validationResultList.Add(new ValidationResult(errorMsg));
}
}
else
{
var nemTagjaEgyetlenOsztalynakSemBesorolasok = CreateBesorolasDateRangeList(besorolasVege, tanulohozTartozoDbBesorolasokByOsztaly, tanulohozTartozoElozoExcelBesorolasokByOsztaly,
withCurrentOne: false);
var nemTagjaEgyetlenOsztalynakSemOverlapResult = BesorolasDateRangeUtil.CalculateMinOverlap(BesorolasDatum, besorolasVege, nemTagjaEgyetlenOsztalynakSemBesorolasok);
if (nemTagjaEgyetlenOsztalynakSemOverlapResult.OverlapCount == 0)
{
var errorMsg = string.Format(ImportExportTanuloBesorolasResource.TanuloNemTagjaEgyetlenOsztalynakSem, importItem.TanuloNeveImportData, nemTagjaEgyetlenOsztalynakSemOverlapResult.OverlapBeginDate.ToShortDateString());
validationResultList.Add(new ValidationResult(errorMsg));
}
}
}
}
}
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>
{
ImportExportTanuloBesorolasResource.ImportHeaderNameTanuloNeve,
ImportExportTanuloBesorolasResource.ImportHeaderNameTanuloOktatasiAzonosito,
ImportExportTanuloBesorolasResource.ImportHeaderNameOsztalyCsoport
};
ValidateDuplicatedRows(validationResultDictionary, lineNumberCompareHashDictionary, duplicatedRowConditonTextList);
return validationResultDictionary;
}
private IEnumerable<BesorolasDateRange> CreateBesorolasDateRangeList(DateTime besorolasVege, IEnumerable<TanuloCsoportItemCo> tanulohozTartozoDbBesorolasok, IEnumerable<TanuloBesorolasImportItemCo> tanulohozTartozoElozoExcelBesorolasok,
bool withCurrentOne, int? examinedOsztalyCsoportId = null)
{
//NOTE: aktuális besorolás
var besorolasok = new List<BesorolasDateRange>();
if (withCurrentOne)
{
besorolasok.Add(new BesorolasDateRange
{
Begin = BesorolasDatum,
End = besorolasVege,
});
}
//NOTE: db-be lévők
besorolasok.AddRange(tanulohozTartozoDbBesorolasok.Select(x => new BesorolasDateRange
{
Begin = x.BelepesDatum,
End = x.KilepesDatum ?? TanevUtolsoNapja,
OsztalyCsoportId = x.OsztalyCsoportId
}));
//NOTE: az excelbe ez előtt szerepeltek
besorolasok.AddRange(tanulohozTartozoElozoExcelBesorolasok.Select(x => new BesorolasDateRange
{
Begin = BesorolasDatum,
End = besorolasVege,
OsztalyCsoportId = x.OsztalyCsoportId.Value
}));
if (examinedOsztalyCsoportId.HasValue)
{
besorolasok = besorolasok.Where(x => !x.OsztalyCsoportId.HasValue || x.OsztalyCsoportId == examinedOsztalyCsoportId).ToList();
}
return besorolasok;
}
}
public class TanuloBesorolasImportItemCo : BaseImportItemCo, IValidatableObject
{
public TanuloBesorolasImportItemCo(bool isSzakkepzoIntezmeny) : base()
{
IsSzakkepzoIntezmeny = isSzakkepzoIntezmeny;
}
#region Fields
/// <summary>
/// Technikai paraméter(ek) a reflection-ös exporthoz.
/// </summary>
public const string NemImportalhatoSorokExportAttributeId = nameof(NemImportalhatoSorokExportAttributeId);
#endregion Fields
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 00, nameof(ImportExportTanuloBesorolasResource.ImportHeaderNameTanuloNeve), typeof(ImportExportTanuloBesorolasResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(ImportExportTanuloBesorolasResource.ImportHeaderNameTanuloNeve), ResourceType = typeof(ImportExportTanuloBesorolasResource))]
public string TanuloNeveImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 01, nameof(ImportExportTanuloBesorolasResource.ImportHeaderNameTanuloOktatasiAzonosito), typeof(ImportExportTanuloBesorolasResource))]
[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(ImportExportTanuloBesorolasResource.ImportHeaderNameTanuloOktatasiAzonosito), ResourceType = typeof(ImportExportTanuloBesorolasResource))]
public string TanuloOktatasiAzonositoImportData { get; set; }
[SimpleExportColumn(NemImportalhatoSorokExportAttributeId, 02, nameof(ImportExportTanuloBesorolasResource.ImportHeaderNameOsztalyCsoport), typeof(ImportExportTanuloBesorolasResource))]
[Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(ImportExportTanuloBesorolasResource.ImportHeaderNameOsztalyCsoport), ResourceType = typeof(ImportExportTanuloBesorolasResource))]
public string OsztalyCsoportImportData { get; set; }
public string TanuloElotag => GetElotagFromTeljesNev(TanuloNeveImportData);
public string TanuloVezeteknev => GetVezeteknevFromTeljesNev(TanuloNeveImportData);
public string TanuloKeresztnev => GetKeresztnevekFromTeljesNev(TanuloNeveImportData);
public string TanuloOktatasiAzonosito => GetStringValue(TanuloOktatasiAzonositoImportData);
public string OsztalyCsoportNev => GetStringValue(OsztalyCsoportImportData);
public TanuloItemCo Tanulo { get; set; }
public int? TanuloId => Tanulo?.Id;
public List<int> TanuloOsztalyCsoportIdList { get; set; }
public OsztalyCsoportItemCo OsztalyCsoport { get; set; }
public int? OsztalyCsoportId { get; set; }
public bool? IsOsztaly { get; set; }
private bool IsSzakkepzoIntezmeny { get; }
#region Validate
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
//NOTE: Ha van megadva tanuló neve és oktatási azonosítója az import data-ban, meg kell vizsgálni, hogy létezik-e az adatbázisban.
if (!string.IsNullOrWhiteSpace(TanuloNeveImportData) && !string.IsNullOrWhiteSpace(TanuloOktatasiAzonositoImportData))
{
//NOTE: Ha a TanuloId null, akkor a tanuló nem létezik az adatbázisban!
if (!TanuloId.IsEntityId())
{
yield return new ValidationResult(ImportExportTanuloBesorolasResource.ATanuloNemSzerepelAzAdatbazisban);
}
}
//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(TanuloVezeteknev) || string.IsNullOrWhiteSpace(TanuloKeresztnev)))
{
yield return new ValidationResult(ImportExportGondviseloResource.ATanuloNeveFormatumaNemMegfelelo);
}
//NOTE: Ha van megadva osztály vagy csoport neve az import data-ban, meg kell vizsgálni, hogy létezik-e az adatbázisban.
if (!string.IsNullOrWhiteSpace(OsztalyCsoportImportData))
{
//NOTE: Ha az OsztalyCsoportId null, akkor az osztály vagy csoport nem létezik az adatbázisban!
if (!OsztalyCsoportId.IsEntityId())
{
yield return new ValidationResult(ImportExportTanuloBesorolasResource.AzOsztalyVagyCsoportNemSzerepelAzAdatbazisban);
}
}
if (IsSzakkepzoIntezmeny && !string.IsNullOrWhiteSpace(TanuloOktatasiAzonositoImportData) && !Extensions.FelhasznaloExtensions.IsValidOktatasiAzonosito(TanuloOktatasiAzonositoImportData))
{
yield return new ValidationResult(ErrorResource.AMegadottOktatasiAzonositoHibas);
}
}
#endregion Validate
}
public class TanuloBesorolasImportJsonItemCo : BaseImportJsonItemCo
{
public TanuloBesorolasImportJsonItemCo(TanuloBesorolasImportItemCo importItemCo, DateTime besorolasDatum, DateTime? kisorolasDatum, int tanevId, int intezmenyId, int felhasznaloId) : base(tanevId, intezmenyId, felhasznaloId)
{
Now = DateTime.Now;
BejegyzesIdopontja = Now.ToString(Constants.ToStringPattern.SortableDateTimePattern);
TanuloElotag = importItemCo.TanuloElotag;
TanuloVezeteknev = importItemCo.TanuloVezeteknev;
TanuloKeresztnev = importItemCo.TanuloKeresztnev;
TanuloOktatasiAzonosito = importItemCo.TanuloOktatasiAzonosito;
OsztalyCsoportNev = importItemCo.OsztalyCsoportNev;
//NOTE: Az IsOsztaly.Value nem lehet null, mert ide már csak olyan elem jön be, aminek van osztály-/csoportja!
IsOsztaly = importItemCo.IsOsztaly.Value;
BelepesDatum = besorolasDatum;
BelepesDatumString = BelepesDatum.ToString(Constants.ToStringPattern.SortableDateTimePattern);
KilepesDatum = kisorolasDatum;
KilepesDatumString = KilepesDatum?.ToString(Constants.ToStringPattern.SortableDateTimePattern);
//NOTE: Az TanuloId.Value nem lehet null, mert ide már csak olyan elem jön be, aminek van tanulója!
TanuloId = importItemCo.TanuloId.Value;
//NOTE: Az OsztalyCsoportId.Value nem lehet null, mert ide már csak olyan elem jön be, aminek van osztály-/csoportja!
OsztalyCsoportId = importItemCo.OsztalyCsoportId.Value;
Id = importItemCo.Id;
LineNumber = importItemCo.LineNumber;
Operation = importItemCo.Operation;
}
#region Import Json Properties
[JsonIgnore]
public string TanuloElotag { get; set; }
[JsonIgnore]
public string TanuloVezeteknev { get; set; }
[JsonIgnore]
public string TanuloKeresztnev { get; set; }
[JsonIgnore]
public string TanuloOktatasiAzonosito { get; set; }
[JsonIgnore]
public string OsztalyCsoportNev { get; set; }
[JsonIgnore]
public bool IsOsztaly { get; set; }
[JsonIgnore]
public DateTime BelepesDatum { get; set; }
[JsonProperty("C_BELEPESDATUM")]
public string BelepesDatumString { get; set; }
[JsonProperty("C_TANULOID")]
public int TanuloId { get; set; }
[JsonProperty("C_OSZTALYCSOPORTID")]
public int OsztalyCsoportId { get; set; }
[JsonProperty("C_BEJEGYZESIDOPONTJA")]
public string BejegyzesIdopontja { get; set; }
[JsonIgnore]
public DateTime? KilepesDatum { get; set; }
[JsonProperty("C_KILEPESDATUM")]
public string KilepesDatumString { get; set; }
#region Default Required Import Json Properties
[JsonProperty("C_ZARADEK")]
public string Zaradek => null;
[JsonProperty("C_BEFOGADOINTEZMENY")]
public string BefogadoIntezmeny => null;
[JsonProperty("C_MEGJEGYZES")]
public string Megjegyzes => null;
[JsonProperty("C_VEGZARADEK")]
public string Vegzaradek => null;
#endregion Default Required Import Json Properties
#endregion Import Json Properties
}
public class TanuloBesorolasTanuloTanugyiAdatokImportJsonItemCo : BaseImportJsonItemCo
{
public TanuloBesorolasTanuloTanugyiAdatokImportJsonItemCo(int osztalyCsoportId, TanuloItemCo tanuloCo, int tanevId, int intezmenyId, int felhasznaloId) : base(tanevId, intezmenyId, felhasznaloId)
{
OsztalyCsoportId = osztalyCsoportId;
TanuloId = tanuloCo.Id;
BeirasiNaploSorszam = tanuloCo.BeirasiNaploSorszam;
IsBejaro = SDAConvert.ToSDABoolean(tanuloCo.IsBejaro);
IsDiaksportkoros = SDAConvert.ToSDABoolean(tanuloCo.IsDiaksportkoros);
IsEgyebOrszagosDonto = SDAConvert.ToSDABoolean(tanuloCo.IsEgyebDonto);
IsEgyuttmukodeses = SDAConvert.ToSDABoolean(tanuloCo.IsEgyuttmukodeses);
ElozoIntezmeny = tanuloCo.ElozoIntezmeny;
IsEvismetlo = SDAConvert.ToSDABoolean(tanuloCo.IsEvismetlo);
IsIskolaiKeretekKozott = SDAConvert.ToSDABoolean(tanuloCo.IsIskolaiKeretekKozott);
IsJogviszonyatSzunetelteto = SDAConvert.ToSDABoolean(tanuloCo.IsJogviszonyatSzunetelteto);
JogviszonyVarhatoBefejezese = tanuloCo.JogviszonyVarhatoBefejezese;
JogviszonyVarhatoBefejezeseString = tanuloCo.JogviszonyVarhatoBefejezeseString;
IsMagantanulo = SDAConvert.ToSDABoolean(tanuloCo.IsMagantanulo);
MagantanulosaganakOkaId = tanuloCo.MagantanulosaganakOkaId;
MagantanulosagKezdete = tanuloCo.MagantanulosagKezdete;
MagantanulosagKezdeteString = tanuloCo.MagantanulosagKezdeteString;
NyilvantartasKezdete = tanuloCo.NyilvantartasKezdete;
NyilvantartasKezdeteString = tanuloCo.NyilvantartasKezdeteString;
IsOsztv = SDAConvert.ToSDABoolean(tanuloCo.IsOsztv);
IsPolgariSzerzodeses = SDAConvert.ToSDABoolean(tanuloCo.IsPolgariSzerzodeses);
IsSzakmaiGyakorlaton = SDAConvert.ToSDABoolean(tanuloCo.IsSzakmaiGyakorlaton);
IsSzetvAgazat = SDAConvert.ToSDABoolean(tanuloCo.IsSzetvAgazat);
Szintvizsga = tanuloCo.Szintvizsga;
IsSzktv = SDAConvert.ToSDABoolean(tanuloCo.IsSzktv);
IsTandijatfizeto = SDAConvert.ToSDABoolean(tanuloCo.IsTandijatfizeto);
IsTankotelezett = SDAConvert.ToSDABoolean(tanuloCo.IsTankotelezett);
TankotelezettsegVege = tanuloCo.TankotelezettsegVege;
TankotelezettsegVegeString = tanuloCo.TankotelezettsegVegeString;
TanuloEvfolyamTipusId = tanuloCo.TanuloEvfolyamTipusId;
IsTanuloSzerzodeses = SDAConvert.ToSDABoolean(tanuloCo.IsTanuloSzerzodeses);
IsTechnikusiEvfolyam = SDAConvert.ToSDABoolean(tanuloCo.IsTechnikusiEvfolyam);
IsTeritesiDijatFizeto = SDAConvert.ToSDABoolean(tanuloCo.IsTeritesiDijatFizeto);
IsVendeg = SDAConvert.ToSDABoolean(tanuloCo.IsVendeg);
Naplosorszam = tanuloCo.Naplosorszam;
Torzslapszam = tanuloCo.Torzslapszam;
TantervId = tanuloCo.TantervId;
FelvetelTaneveId = tanuloCo.FelvetelTaneveId;
Operation = (int)ImportItemOperationEnum.Insert;
}
#region Import Json Properties
[JsonProperty("OsztalyCsoportId")]
public int OsztalyCsoportId { get; set; }
[JsonProperty("TanuloId")]
public int TanuloId { get; set; }
[JsonProperty("C_BEIRASINAPLOSORSZAM")]
public string BeirasiNaploSorszam { get; set; }
[JsonProperty("C_BEJARO")]
public string IsBejaro { get; set; }
[JsonProperty("C_DIAKSPORTKOROS")]
public string IsDiaksportkoros { get; set; }
[JsonProperty("C_EGYEBORSZAGOSDONTO")]
public string IsEgyebOrszagosDonto { get; set; }
[JsonProperty("C_EGYUTTMUKODESES")]
public string IsEgyuttmukodeses { get; set; }
[JsonProperty("C_ELOZOINTEZMENY")]
public string ElozoIntezmeny { get; set; }
[JsonProperty("C_EVISMETLO")]
public string IsEvismetlo { get; set; }
[JsonProperty("C_ISKOLAIKERETEKKOZOTT")]
public string IsIskolaiKeretekKozott { get; set; }
[JsonProperty("C_JOGVISZONYATSZUNETELTETO")]
public string IsJogviszonyatSzunetelteto { get; set; }
[JsonIgnore]
public DateTime? JogviszonyVarhatoBefejezese { get; set; }
[JsonProperty("C_JOGVISZONYVARHATOBEFEJEZESE")]
public string JogviszonyVarhatoBefejezeseString { get; set; }
[JsonProperty("C_MAGANTANULO")]
public string IsMagantanulo { get; set; }
[JsonProperty("C_MAGANTANULOSAGANAKOKAID")]
public int? MagantanulosaganakOkaId { get; set; }
[JsonIgnore]
public DateTime? MagantanulosagKezdete { get; set; }
[JsonProperty("C_MAGANTANULOSAGKEZDETE")]
public string MagantanulosagKezdeteString { get; set; }
[JsonIgnore]
public DateTime NyilvantartasKezdete { get; set; }
[JsonProperty("C_NYILVANTARTASKEZDETE")]
public string NyilvantartasKezdeteString { get; set; }
[JsonProperty("C_OSZTV")]
public string IsOsztv { get; set; }
[JsonProperty("C_POLGARISZERZODESES")]
public string IsPolgariSzerzodeses { get; set; }
[JsonProperty("C_SZAKMAIGYAKORLATON")]
public string IsSzakmaiGyakorlaton { get; set; }
[JsonProperty("C_SZETVAGAZAT")]
public string IsSzetvAgazat { get; set; }
[JsonProperty("C_SZINTVIZSGA")]
public double? Szintvizsga { get; set; }
[JsonProperty("C_SZKTV")]
public string IsSzktv { get; set; }
[JsonProperty("C_TANDIJATFIZETO")]
public string IsTandijatfizeto { get; set; }
[JsonProperty("C_TANKOTELEZETT")]
public string IsTankotelezett { get; set; }
[JsonIgnore]
public DateTime? TankotelezettsegVege { get; set; }
[JsonProperty("C_TANKOTELEZETTSEGVEGE")]
public string TankotelezettsegVegeString { get; set; }
[JsonProperty("C_TANULOEVFOLYAMTIPUSID")]
public int? TanuloEvfolyamTipusId { get; set; }
[JsonProperty("C_TANULOSZERZODESES")]
public string IsTanuloSzerzodeses { get; set; }
[JsonProperty("C_TECHNIKUSIEVFOLYAM")]
public string IsTechnikusiEvfolyam { get; set; }
[JsonProperty("C_TERITESIDIJATFIZETO")]
public string IsTeritesiDijatFizeto { get; set; }
[JsonProperty("C_VENDEG")]
public string IsVendeg { get; set; }
[JsonProperty("C_NAPLOSORSZAM")]
public int? Naplosorszam { get; set; }
[JsonProperty("C_TORZSLAPSZAM")]
public string Torzslapszam { get; set; }
[JsonProperty("C_TANTERVID")]
public int TantervId { get; set; }
[JsonProperty("C_FELVETELTANEVEID")]
public int FelvetelTaneveId { get; set; }
#region Default Required Import Json Properties
[JsonProperty("C_HOZOTTIGAZOLATLANHIANYZAS")]
public int HozottIgazolatlanHianyzas => 0;
[JsonProperty("C_HOZOTTIGAZOLATLANKESESPERCBE")]
public int HozottIgazolatlanKesesPercbe => 0;
[JsonProperty("C_HOZOTTIGAZOLTHIANYZAS")]
public int HozottIgazoltHianyzas => 0;
[JsonProperty("C_HOZOTTIGAZOLTKESESPERCBEN")]
public int HozottIgazoltKesesPercben => 0;
[JsonProperty("C_ISESL16EVESUTANBELEPETT")]
public string IsEsl16EvesUtanBelepett => SDAConvert.ToSDABoolean(false);
[JsonProperty("C_BIZONYITVANYSZAMA")]
public string BizonyitvanySzama => null;
#endregion Default Required Import Json Properties
#endregion Import Json Properties
}
}