init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -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
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue