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 ImportHeaderList => new Dictionary { { 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> importData, bool isSzakkepzoIntezmeny) { AlkalmazottMunkaugyiAdatokImportCo importCo = GetImportCoFromImportData(importData); importCo.ImportMuvelet = 1; SetNemImportalhatoSorokByValidation(importCo, isSzakkepzoIntezmeny); SetOperationAndNemImportalhatoSorokByOperation(importCo); var mainImportJsonItemList = new List(importCo.MainImportItemList.Select(x => new AlkalmazottMunkaugyiAdatokImportJsonItemCo(x, TanevId, IntezmenyId, FelhasznaloId))); importCo.MainImportJsonItemList = mainImportJsonItemList; ImportCo = importCo; } private static void SetNemImportalhatoSorokByValidation(AlkalmazottMunkaugyiAdatokImportCo importCo, bool isSzakkepzoIntezmeny) { Dictionary> 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 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 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> importData) { List 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 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 simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos(AlkalmazottMunkaugyiAdatokCo.AlkalmazottMunkaugyiAdatokExportAttributeId, dropDownColumnSourceDictionary); return SimpleExportLogic.GetTemplate(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportDefaultSheetName, simpleExportColumnCos); } #endregion Template #region Export public MemoryStream GetExport() { var dropDownColumnSourceDictionary = GetDefaultDropDownColumnSourceDictionary(); List coList = new AlkalmazottMunkaugyiAdatokHelper(ConnectionType).GetAlkalmazottMunkaugyiAdatokCoList().OrderBy(x => x.NevElotagNelkul).ToList(); List simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos(AlkalmazottMunkaugyiAdatokCo.AlkalmazottMunkaugyiAdatokExportAttributeId, dropDownColumnSourceDictionary); return SimpleExportLogic.GetExport(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportDefaultSheetName, simpleExportColumnCos, coList, TanevId); } public MemoryStream GetNemImportalhatoSorokExport() { var dropDownColumnSourceDictionary = GetDefaultDropDownColumnSourceDictionary(); List coList = ImportCo.NemImportalhatoItemList; List simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos(AlkalmazottMunkaugyiAdatokImportItemCo.NemImportalhatoSorokExportAttributeId, dropDownColumnSourceDictionary); return ImportExportHelper.NemImportalhatoSorokExport(ImportExportAlkalmazottMunkaugyiAdatokResource.ImportDefaultSheetName, simpleExportColumnCos, coList, TanevId); } #endregion Export public void Import(List 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 GetCompareHashImportItemCompareCoDictionary(List coList) { var compareHashImportItemCompareCoDictionary = new Dictionary(); 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> GetDefaultDropDownColumnSourceDictionary() { //NOTE: Create dropdown lists var logicalColumnDictionary = new Dictionary>(); var dropDownColumnSourceDictionary = new Dictionary>(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; } } }