init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,398 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.Caching;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.HelperClasses.ImportCo;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.DataAccessManual;
|
||||
using Kreta.DataAccessManual.ParameterClasses;
|
||||
using Kreta.DataAccessManual.Util;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums.ImportExport;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Helpers.ImportExport
|
||||
{
|
||||
public class AlkalmazottMunkaugyiAdatokImportExportHelper : LogicBase
|
||||
{
|
||||
#region Fields
|
||||
|
||||
private readonly string _importObjectCacheKey;
|
||||
|
||||
#endregion Fields
|
||||
|
||||
#region Properties
|
||||
|
||||
public static Dictionary<int, string> ImportHeaderList => new Dictionary<int, string>
|
||||
{
|
||||
{ 00, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusNeve },
|
||||
{ 01, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusNevElotag },
|
||||
{ 02, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusVezetekneve },
|
||||
{ 03, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusUtoneve },
|
||||
{ 04, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusAnyjaNeve },
|
||||
{ 05, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusSzuletesiDatuma },
|
||||
{ 06, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusSzuletesiHelye },
|
||||
{ 07, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusOktatasiAzonosito },
|
||||
{ 08, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameAdoazonositoJel },
|
||||
{ 09, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusFokozat },
|
||||
{ 10, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameMunkakor },
|
||||
{ 11, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameFoglalkoztatasiJogviszony },
|
||||
{ 12, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameKotelezoOraszama },
|
||||
{ 13, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameMunkaidokedvezmenyOraszama },
|
||||
{ 14, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameFeladattalTerheltOraszamOka },
|
||||
{ 15, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameAlkalmazasKezdete },
|
||||
{ 16, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameFoglalkoztatasTipusa },
|
||||
{ 17, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameVezetoiOraszamOka },
|
||||
{ 18, CommonResource.Feladatellatasihely },
|
||||
{ 19, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameTartosanTavollevo },
|
||||
{ 20, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameBetoltetlenAllashely },
|
||||
{ 21, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameKulsoAlkalmazott },
|
||||
{ 22, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameFoallasu },
|
||||
{ 23, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameNyugdijasTovabbfoglalkoztatott },
|
||||
{ 24, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameSzakertoiVagyvizsgaelnokiTevekenyseg },
|
||||
{ 25, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameSzakmaiTovabbkepzes },
|
||||
{ 26, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameSzakvizsga },
|
||||
{ 27, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameAttanitoIntezmenyenBelul },
|
||||
{ 28, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameAttanitoMasIntezmenynel },
|
||||
{ 29, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameTartosHelyettesites },
|
||||
{ 30, ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameSzakertoSzaktanacsado }
|
||||
};
|
||||
|
||||
public AlkalmazottMunkaugyiAdatokImportCo ImportCo
|
||||
{
|
||||
get => (AlkalmazottMunkaugyiAdatokImportCo)Cache.Get(_importObjectCacheKey);
|
||||
set
|
||||
{
|
||||
if (ImportCo != null)
|
||||
{
|
||||
Cache.Remove(_importObjectCacheKey);
|
||||
}
|
||||
|
||||
Cache.Add(_importObjectCacheKey, value, new CacheItemPolicy { SlidingExpiration = TimeSpan.FromMinutes(30) });
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Properties
|
||||
|
||||
#region Constructors
|
||||
|
||||
public AlkalmazottMunkaugyiAdatokImportExportHelper(IConnectionType connectionType) : base(connectionType)
|
||||
{
|
||||
_importObjectCacheKey = $"{nameof(AlkalmazottMunkaugyiAdatokImportCo)}_{IntezmenyId}_{FelhasznaloId}_ImportObjectCacheKey";
|
||||
}
|
||||
|
||||
#endregion Constructors
|
||||
|
||||
public void SetImportCo(List<List<string>> importData, bool isSzakkepzoIntezmeny)
|
||||
{
|
||||
AlkalmazottMunkaugyiAdatokImportCo importCo = GetImportCoFromImportData(importData);
|
||||
importCo.ImportMuvelet = 1;
|
||||
|
||||
SetNemImportalhatoSorokByValidation(importCo, isSzakkepzoIntezmeny);
|
||||
|
||||
SetOperationAndNemImportalhatoSorokByOperation(importCo);
|
||||
|
||||
var mainImportJsonItemList = new List<AlkalmazottMunkaugyiAdatokImportJsonItemCo>(importCo.MainImportItemList.Select(x => new AlkalmazottMunkaugyiAdatokImportJsonItemCo(x, TanevId, IntezmenyId, FelhasznaloId)));
|
||||
importCo.MainImportJsonItemList = mainImportJsonItemList;
|
||||
|
||||
ImportCo = importCo;
|
||||
}
|
||||
|
||||
private static void SetNemImportalhatoSorokByValidation(AlkalmazottMunkaugyiAdatokImportCo importCo, bool isSzakkepzoIntezmeny)
|
||||
{
|
||||
Dictionary<int, List<ValidationResult>> validationResultDictionary = importCo.Validate(isSzakkepzoIntezmeny);
|
||||
|
||||
//NOTE: Azokat a sorokat, amelyek hibásak beletesszük a NemImportalhatoItemList-be!
|
||||
foreach (AlkalmazottMunkaugyiAdatokImportItemCo importItem in importCo.MainImportItemList.Where(x => validationResultDictionary.Keys.Contains(x.LineNumber)))
|
||||
{
|
||||
IEnumerable<ValidationResult> validationResultList = validationResultDictionary[importItem.LineNumber];
|
||||
importItem.ErrorList = validationResultList.Select(x => x.ErrorMessage).ToList();
|
||||
importCo.NemImportalhatoItemList.Add(importItem);
|
||||
}
|
||||
|
||||
//NOTE: Azokat a sorokat, amelyek bekerültek a NemImportalhatoItemList-be, azokat kiveszzük a MainImportItemList-ből!
|
||||
importCo.MainImportItemList.RemoveRange(importCo.NemImportalhatoItemList);
|
||||
}
|
||||
|
||||
private void SetOperationAndNemImportalhatoSorokByOperation(AlkalmazottMunkaugyiAdatokImportCo importCo)
|
||||
{
|
||||
int importMuvelet = importCo.ImportMuvelet;
|
||||
//NOTE: Azért van szükség Dictionary-re, mert így sokkal gyorsabb a keresés!
|
||||
Dictionary<string, ImportItemCompareCo> compareHashImportItemCompareCoDictionary = GetCompareHashImportItemCompareCoDictionary(importCo.AlkalmazottMunkaugyiAdatokCoList);
|
||||
foreach (AlkalmazottMunkaugyiAdatokImportItemCo importItem in importCo.MainImportItemList)
|
||||
{
|
||||
string compareHash = importItem.CompareHash;
|
||||
//NOTE: Ha nem találtunk egyezést, akkor mindeképpen Insert!
|
||||
if (!compareHashImportItemCompareCoDictionary.ContainsKey(compareHash))
|
||||
{
|
||||
importItem.Operation = (int)ImportItemOperationEnum.Insert;
|
||||
}
|
||||
//NOTE: Ha találtunk egyezést, akkor...
|
||||
else
|
||||
{
|
||||
ImportItemCompareCo importItemCompareCo = compareHashImportItemCompareCoDictionary[compareHash];
|
||||
//NOTE: ...ha az import művelet DeleteAndInsert és a db-ből jövő adat Importalt(a nem importáltakat egyelőre nem töröljük), akkor Insert, mert töröljük a korábbi elemeket és újra be kell szúrni!
|
||||
if (importMuvelet == (int)ImportMuveletEnum.DeleteAndInsert && importItemCompareCo.Importalt)
|
||||
{
|
||||
importItem.Operation = (int)ImportItemOperationEnum.Insert;
|
||||
}
|
||||
//NOTE: ...ha nincs törlés, akkor...
|
||||
else
|
||||
{
|
||||
//NOTE: ...ha a művelet InsertAndUpdate, akkor Update és beállítjuk az Id-t!
|
||||
if (importMuvelet == (int)ImportMuveletEnum.InsertAndUpdate)
|
||||
{
|
||||
importItem.Id = importItemCompareCo.Id;
|
||||
importItem.Operation = (int)ImportItemOperationEnum.Update;
|
||||
}
|
||||
//NOTE: ...ha a művelet nem InsertAndUpdate, akkor hozzá kell adni a nem NemImportalhatoItemList-hez és jelezni, hogy már szerepel az adatbázisban(Insert vagy DeleteAndInsert műveletnél. A DeleteAndInsert csak akkor fut be ide, ha az elem nem importált.)!
|
||||
else
|
||||
{
|
||||
importItem.ErrorList.Add(ImportExportCommonResource.NemImportalhatoMertMarSzerepelAzAdatbazisban);
|
||||
importCo.NemImportalhatoItemList.Add(importItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//NOTE: Azokat a sorokat, amelyek bekerültek a NemImportalhatoItemList-be, azokat kiveszzük a MainImportItemList-ből!
|
||||
importCo.MainImportItemList.RemoveRange(importCo.NemImportalhatoItemList);
|
||||
}
|
||||
|
||||
public AlkalmazottMunkaugyiAdatokImportCo GetImportCoFromImportData(List<List<string>> importData)
|
||||
{
|
||||
List<AlkalmazottMunkaugyiAdatokCo> alkalmazottMunkaugyiAdatokCoList = null;
|
||||
DataSet feladatellatasiHelyDataSet = null;
|
||||
Dal.CustomConnection.Run(ConnectionType, dalHandler =>
|
||||
{
|
||||
alkalmazottMunkaugyiAdatokCoList = new AlkalmazottMunkaugyiAdatokHelper(new DalHandlerConnectionType(ConnectionType, dalHandler)).GetAlkalmazottMunkaugyiAdatokCoList();
|
||||
feladatellatasiHelyDataSet = dalHandler.FeladatEllatasiHelyDal().GetFeladatellatasiHelyDataSet(TanevId);
|
||||
});
|
||||
|
||||
var importCo = new AlkalmazottMunkaugyiAdatokImportCo
|
||||
{
|
||||
AlkalmazottMunkaugyiAdatokCoList = alkalmazottMunkaugyiAdatokCoList
|
||||
};
|
||||
|
||||
var feladatellatasiHelyTuple = new List<(int FeladatellatasiHelyId, string FeladatellatasiHely)>();
|
||||
|
||||
foreach (DataRow dataRow in feladatellatasiHelyDataSet.Tables[0].Rows)
|
||||
{
|
||||
feladatellatasiHelyTuple.Add((
|
||||
SDAConvert.ToInt32(dataRow["Id"]),
|
||||
$"{SDAConvert.ToString(dataRow["MukodesiHelyNev"])} - {SDAConvert.ToString(dataRow["OktatasiNevelesiFeladatTipusId_DNAME"])}"));
|
||||
}
|
||||
|
||||
int lineNumber = 1;
|
||||
foreach (List<string> importDataRow in importData.Skip(1))
|
||||
{
|
||||
var importItemCo = new AlkalmazottMunkaugyiAdatokImportItemCo(TanevId)
|
||||
{
|
||||
LineNumber = lineNumber,
|
||||
|
||||
PedagogusNeveImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusNeve)],
|
||||
PedagogusNevElotagImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusNevElotag)],
|
||||
PedagogusVezetekneveImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusVezetekneve)],
|
||||
PedagogusUtoneveImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusUtoneve)],
|
||||
PedagogusAnyjaNeveImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusAnyjaNeve)],
|
||||
PedagogusSzuletesiDatumaImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusSzuletesiDatuma)],
|
||||
PedagogusSzuletesiHelyeImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusSzuletesiHelye)],
|
||||
PedagogusOktatasiAzonositoImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusOktatasiAzonosito)],
|
||||
AdoazonositoJelImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameAdoazonositoJel)],
|
||||
PedagogusFokozatImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusFokozat)],
|
||||
MunkakorImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameMunkakor)],
|
||||
FoglalkoztatasiJogviszonyImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameFoglalkoztatasiJogviszony)],
|
||||
KotelezoOraszamaImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameKotelezoOraszama)],
|
||||
MunkaidokedvezmenyOraszamaImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameMunkaidokedvezmenyOraszama)],
|
||||
FeladattalTerheltOraszamOkaImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameFeladattalTerheltOraszamOka)],
|
||||
AlkalmazasKezdeteImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameAlkalmazasKezdete)],
|
||||
FoglalkoztatasTipusaImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameFoglalkoztatasTipusa)],
|
||||
VezetoiOraszamOkaImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameVezetoiOraszamOka)],
|
||||
FeladatellatasiHelyImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(CommonResource.Feladatellatasihely)],
|
||||
TartosanTavollevoImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameTartosanTavollevo)],
|
||||
BetoltetlenAllashelyImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameBetoltetlenAllashely)],
|
||||
KulsoAlkalmazottImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameKulsoAlkalmazott)],
|
||||
FoallasuImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameFoallasu)],
|
||||
NyugdijasTovabbfoglalkoztatottImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameNyugdijasTovabbfoglalkoztatott)],
|
||||
SzakertoiVagyVizsgaelnokiTevekenyseguImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameSzakertoiVagyvizsgaelnokiTevekenyseg)],
|
||||
SzakmaiTovabbkepzesImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameSzakmaiTovabbkepzes)],
|
||||
SzakvizsgaImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameSzakvizsga)],
|
||||
AttanitoIntezmenyenBelulImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameAttanitoIntezmenyenBelul)],
|
||||
IsAttanitoMasIntezmenynelImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameAttanitoMasIntezmenynel)],
|
||||
IsTartosanTavollevoHelyettesitesImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameTartosHelyettesites)],
|
||||
SzakertoImportData = importDataRow[ImportHeaderList.GetKeyByUniqueValue(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameSzakertoSzaktanacsado)]
|
||||
};
|
||||
|
||||
int? feladatellatasiHelyId = feladatellatasiHelyTuple.FirstOrDefault(x => x.FeladatellatasiHely == importItemCo.FeladatellatasiHelyImportData).FeladatellatasiHelyId;
|
||||
if (feladatellatasiHelyId.IsEntityId())
|
||||
{
|
||||
importItemCo.FeladatellatasiHelyId = feladatellatasiHelyId;
|
||||
}
|
||||
|
||||
var md5HashInput =
|
||||
$"{importItemCo.Vezeteknev?.ToComparableString()} {importItemCo.Keresztnev?.ToComparableString()}" +
|
||||
importItemCo.AnyjaNeve?.ToComparableString() +
|
||||
importItemCo.SzuletesiIdoString?.ToComparableString() +
|
||||
importItemCo.SzuletesiHely?.ToComparableString();
|
||||
importItemCo.CompareHash = ImportExportHelper.GetMd5Hash(md5HashInput);
|
||||
|
||||
importCo.MainImportItemList.Add(importItemCo);
|
||||
|
||||
lineNumber++;
|
||||
}
|
||||
|
||||
return importCo;
|
||||
}
|
||||
|
||||
#region Template
|
||||
|
||||
public MemoryStream GetTemplate()
|
||||
{
|
||||
var dropDownColumnSourceDictionary = GetDefaultDropDownColumnSourceDictionary();
|
||||
|
||||
List<SimpleExportColumnCo> simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<AlkalmazottMunkaugyiAdatokCo>(AlkalmazottMunkaugyiAdatokCo.AlkalmazottMunkaugyiAdatokExportAttributeId, dropDownColumnSourceDictionary);
|
||||
|
||||
return SimpleExportLogic.GetTemplate(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportDefaultSheetName, simpleExportColumnCos);
|
||||
}
|
||||
|
||||
#endregion Template
|
||||
|
||||
#region Export
|
||||
|
||||
public MemoryStream GetExport()
|
||||
{
|
||||
var dropDownColumnSourceDictionary = GetDefaultDropDownColumnSourceDictionary();
|
||||
|
||||
List<AlkalmazottMunkaugyiAdatokCo> coList = new AlkalmazottMunkaugyiAdatokHelper(ConnectionType).GetAlkalmazottMunkaugyiAdatokCoList().OrderBy(x => x.NevElotagNelkul).ToList();
|
||||
List<SimpleExportColumnCo> simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<AlkalmazottMunkaugyiAdatokCo>(AlkalmazottMunkaugyiAdatokCo.AlkalmazottMunkaugyiAdatokExportAttributeId, dropDownColumnSourceDictionary);
|
||||
|
||||
return SimpleExportLogic.GetExport(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportDefaultSheetName, simpleExportColumnCos, coList, TanevId);
|
||||
}
|
||||
|
||||
public MemoryStream GetNemImportalhatoSorokExport()
|
||||
{
|
||||
var dropDownColumnSourceDictionary = GetDefaultDropDownColumnSourceDictionary();
|
||||
|
||||
List<AlkalmazottMunkaugyiAdatokImportItemCo> coList = ImportCo.NemImportalhatoItemList;
|
||||
List<SimpleExportColumnCo> simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<AlkalmazottMunkaugyiAdatokImportItemCo>(AlkalmazottMunkaugyiAdatokImportItemCo.NemImportalhatoSorokExportAttributeId, dropDownColumnSourceDictionary);
|
||||
|
||||
return ImportExportHelper.NemImportalhatoSorokExport(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportDefaultSheetName, simpleExportColumnCos, coList, TanevId);
|
||||
}
|
||||
|
||||
#endregion Export
|
||||
|
||||
public void Import(List<AlkalmazottMunkaugyiAdatokImportJsonItemCo> importCo)
|
||||
{
|
||||
Dal.CustomConnection.Run(ConnectionType, dalHandler =>
|
||||
{
|
||||
var dal = dalHandler.AlkalmazottMunkaugyiAdatokDal();
|
||||
foreach (AlkalmazottMunkaugyiAdatokImportJsonItemCo item in importCo)
|
||||
{
|
||||
var alkalmazottMunkaugyiAdatokImportPco = new AlkalmazottMunkaugyiAdatokImportPco
|
||||
{
|
||||
Id = item.Id.Value,
|
||||
BesorolasiFokozat = item.BesorolasiFokozat,
|
||||
MunkakorTipusa = item.Munkakor,
|
||||
MunkaviszonyTipusa = item.Munkaviszony,
|
||||
KotelezoOraszam = item.KotelezoOraszam ?? 0,
|
||||
MunkaidoKedvezmenyOraszam = item.MunkaidoKedvezmenyOraszam,
|
||||
MunkaidoKedvezmenyOka = item.MunkaidoKedvezmenyOka,
|
||||
AlkalmazasKezdete = item.AlkalmazasKezdete,
|
||||
FoglalkoztatasTipus = item.FoglalkoztatasTipus,
|
||||
VezetoiOraszamOka = item.VezetoiOraszamOka,
|
||||
FeladatEllatasiHelyId = item.FeladatellatasiHelyId,
|
||||
AllandoHelyettesitesre = item.IsTartosTavollevoHelyettesites ?? false,
|
||||
TartosHelyettesites = item.IsTartosTavollet ?? false,
|
||||
BetoltetlenAllashely = item.IsBetoltetlenAllashely ?? false,
|
||||
IsKulsoAlkalmazott = item.IsKulsoAlkalmazott ?? false,
|
||||
Nyugdijas = item.IsNyugdijas ?? false,
|
||||
Attanito = item.IsAttanito ?? false,
|
||||
AdoazonositoJel = item.AdoazonositoJel,
|
||||
Foallas = item.IsFoallasu ?? false,
|
||||
SzakertoiVizsgaelnoki = item.IsSzakertoiVagyVizsgaelnokiTevekenysegu ?? false,
|
||||
Szakvizsga = item.IsSzakvizsga ?? false,
|
||||
OktatasiAzonosito = item.OktatasiAzonosito,
|
||||
Tovabbkepzes = item.IsSzakmaiTovabbkepzes ?? false,
|
||||
SzakertoMesterpedagogus = item.BesorolasiFokozat.HasValue && item.BesorolasiFokozat.Value == (int)BesorolasiFokozatTipusEnum.mesterpedagogus && item.IsSzakerto.HasValue && item.IsSzakerto.Value,
|
||||
IsSzakertoKutatotanar = item.BesorolasiFokozat.HasValue && item.BesorolasiFokozat.Value == (int)BesorolasiFokozatTipusEnum.kutatotanar && item.IsSzakerto.HasValue && item.IsSzakerto.Value,
|
||||
IsAttanitoMasIntezmenynel = item.IsAttanitoMasIntezmenynel ?? false
|
||||
};
|
||||
dal.Import(alkalmazottMunkaugyiAdatokImportPco);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private Dictionary<string, ImportItemCompareCo> GetCompareHashImportItemCompareCoDictionary(List<AlkalmazottMunkaugyiAdatokCo> coList)
|
||||
{
|
||||
var compareHashImportItemCompareCoDictionary = new Dictionary<string, ImportItemCompareCo>();
|
||||
foreach (var co in coList)
|
||||
{
|
||||
string md5HashInput =
|
||||
$"{co.FelhasznaloVezeteknevComparableString} {co.FelhasznaloKeresztnevComparableString}" +
|
||||
co.FelhasznaloAnyjaNeveComparableString +
|
||||
co.FelhasznaloSzuletesiIdoComparableString +
|
||||
co.FelhasznaloSzuletesiHelyComparableString;
|
||||
string compareHash = ImportExportHelper.GetMd5Hash(md5HashInput);
|
||||
|
||||
var importItemCompareCo = new ImportItemCompareCo
|
||||
{
|
||||
Id = co.MunkaugyiAdatId,
|
||||
CompareHash = compareHash,
|
||||
Importalt = co.Importalt
|
||||
};
|
||||
//NOTE: Elvileg nem fordulhatna elő, de ha az adatbázisban duplikált adat van, akkor csak az elsőt adjuk hozzá!
|
||||
if (!compareHashImportItemCompareCoDictionary.ContainsKey(compareHash))
|
||||
{
|
||||
compareHashImportItemCompareCoDictionary.Add(compareHash, importItemCompareCo);
|
||||
}
|
||||
}
|
||||
|
||||
return compareHashImportItemCompareCoDictionary;
|
||||
}
|
||||
|
||||
private Dictionary<string, IList<string>> GetDefaultDropDownColumnSourceDictionary()
|
||||
{
|
||||
//NOTE: Create dropdown lists
|
||||
var logicalColumnDictionary = new Dictionary<string, IList<string>>();
|
||||
|
||||
var dropDownColumnSourceDictionary = new Dictionary<string, IList<string>>(logicalColumnDictionary)
|
||||
{
|
||||
{ ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusNevElotag, Constants.ElotagList },
|
||||
};
|
||||
|
||||
Dal.CustomConnection.Run(ConnectionType, dalHandler =>
|
||||
{
|
||||
var connectionType = new DalHandlerConnectionType(ConnectionType, dalHandler);
|
||||
|
||||
dropDownColumnSourceDictionary.Add(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusFokozat, EnumExtensions.GetAdatszotarElemekForTipus(TanevId, GeneratedAdatszotarTipusEnum.BesorolasiFokozatTipus));
|
||||
|
||||
dropDownColumnSourceDictionary.Add(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameMunkakor, EnumExtensions.GetAdatszotarElemekForTipus(TanevId, GeneratedAdatszotarTipusEnum.MunkakorTipus));
|
||||
|
||||
dropDownColumnSourceDictionary.Add(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameFoglalkoztatasiJogviszony, EnumExtensions.GetAdatszotarElemekForTipus(TanevId, GeneratedAdatszotarTipusEnum.MunkaviszonyTipus));
|
||||
|
||||
dropDownColumnSourceDictionary.Add(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameFeladattalTerheltOraszamOka, EnumExtensions.GetAdatszotarElemekForTipus(TanevId, GeneratedAdatszotarTipusEnum.MunkaidoKedvezmenyOka));
|
||||
|
||||
dropDownColumnSourceDictionary.Add(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameFoglalkoztatasTipusa, EnumExtensions.GetAdatszotarElemekForTipus(TanevId, GeneratedAdatszotarTipusEnum.FoglalkoztatasTipusa));
|
||||
|
||||
dropDownColumnSourceDictionary.Add(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameVezetoiOraszamOka, EnumExtensions.GetAdatszotarElemekForTipus(TanevId, GeneratedAdatszotarTipusEnum.VezetoiOraszamokTipus));
|
||||
|
||||
var helper = new ImportExportHelper(connectionType);
|
||||
DataSet feladatellatasiHelyDataSet = dalHandler.FeladatEllatasiHelyDal().GetFeladatellatasiHelyDataSet(TanevId);
|
||||
|
||||
dropDownColumnSourceDictionary.Add(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNamePedagogusNeve, helper.GetTanarList());
|
||||
dropDownColumnSourceDictionary.Add(CommonResource.Feladatellatasihely, helper.GetFeladatellatasiHelyList(feladatellatasiHelyDataSet));
|
||||
dropDownColumnSourceDictionary.Add(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameMukodesiHely, helper.GetMukodesiHelyList(feladatellatasiHelyDataSet));
|
||||
dropDownColumnSourceDictionary.Add(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportHeaderNameEllatottKoznevelesiFeladat, helper.GetEllatottKoznevelesiFeladatList(feladatellatasiHelyDataSet));
|
||||
});
|
||||
|
||||
return dropDownColumnSourceDictionary;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue