using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.IO; using System.Linq; using System.Text; using Hangfire; using Kreta.BusinessLogic.Caching; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.Classes.ExcelHelpers; using Kreta.BusinessLogic.Exceptions; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.HelperClasses.ApaczaiProgramCOs; using Kreta.BusinessLogic.HelperClasses.OsztalyCsoportbaSorolas; using Kreta.BusinessLogic.Logic; using Kreta.BusinessLogic.Utils; using Kreta.Client.Eugyintezes.Configuration; using Kreta.Core; using Kreta.Core.ConnectionType; using Kreta.Core.Domain; using Kreta.Core.Exceptions; using Kreta.Core.FeatureToggle; using Kreta.DataAccess.Interfaces; using Kreta.DataAccessManual; using Kreta.DataAccessManual.Interfaces; using Kreta.DataAccessManual.ParameterClasses; using Kreta.DataAccessManual.Util; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Framework; using Kreta.Framework.Entities; using Kreta.Job.Tasks.Core; using Kreta.Resources; using Newtonsoft.Json; using OfficeOpenXml; using SDA.DataProvider; namespace Kreta.BusinessLogic.Helpers { public class TanuloHelper : LogicBase { public TanuloHelper(IConnectionType connectionType) : base(connectionType) { } public (int mentorId, string mentorName) GetMentorNameAndIdBytanuloId(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); var tanulo = dal.Get(tanuloId); return (tanulo.MentorId, tanulo.Mentor?.NyomtatasiNev ?? string.Empty); }); } public TanuloApaczaiMentorAdatokCO GetTanuloMentorAdatok(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); var tanulo = dal.Get(tanuloId); var co = new TanuloApaczaiMentorAdatokCO(); var tanulocsoportId = GetTanuloCsoportId(h, tanuloId, null, null, false); if (tanulocsoportId.IsEntityId()) { var tanuloCsoport = GetTanuloCsoportById(tanulocsoportId.Value); if (tanuloCsoport.OsztalyCsoportId.IsEntityId()) { var osztaly = h.Osztaly().Get(tanuloCsoport.OsztalyCsoportId); co.OsztalyNev = osztaly.Nev; co.EvfolyamNev = tanuloCsoport.TanuloEvfolyamTipusId.HasValue ? tanuloCsoport.TanuloEvfolyamTipusId.GetDisplayName(TanevId) : osztaly.EvfolyamTipusa.GetDisplayName(TanevId); } } co.EloTag = tanulo.Elotag; co.Vezeteknev = tanulo.Vezeteknev; co.Utonev = tanulo.Utonev; co.NyomtatsiNev = tanulo.NyomtatasiNev; co.OktatasiAzonosito = tanulo.OktatasiAzonosito; co.MentorId = tanulo.MentorId; co.MentorEloTag = tanulo.Mentor?.Elotag ?? string.Empty; co.MentorVezeteknev = tanulo.Mentor?.Vezeteknev ?? string.Empty; co.MentorUtonev = tanulo.Mentor?.Utonev; co.MentorNyomtatsiNev = tanulo.Mentor?.NyomtatasiNev; co.MentorTelefon = tanulo.Mentor?.Telefon.SingleOrDefault(x => x.Alapertelmezett && !x.Torolt)?.TelefonSzam ?? string.Empty; co.MentorEmail = tanulo.Mentor?.Email.SingleOrDefault(x => x.Alapertelmezett && !x.Torolt)?.EmailCim ?? string.Empty; co.MentorOktatasiAzonosito = tanulo.Mentor?.OktatasiAzonosito ?? string.Empty; return co; }); } public DataSet GetGondviselokAdataiByOktatasiAzonosito(string oktatasiAzonosito) { return Dal.CustomConnection.Run(ConnectionType, h => { return h.Tanulo().GetGondviselokAdataiByOktatasiAzonosito(oktatasiAzonosito); }); } public string GetUtkozoOsztalyok(int tanuloId, DateTime belepesDatum, int tanuloCsoportId, OktNevelesiKategoriaEnum? kategoria, bool withTanuloNev = false, int atsorolasOsztalyId = 0) { var datSet = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetUtkozoOsztalyok(tanuloId, belepesDatum, tanuloCsoportId, atsorolasOsztalyId, kategoria); }); var result = datSet.Tables[0].AsEnumerable().Select(dataRow => new { OsztalyCsoport = dataRow.Field("OsztalyCsoport"), BelepesDatuma = dataRow.Field("BelepesDatuma"), KilepesDatuma = dataRow.Field("KilepesDatuma"), TanuloNeve = dataRow.Field("TanuloNeve") }).ToList(); if (result.Count == 0) { return null; } var sb = new StringBuilder(BesorolasResource.MarVanOsztalybaSorolas); foreach (var r in result) { sb.Append(Constants.General.Sortores); if (withTanuloNev) { sb.AppendFormat(" {0} ", r.TanuloNeve); } sb.AppendFormat(BesorolasResource.MarVanOsztalybaSorolasFormat, r.OsztalyCsoport, r.BelepesDatuma.ToShortDateString(), r.KilepesDatuma.HasValue ? r.KilepesDatuma.ToShortDateString() : string.Empty); } return sb.ToString(); } public string GetUtkozoCsoportok(int tanuloId, DateTime belepesDatum, int tanuloCsoportId, OktNevelesiKategoriaEnum? kategoria, bool withTanuloNev = false, int atsorolasCsoportId = 0) { var datSet = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetUtkozoCsoportok(tanuloId, belepesDatum, tanuloCsoportId, atsorolasCsoportId, kategoria); }); var result = datSet.Tables[0].AsEnumerable().Select(dataRow => new { OsztalyCsoport = dataRow.Field("OsztalyCsoport"), BelepesDatuma = dataRow.Field("BelepesDatuma"), KilepesDatuma = dataRow.Field("KilepesDatuma"), TanuloNeve = dataRow.Field("TanuloNeve") }).ToList(); if (result.Count == 0) { return null; } var sb = new StringBuilder(BesorolasResource.MarVanCsoportbaSorolas).Append("
    "); foreach (var r in result) { sb.Append("
  • "); if (withTanuloNev) { sb.AppendFormat(" {0} ", r.TanuloNeve); } sb.AppendFormat(BesorolasResource.MarVanCsoportbaSorolasFormat, r.OsztalyCsoport, r.BelepesDatuma.ToShortDateString(), r.KilepesDatuma.HasValue ? r.KilepesDatuma.ToShortDateString() : string.Empty).Append("
  • "); } return sb.Append("
").ToString(); } public string GetDiakigazolvanyszamByTanulo(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); return dal.GetDiakigazolvanyszamByTanulo(tanuloId, TanevId); }); } public List GetTanulokByDiakigazolvanyszam(string diakigazolvanyszam) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); var ds = dal.GetTanulokByDiakigazolvanyszam(diakigazolvanyszam, TanevId); return ds.Tables[0].AsEnumerable().Select(dataRow => dataRow.Field("Nev")).ToList(); }); } public KirTanuloAlapadatok GetTanuloAlapadatok(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); return dal.GetTanuloAlapadatok(tanuloId, TanevId); }); } public DataSet GetIgazolasok(int tanuloId, int? feladatKategoriaId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetIgazolasok(tanuloId, feladatKategoriaId); }); } public DataSet GetJogviszonySzuneteltetes(int tanuloId, int? kategoria) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetJogviszonySzuneteltetes(tanuloId, kategoria); }); } public List GetTanuloOktatasiNevelesiFeladatIdList(int tanuloId, OktNevelesiKategoriaEnum? oktatasiNevelesiKategoria = null) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); return dal.GetTanuloOktatasiNevelesiFeladatIdList(IntezmenyId, TanevId, tanuloId, oktatasiNevelesiKategoria); }); } public DataSet GetFeljegyzesekHavi(int tanuloId, int osztalyId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetFeljegyzesekHavi(tanuloId, TanevId, osztalyId); }); } public DataSet GetMulasztasok(int tanuloId, int? feladatKategoriaId = null) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetMulasztasok(tanuloId, feladatKategoriaId); }); } public bool HasMulasztasokForTanuloInTanuloCsoport(int tanuloId, int tanuloCsoportId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.HasMulasztasokForTanuloInTanuloCsoport(tanuloId, tanuloCsoportId); }); } public DataSet GetErtekelesek(int tanuloId, int? feladatKategoriaId = null) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetErtekeles(tanuloId, feladatKategoriaId); }); } public bool HasErtekelesekForTanuloInTanuloCsoport(int tanuloId, int tanuloCsoportId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.HasErtekelesekForTanuloInTanuloCsoport(tanuloId, tanuloCsoportId); }); } public DataSet GetTanarokTantargyak(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetTantargyak(tanuloId); }); } public DataSet GetElozmenyek(int tanuloId, int? feladatKategoriaId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetHistoria(tanuloId, feladatKategoriaId); }); } public DataSet GetTanultTantargyak(int tanuloId, int? feladatKategoriaId = null, int? feladatellatasihelyId = null, int? tanarId = null, int? osztalyCsoportId = null, int? tantargyId = null, double? oraszam = null, DateTime? datum = null) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetTantargyFelosztasokByTanuloId(tanuloId, TanevId, tanarId, osztalyCsoportId, tantargyId, oraszam, datum, feladatellatasihelyId, feladatKategoriaId); }); } public DataSet GetOsztalyCsoport(int tanuloId, int? feladatKategoriaId, bool isAktiv = false, bool isFromSzervezet = false) { var ds = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.OsztalyCsoport(GridParameters); return dal.GetOsztalyCsoportok(TanevId, feladatKategoriaId, isAktiv, isFromSzervezet: isFromSzervezet, tanuloIds: new List { tanuloId }); }); foreach (DataRow dr in ds.Tables[0].Rows) { if (string.IsNullOrWhiteSpace(dr["CsoportTipus_DNAME"].ToString())) { dr["CsoportTipus_DNAME"] = Kreta.Framework.StringResourcesUtil.GetString(1427); //Iskolai osztály } } return ds; } public DataSet GetOrarendiOrak(int teacherId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetOrarend(teacherId); }); } public DataSet GetGondviselok(int tanuloId, bool isErrorColumn = false) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); var ds = dal.GetGondviselok(tanuloId, TanevId); if (isErrorColumn) { var oszlop = new DataColumn() { ColumnName = "Hibas", DataType = typeof(char), DefaultValue = 'F' }; ds.Tables[0].Columns.Add(oszlop); var duplicates = ds.Tables[0].AsEnumerable().GroupBy(x => new { Nev = x.Field("Nev"), RokonsagFoka = x.Field("RokonsagFoka") }).Where(c => c.Count() > 1).ToList(); var hibas = ds.Tables[0].AsEnumerable().Where(r => duplicates.Any(d => d.Key.Nev == r.Field("Nev") && d.Key.RokonsagFoka == r.Field("RokonsagFoka"))); foreach (var g in hibas) { g["Hibas"] = 'T'; } } return ds; }); } public List GetJogviszony(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); var dataSet = dal.GetJogviszonyByTanulo(tanuloId, TanevId, IntezmenyId); var result = new List(); foreach (DataRow dataRow in dataSet.Tables[0].Rows) { var item = new TanuloJogviszonyGridItemCo(dataRow); result.Add(item); } return result; }); } public List GetJogviszonyByTanuloIdsAndJogvTipusId(List tanuloIds) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); var dataSet = dal.GetJogviszonyByTanuloIds(tanuloIds, TanevId, IntezmenyId); var result = new List(); foreach (DataRow dataRow in dataSet.Tables[0].Rows) { var item = new TanuloJogviszonyGridItemCo(dataRow, true); result.Add(item); } return result; }); } public DataSet GetGondviseloCimek(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetGondviseloCimekByTanulo(tanuloId, TanevId); }); } public DataSet GetGondviseloCimekByGondviselo(int gondvId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetGondviseloCimekByGondviselo(gondvId); }); } public DataSet GetTelefonSzam(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Felhasznalo(GridParameters); return dal.GetUserTelefon(tanuloId); }); } public DataSet GetEmails(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Felhasznalo(GridParameters); return dal.GetUserEmailCim(tanuloId); }); } public DataSet GetCim(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Felhasznalo(GridParameters); return dal.GetUserCim(tanuloId); }); } public DataSet GetTanuloDataSetByOsztalyCsoportId( int osztalyCsoportId, int? feladatKategoriaId = null, string nev = null, string anyjaSzuletesiNev = null, string szuletesiHely = null, DateTime? szuletesiIdoTol = null, DateTime? szuletesiIdoIg = null, string oktatasiAzonosito = null, bool? tankotelezett = null, int? tanterv = null, int? feladatEllatasiHelyId = null) { return Dal.CustomConnection.Run(ConnectionType, h => { var tanevDal = h.TanevDal(); var data = tanevDal.Get(TanevId); var dal = h.Tanulo(GridParameters); return dal.GetTanuloDataSetByOsztalyCsoportId( osztalyCsoportId, feladatKategoriaId, nev, anyjaSzuletesiNev, szuletesiHely, szuletesiIdoTol, szuletesiIdoIg, oktatasiAzonosito, tankotelezett, tanterv, feladatEllatasiHelyId, DateTime.Now < data.ElsoTanitasiNap ? data.ElsoTanitasiNap.Value : DateTime.Now.Date ); }); } public DataSet GetKozossegiSzolgalat(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetKozossegiSzolgalat(tanuloId); }); } public DataSet GetGondviseloUtolsoBelepes(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetGondviseloUtolsoBelepes(tanuloId); }); } public DataSet GetNemBesoroltTanulok() { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetNemBesoroltTanulok(); }); } /// INFO Mobil használja public DataSet GetTanulokFelmentesei(IEnumerable tanuloIds, bool isFromSzervezet = false, int? tantargyId = null, int? dualisKepzesTantargyId = null) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetTanulokFelmentesei(tanuloIds, TanevId, isFromSzervezet, tantargyId, dualisKepzesTantargyId); }); } public DataSet TanuloKereses(TanuloKeresesCO keresoProfil) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.TanuloKereses(ConvertCOToPCO(keresoProfil)); }); } public List GetTanuloItemCoList(TanuloKeresesCO searchModel) { var dataSet = TanuloKereses(searchModel); var result = new List(); foreach (DataRow dataRow in dataSet.Tables[0].Rows) { var item = new TanuloGridItemCo(dataRow, searchModel.IsFromSzervezet); result.Add(item); } result = TanuloGridFilter(result, searchModel); return result; } private List TanuloGridFilter(List tanuloGridItemCos, TanuloKeresesCO searchModel) { if (searchModel.IsHibasanRogzitettOktatasiAzonositok) { foreach (var tanuloGridItemCo in tanuloGridItemCos) { tanuloGridItemCo.IsHibasanRogzitettOktatasiAzonosito = !Extensions.FelhasznaloExtensions.IsValidOktatasiAzonosito(tanuloGridItemCo.OktatasiAzonosito); } tanuloGridItemCos = tanuloGridItemCos.Where(x => x.IsHibasanRogzitettOktatasiAzonosito).ToList(); } if (searchModel.IsHibasanRogzitettTajSzamok) { foreach (var tanuloGridItemCo in tanuloGridItemCos) { tanuloGridItemCo.IsHibasanRogzitettTajSzam = !Extensions.FelhasznaloExtensions.IsValidTajSzam(tanuloGridItemCo.TajSzam, isNullValid: true); } tanuloGridItemCos = tanuloGridItemCos.Where(x => x.IsHibasanRogzitettTajSzam).ToList(); } if (searchModel.IsHibasanRogzitettAdoazonositoJelek) { foreach (var tanuloGridItemCo in tanuloGridItemCos) { tanuloGridItemCo.IsHibasanRogzitettAdoazonositoJel = !Extensions.FelhasznaloExtensions.IsValidAdoazonositoJel(tanuloGridItemCo.AdoazonositoJel, tanuloGridItemCo.SzuletesiIdo, isNullValid: true); } tanuloGridItemCos = tanuloGridItemCos.Where(x => x.IsHibasanRogzitettAdoazonositoJel).ToList(); } return tanuloGridItemCos; } public List GetSzakkepzesiOsztondijCoList(TanuloSzakkepzesiOsztondijakKeresesCO keresoProfil) { var coList = GetSzakkepzesiJuttatasCoList(keresoProfil); IEnumerable ret; ret = coList; if (keresoProfil.SzuletesiIdejeTol.HasValue) { ret = ret.Where(x => x.SzuletesiIdeje >= keresoProfil.SzuletesiIdejeTol); } if (keresoProfil.SzuletesiIdejeIg.HasValue) { ret = ret.Where(x => x.SzuletesiIdeje <= keresoProfil.SzuletesiIdejeIg); } return ret.ToList(); } public List GetEgyszeriPalyakezdesiJuttatasCoList(TanuloEgyszeriPalyakezdesiJuttatasKeresesCO keresoProfil) { var coList = GetSzakkepzesiJuttatasCoList(keresoProfil); IEnumerable ret; ret = coList; if (keresoProfil.SzakmaiVizsgaEredmenyeTol.HasValue) { ret = ret.Where(x => x.SzakmaiVizsgaEredmenye >= keresoProfil.SzakmaiVizsgaEredmenyeTol); } if (keresoProfil.SzakmaiVizsgaEredmenyeIg.HasValue) { ret = ret.Where(x => x.SzakmaiVizsgaEredmenye <= keresoProfil.SzakmaiVizsgaEredmenyeIg); } return ret.ToList(); } public List GetApaczaiTanuloiListaCoList(TanuloiListaSearchCo keresoProfil) { var coList = GetSzakkepzesiJuttatasCoList(keresoProfil); IEnumerable ret; ret = coList; return ret.ToList(); } private List GetSzakkepzesiJuttatasCoList(TanuloJuttatasKeresesCO keresoProfil) where T : IItemCoMustFill, new() where TU : System.Enum { var coList = new List(); var ds = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetSzakkepzesiJuttatasokTanulok(ConvertSzakkepzesiJuttatasokCOToPCO(h, keresoProfil)); }); ds.Tables[0].Columns.Add("NemJogosultsagOka_STR", typeof(string)); foreach (var row in ds.Tables[0].AsEnumerable()) { var lista = GetNemJogosultsagOkaList(row.Field("NemJogosultsagOka")).Select(x => "
  • " + x + "
  • ").ToList(); lista.Insert(0, "
      "); lista.Add("
    "); row["NemJogosultsagOka_STR"] = string.Join(Environment.NewLine, lista); var t = new T(); t.Fill(row, TanevId); coList.Add(t); } return coList; } #region Export #region Tanulók public MemoryStream GetTanuloExportBesorolashoz(TanuloKeresesCO co) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.Tanulo(); var dataSet = dal.TanuloKereses(ConvertCOToPCO(co)); var dataTable = dataSet.DataSetSort("TanuloNeve").Tables[0]; ExportLogic.TryCreateHeaderIfNotExist(dataTable); var stream = new MemoryStream(); using (var excel = new ExcelPackage(stream)) { var workSheet = excel.Workbook.Worksheets.Add(TanuloResource.ExportalasBesorolashoz); (string nameFrom, string nameTo, Type type)[] map = new[] { ("TanuloNeve", ImportExportTanuloBesorolasResource.ImportHeaderNameTanuloNeve, typeof(string)), ("OktatasiAzonosito", ImportExportTanuloBesorolasResource.ImportHeaderNameTanuloOktatasiAzonosito, typeof(string)), ("Osztaly", ImportExportTanuloBesorolasResource.ImportHeaderNameOsztalyCsoport, typeof(string)) }; workSheet.Cells[1, 1].LoadFromDataTable(ExportLogic.MapDataTable(dataTable, map), PrintHeaders: true); ExportLogic.SetHeaderStyles(workSheet.Cells[1, 1, 1, map.Length]); workSheet.Cells.AutoFitColumns(); excel.Save(); } stream.Position = 0; return stream; }); } public DataSet GetTanulokLakcimmelExport(TanuloKeresesCO co, bool isShowId = false) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.Tanulo(); return dal.GetTanulokLakcimmel(IntezmenyId, TanevId, ConvertCOToPCO(co), isShowId); }); } public MemoryStream GetTanulokLakcimmelExcelExport(TanuloKeresesCO co) { var dataSet = GetTanulokLakcimmelExport(co); var dataTable = dataSet.Tables[0]; ExportLogic.TryCreateHeaderIfNotExist(dataTable); var stream = new MemoryStream(); using (var excel = new ExcelPackage(stream)) { var workSheet = excel.Workbook.Worksheets.Add(TanuloResource.TanulokElerhetosegei); workSheet.Cells[1, 1].LoadFromDataTable(dataTable, PrintHeaders: true); ExportLogic.SetHeaderStyles(workSheet.Cells[1, 1, 1, dataTable.Columns.Count]); workSheet.Cells.Style.Numberformat.Format = "@"; workSheet.Cells.AutoFitColumns(); workSheet.Cells.Style.WrapText = true; workSheet.Row(1).Height = 15.0; workSheet.Cells.Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; workSheet.Cells.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center; excel.Save(); } stream.Position = 0; return stream; } public MemoryStream GetTanulokTanugyiAdataiExcelExport(TanuloKeresesCO co, bool isSelectedTanev20_21OrLater, bool isSzakkepzoIntezmeny, bool isSelectedTanev21_22OrLater) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.Tanulo(); var tanevDal = h.TanevDal(); var tanevData = tanevDal.Get(TanevId); var datum = tanevData.KezdoNap.Value > DateTime.Now ? tanevData.KezdoNap.Value : (tanevData.Aktiv.HasValue && tanevData.Aktiv.Value) ? DateTime.Now : co.LekerdezesNapja; var dataSet = dal.GetTanulokTanugyiAdatai(TanevId, ConvertCOToPCO(co), datum); var dataTable = dataSet.Tables[0]; ExportLogic.TryCreateHeaderIfNotExist(dataTable); ChangeExportMagantanuloAliasIfSelectedTanev20_21OrLater(dataTable, isSelectedTanev20_21OrLater); if (!isSelectedTanev20_21OrLater) { dataTable.Columns.Remove(TanuloResource.EgyeniMunkarendVege); dataTable.Columns.Remove(TanuloResource.AgazatiAlapvizsgaEredmenyeSzazalek); } else if (!isSzakkepzoIntezmeny) { dataTable.Columns.Remove(TanuloResource.AgazatiAlapvizsgaEredmenyeSzazalek); } if (isSelectedTanev21_22OrLater && isSzakkepzoIntezmeny) { dataTable.Columns[TanuloResource.JogviszonyVarhatoBefejezese].ColumnName = TanuloResource.JogviszonyMegszunenesekVarhatoDatuma; } if (!isSelectedTanev21_22OrLater) { dataTable.Columns.Remove(TanuloResource.KiemeltenTehetseges); dataTable.Columns.Remove(TanuloResource.SzamitogepetOktatasiCellalHasznal); dataTable.Columns.Remove(TanuloResource.SzabokyAdolfSzakkepzesiOsztondijbanReszesul); dataTable.Columns.Remove(TanuloResource.EgeszNaposIskolaiOktatasbanReszesul); } if (!isSelectedTanev21_22OrLater || !isSzakkepzoIntezmeny) { dataTable.Columns.Remove(TanuloResource.TanterviJelleg); } if (!isSelectedTanev21_22OrLater) { dataTable.Columns.Remove(TanuloResource.AgazatUjSzktReszszakmahoz); dataTable.Columns.Remove(TanuloResource.SzakmaReszszakmahoz); dataTable.Columns.Remove(TanuloResource.Reszszakma); } if (co.FeladatKategoriaId != (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas) { dataTable.Columns.Remove(TanuloResource.MuveszetiAg); dataTable.Columns.Remove(TanuloResource.Tanszak); dataTable.Columns.Remove(TanuloResource.Mufaj); } LetoltottAdatokVizsgalataEsModositasaExportElott(dataTable); var stream = new MemoryStream(); using (var excel = new ExcelPackage(stream)) { var workSheet = excel.Workbook.Worksheets.Add(co.FeladatKategoriaId == (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas ? TanuloResource.NovendekekTanugyiAdatai : TanuloResource.TanulokTanugyiAdatai); workSheet.Cells[1, 1].LoadFromDataTable(dataTable, true); ExportLogic.SetHeaderStyles(workSheet.Cells[1, 1, 1, dataTable.Columns.Count]); workSheet.Cells.AutoFitColumns(); excel.Save(); } stream.Position = 0; return stream; }); } public MemoryStream GetTanulokTantargyaiEsPedagogusaiExcelExport(TanuloKeresesCO co, OktNevelesiKategoriaEnum feladatKategoria) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.Tanulo(); var dataSet = dal.GetTanulokTantargyaiEsPedagogusaiExcelExport(TanevId, ConvertCOToPCO(co)); var dataTable = dataSet.Tables[0]; ExportLogic.TryCreateHeaderIfNotExist(dataTable); var stream = new MemoryStream(); using (var excel = new ExcelPackage(stream)) { var workSheet = excel.Workbook.Worksheets.Add(feladatKategoria == OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas ? TanuloResource.NovendekekTantargyaiEsPedagogusai : TanuloResource.TanulokTantargyaiEsPedagogusai); workSheet.Cells[1, 1].LoadFromDataTable(dataTable, true); ExportLogic.SetHeaderStyles(workSheet.Cells[1, 1, 1, dataTable.Columns.Count]); workSheet.Cells.AutoFitColumns(); excel.Save(); } stream.Position = 0; return stream; }); } public DataSet GetGondviselokElerhetosegeiExport(TanuloKeresesCO co, OktNevelesiKategoriaEnum feladatKategoria, bool isShowId = false) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.Tanulo(); var dataSet = dal.GetGondviselokElerhetosegei(TanevId, ConvertCOToPCO(co), isShowId); var dataTable = dataSet.Tables[0]; dataTable.Columns["Elotag"].ColumnName = TanuloResource.Elotag; dataTable.Columns["Vezeteknev"].ColumnName = feladatKategoria == OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas ? TanuloResource.NovendekVezetekneve : TanuloResource.TanuloVezetekneve; dataTable.Columns["Utonev"].ColumnName = feladatKategoria == OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas ? TanuloResource.NovendekUtoneve : TanuloResource.TanuloUtoneve; dataTable.Columns["OsztalyOk"].ColumnName = TanuloResource.Osztalyok; dataTable.Columns["GondvNev"].ColumnName = TanuloResource.GondviseloNeve; dataTable.Columns["RokFok"].ColumnName = TanuloResource.RokonsagFoka; dataTable.Columns["OktAzon"].ColumnName = TanuloResource.OktatasiAzonosito; dataTable.Columns["TanuloAnyjaNev"].ColumnName = feladatKategoria == OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas ? TanuloResource.NovendekAnyjaNeve : TanuloResource.TanuloAnyjaNeve; dataTable.Columns["TanuloSzulHely"].ColumnName = feladatKategoria == OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas ? TanuloResource.NovendekSzuletesiHelye : TanuloResource.TanuloSzuletesiHelye; dataTable.Columns["TanuloSzulDatum"].ColumnName = feladatKategoria == OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas ? TanuloResource.NovendekSzuletesiDatuma : TanuloResource.TanuloSzuletesiDatuma; dataTable.Columns["Telefon"].ColumnName = TanuloResource.Telefon; dataTable.Columns["Email"].ColumnName = TanuloResource.EmailCim; dataTable.Columns["Cim"].ColumnName = TanuloResource.Cim; dataTable.Columns["All_orsz"].ColumnName = TanuloResource.AllandoLakcimOrszag; dataTable.Columns["All_irsz"].ColumnName = TanuloResource.AllandoLakcimIranyitoszam; dataTable.Columns["All_varos"].ColumnName = TanuloResource.AllandoLakcimVaros; dataTable.Columns["All_ktnev"].ColumnName = TanuloResource.AllandoLakcimKozteruletNeve; dataTable.Columns["All_ktjell"].ColumnName = TanuloResource.AllandoLakcimKozteruletJellege; dataTable.Columns["All_hazszam"].ColumnName = TanuloResource.AllandoLakcimHazszam; dataTable.Columns["All_emelet"].ColumnName = TanuloResource.AllandoLakcimEmelet; dataTable.Columns["All_ajto"].ColumnName = TanuloResource.AllandoLakcimAjto; dataTable.Columns["Ide_orsz"].ColumnName = TanuloResource.IdeiglenesLakcimOrszag; dataTable.Columns["Ide_irsz"].ColumnName = TanuloResource.IdeiglenesLakcimIranyitoszam; dataTable.Columns["Ide_varos"].ColumnName = TanuloResource.IdeiglenesLakcimVaros; dataTable.Columns["Ide_ktnev"].ColumnName = TanuloResource.IdeiglenesLakcimKozteruletNeve; dataTable.Columns["Ide_ktjell"].ColumnName = TanuloResource.IdeiglenesLakcimKozteruletJellege; dataTable.Columns["Ide_hazszam"].ColumnName = TanuloResource.IdeiglenesLakcimHazszam; dataTable.Columns["Ide_emelet"].ColumnName = TanuloResource.IdeiglenesLakcimEmelet; dataTable.Columns["Ide_ajto"].ColumnName = TanuloResource.IdeiglenesLakcimAjto; dataTable.Columns["Tart_orsz"].ColumnName = TanuloResource.TartozkodasiHelyOrszag; dataTable.Columns["Tart_irsz"].ColumnName = TanuloResource.TartozkodasiHelyIranyitoszam; dataTable.Columns["Tart_varos"].ColumnName = TanuloResource.TartozkodasiHelyVaros; dataTable.Columns["Tart_ktnev"].ColumnName = TanuloResource.TartozkodasiHelyKozteruletNeve; dataTable.Columns["Tart_ktjell"].ColumnName = TanuloResource.TartozkodasiHelyKozteruletJellege; dataTable.Columns["Tart_hazszam"].ColumnName = TanuloResource.TartozkodasiHelyHazszam; dataTable.Columns["Tart_emelet"].ColumnName = TanuloResource.TartozkodasiHelyEmelet; dataTable.Columns["Tart_ajto"].ColumnName = TanuloResource.TartozkodasiHelyAjto; dataTable.Columns["Na_orsz"].ColumnName = TanuloResource.IsmeretlenLakcimOrszag; dataTable.Columns["Na_irsz"].ColumnName = TanuloResource.IsmeretlenLakcimIranyitoszam; dataTable.Columns["Na_varos"].ColumnName = TanuloResource.IsmeretlenLakcimVaros; dataTable.Columns["Na_ktnev"].ColumnName = TanuloResource.IsmeretlenLakcimKozteruletNeve; dataTable.Columns["Na_ktjell"].ColumnName = TanuloResource.IsmeretlenLakcimKozteruletJellege; dataTable.Columns["Na_hazszam"].ColumnName = TanuloResource.IsmeretlenLakcimHazszam; dataTable.Columns["Na_emelet"].ColumnName = TanuloResource.IsmeretlenLakcimEmelet; dataTable.Columns["Na_ajto"].ColumnName = TanuloResource.IsmeretlenLakcimAjto; return dataSet; }); } public MemoryStream GetGondviselokElerhetosegeiExcelExport(TanuloKeresesCO co, OktNevelesiKategoriaEnum feladatKategoria) { var dataTable = GetGondviselokElerhetosegeiExport(co, feladatKategoria).Tables[0]; ExportLogic.TryCreateHeaderIfNotExist(dataTable); var stream = new MemoryStream(); using (var excel = new ExcelPackage(stream)) { var workSheet = excel.Workbook.Worksheets.Add(TanuloResource.GondviselokElerhetosegei); workSheet.Cells[1, 1].LoadFromDataTable(dataTable, PrintHeaders: true); ExportLogic.SetHeaderStyles(workSheet.Cells[1, 1, 1, dataTable.Columns.Count]); workSheet.Cells.AutoFitColumns(); excel.Save(); } stream.Position = 0; return stream; } public MemoryStream GetTanuloKirStatExport(TanuloKeresesCO co, bool isSelectedTanev20_21OrLater) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.Tanulo(); var dataSet = dal.GetTanuloKirStatExport(TanevId, ConvertCOToPCO(co)); var dataTable = dataSet.Tables[0]; ExportLogic.TryCreateHeaderIfNotExist(dataTable); ChangeExportMagantanuloAliasIfSelectedTanev20_21OrLater(dataTable, isSelectedTanev20_21OrLater); var stream = new MemoryStream(); using (var excel = new ExcelPackage(stream)) { var workSheet = excel.Workbook.Worksheets.Add(co.ForOktober ? TanuloResource.TanuloKirStatAdatok : TanuloResource.TanuloKirStatTeljesAdatok); var columnNumber = 1; foreach (DataColumn column in dataTable.Columns) { if (column.DataType == typeof(DateTime)) { workSheet.Column(columnNumber).Style.Numberformat.Format = "yyyy.MM.dd"; } columnNumber++; } workSheet.Cells[1, 1].LoadFromDataTable(dataTable, true); ExportLogic.SetHeaderStyles(workSheet.Cells[1, 1, 1, dataTable.Columns.Count]); workSheet.Cells.AutoFitColumns(); excel.Save(); } stream.Position = 0; return stream; }); } public MemoryStream TanuloSzirBeallitasokExport(TanuloKeresesCO co) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.Tanulo(); var coList = GetTanuloItemCoList(co); var dataSet = dal.GetTanuloSzirBeallitasokExport(TanevId, IntezmenyId, coList.Select(x => x.TanuloId).ToList()); var dataTable = dataSet.Tables[0]; var exportFile = new ExcelExportItem { SheetCaption = TanuloResource.TanulokSzirBeallitasAdatai, }; var columnIndex = 0; exportFile.AddColumn(columnIndex++, TanuloResource.Elotag); exportFile.AddColumn(columnIndex++, TanuloResource.Vezeteknev); exportFile.AddColumn(columnIndex++, TanuloResource.UtoNev); exportFile.AddColumn(columnIndex++, TanuloResource.OktatasiAzonosito); exportFile.AddColumn(columnIndex++, TanuloResource.KuldhetoErettsegiSzRnek); exportFile.AddColumn(columnIndex++, TanuloResource.KuldhetoMeresiSzRnek); exportFile.AddColumn(columnIndex++, TanuloResource.KuldhetoKozepFelveteliSzRnek); exportFile.AddColumn(columnIndex++, TanuloResource.DiakigazolvanyAtadhatoSzRnek); var rowIndex = 2; foreach (var item in dataTable.AsEnumerable()) { columnIndex = 0; exportFile.AddCell(rowIndex, columnIndex++, item.Field(nameof(TanuloResource.Elotag))); exportFile.AddCell(rowIndex, columnIndex++, item.Field(nameof(TanuloResource.Vezeteknev))); exportFile.AddCell(rowIndex, columnIndex++, item.Field(nameof(TanuloResource.UtoNev))); exportFile.AddCell(rowIndex, columnIndex++, item.Field(nameof(TanuloResource.OktatasiAzonosito))); exportFile.AddCell(rowIndex, columnIndex++, item.Field($"{nameof(TanuloResource.KuldhetoErettsegiSzRnek)}_BNAME")); exportFile.AddCell(rowIndex, columnIndex++, item.Field($"{nameof(TanuloResource.KuldhetoMeresiSzRnek)}_BNAME")); exportFile.AddCell(rowIndex, columnIndex++, item.Field($"{nameof(TanuloResource.KuldhetoKozepFelveteliSzRnek)}_BNAME")); exportFile.AddCell(rowIndex, columnIndex++, item.Field($"{nameof(TanuloResource.DiakigazolvanyAtadhatoSzRnek)}_BNAME")); rowIndex++; } return new ExcelExportManager().CreateExcelExport(new List { exportFile }); }); } private void ChangeExportMagantanuloAliasIfSelectedTanev20_21OrLater(DataTable dataTable, bool isSelectedTanev20_21OrLater) { if (isSelectedTanev20_21OrLater) { dataTable.Columns[TanuloResource.Magantanulo].ColumnName = TanuloResource.EgyeniMunkarend; dataTable.Columns[TanuloResource.MagantanulosagOka].ColumnName = TanuloResource.EgyeniMunkarendOka; dataTable.Columns[TanuloResource.MagantanulosagKezdete].ColumnName = TanuloResource.EgyeniMunkarendKezdete; } } #endregion #region Besorolások public MemoryStream GetBesorolasOsztalyokExport(BesorolasSearchCO co, bool isKiirt) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); var pco = co.ConvertToPco(TanevId, isKiirt); pco.IsExport = true; var dt = dal.GetTanulokEsOsztalyokCsoportokGrid(pco).Tables[0]; var exportColumns = new List<(string fromColumn, string toColumn, Type type)> { ("Tanev", OsztalyCsoportResource.Tanev, typeof(string)), ("OsztalyNev", OsztalyCsoportResource.OsztalyNeve, typeof(string)), ("TanuloNev", co.OktNevFelKategoriaId == OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas ? TanuloResource.NovendekNeve : OsztalyCsoportResource.TanuloNeve, typeof(string)), ("BelepesDatum", OsztalyCsoportResource.BelepesDatuma, typeof(DateTime)), ("KilepesDatum", OsztalyCsoportResource.KilepesDatuma, typeof(DateTime)), ("ZaradekokSzama", OsztalyCsoportResource.ZaradekokSzama, typeof(int)), ("NaploSorszam", OsztalyCsoportResource.NaploSorszama, typeof(int)), ("TorzslapSzam", OsztalyCsoportResource.Torzslapszam, typeof(string)), ("KilepesRogzitesDatum", OsztalyCsoportResource.KileptetesDatuma, typeof(DateTime)), ("UtolsoModositas", OsztalyCsoportResource.UtolsoModositas, typeof(DateTime)), }; if (co.OktNevFelKategoriaId is null) { var p = exportColumns.IndexOf(("ZaradekokSzama", OsztalyCsoportResource.ZaradekokSzama, typeof(int))); exportColumns.Insert(p + 1, ("Vegzaradek", OsztalyCsoportResource.Vegzaradek, typeof(string))); } ExportLogic.MapDataTable(dt, exportColumns.ToArray(), true); ExportLogic.TryCreateHeaderIfNotExist(dt); var stream = new MemoryStream(); using (var excel = new ExcelPackage(stream)) { var workSheet = excel.Workbook.Worksheets.Add(TanuloResource.ExportalasBesorolashoz); workSheet.Cells[1, 1].LoadFromDataTable(dt, true); ExportLogic.FormatDateFields(exportColumns.ToArray(), workSheet); ExportLogic.SetHeaderStyles(workSheet.Cells[1, 1, 1, exportColumns.Count]); workSheet.Cells.AutoFitColumns(); excel.Save(); } stream.Position = 0; return stream; }); } public MemoryStream GetBesorolasCsoportokExport(BesorolasSearchCO co, bool isKiirt) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); var pco = co.ConvertToPco(TanevId, isKiirt); pco.IsExport = true; var dt = dal.GetTanulokEsOsztalyokCsoportokGrid(pco, isCsoport: true).Tables[0]; var exportColumns = new List<(string fromColumn, string toColumn, Type type)> { ("Tanev", OsztalyCsoportResource.Tanev, typeof(string)), ("CsoportNev", OsztalyCsoportResource.CsoportNeve, typeof(string)), ("TanuloNev", co.OktNevFelKategoriaId == OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas ? TanuloResource.NovendekNeve : OsztalyCsoportResource.TanuloNeve, typeof(string)), ("TanuloOsztalyai", OsztalyCsoportResource.TanuloOsztalyai, typeof(string)), ("BelepesDatum", OsztalyCsoportResource.BelepesDatuma, typeof(DateTime)), ("KilepesDatum", OsztalyCsoportResource.KilepesDatuma, typeof(DateTime)), ("ZaradekokSzama", OsztalyCsoportResource.ZaradekokSzama, typeof(int)), ("NaploSorszam", OsztalyCsoportResource.NaploSorszama, typeof(int)), ("TorzslapSzam", OsztalyCsoportResource.Torzslapszam, typeof(int)), ("KilepesRogzitesDatum", OsztalyCsoportResource.KileptetesDatuma, typeof(DateTime)), ("UtolsoModositas", OsztalyCsoportResource.UtolsoModositas, typeof(DateTime)), }; if (co.OktNevFelKategoriaId is null) { var p = exportColumns.IndexOf(("ZaradekokSzama", OsztalyCsoportResource.ZaradekokSzama, typeof(int))); exportColumns.Insert(p + 1, ("Vegzaradek", OsztalyCsoportResource.Vegzaradek, typeof(string))); } ExportLogic.MapDataTable(dt, exportColumns.ToArray(), true); ExportLogic.TryCreateHeaderIfNotExist(dt); var stream = new MemoryStream(); using (var excel = new ExcelPackage(stream)) { var workSheet = excel.Workbook.Worksheets.Add(TanuloResource.ExportalasBesorolashoz); workSheet.Cells[1, 1].LoadFromDataTable(dt, true); ExportLogic.FormatDateFields(exportColumns.ToArray(), workSheet); ExportLogic.SetHeaderStyles(workSheet.Cells[1, 1, 1, exportColumns.Count]); workSheet.Cells.AutoFitColumns(); excel.Save(); } stream.Position = 0; return stream; }); } #endregion #endregion public IDictionary GetTanulokGondviseloiDDL(int tanuloId) { var ds = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetTanulokGondviseloiDDL(tanuloId); }); return LogicUtil.CreateDropdownContent(ds, "ID", "Nev", StringResourcesUtil.GetString(364)); } public IDictionary GetTanulokDDL(int? szervezetTipusEnumId = null, int? felhasznaloId = null) { var dataSet = Dal.CustomConnection.Run(ConnectionType, h => h.Tanulo(GridParameters).GetTanulokForDDL()); if (szervezetTipusEnumId.IsEntityId() && felhasznaloId.IsEntityId()) { var szervezetHelper = new SzervezetHelper(ConnectionType); var alkalmazottSzervezetId = szervezetHelper.GetAlkalmazottSzervezetId(felhasznaloId.Value); var lathatoSzervezetIdList = szervezetHelper.GetLathatoSzervezetIdList(alkalmazottSzervezetId, SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek); dataSet.Tables[0].Rows.Cast().Where(dataRow => { var szervezetId = SDAConvert.ToNullableInt32(dataRow["SzervezetId"]); if (szervezetId.IsEntityId()) { return !lathatoSzervezetIdList.Contains(szervezetId.Value); } return true; }).ToList().ForEach(r => r.Delete()); dataSet.AcceptChanges(); } return LogicUtil.CreateDropdownContent(dataSet, "ID", "TanuloNeve", null, false); } public IDictionary GetTanuloElerhetosegekTel(int tanuloId) { var ds = Dal.CustomConnection.Run(ConnectionType, h => h.Tanulo(GridParameters).GetTanuloElerhetosegekTel(tanuloId, TanevId)); return LogicUtil.CreateDropdownContent(ds, "Id", "Text"); } public IDictionary GetTanuloElerhetosegekEmail(int tanuloId) { var ds = Dal.CustomConnection.Run(ConnectionType, h => h.Tanulo(GridParameters).GetTanuloElerhetosegekEmail(tanuloId, TanevId)); return LogicUtil.CreateDropdownContent(ds, "Id", "Text"); } public IDictionary GetTanulokByOsztalyfonokForDDL(int ofoId) { var ds = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); return dal.GetTanulokByOsztalyfonokForDDL(ofoId); }); return LogicUtil.CreateDropdownContent(ds, "ID", "Nev", null, false); } public IDictionary GetTanuloAktivOsztalyai(int tanuloId) { var ds = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); return dal.GetTanuloOsztaly(tanuloId, feladatKategoria: null); }); return LogicUtil.CreateDropdownContent(ds, "ID", "OsztalyNev", null, false); } private TanuloAdatCO GetTanuloiAdatok(IDalHandler h, int tanuloId, int? kovTanevId, bool isSelectedTanev20_21OrLater, bool isSelectedTanev21_22OrLater, int? osztalycsoportId = null, int? feladatKategoriaId = null, bool isSelectedTanevIsElozo = false) { var dal = h.Tanulo(); var dto = dal.Get(tanuloId); var co = ConvertDtoToCo(dto); if (feladatKategoriaId != (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas) { co.KozossegiSzolgalatOsszesOraszam = dal.GetKozossegiSzolgalatOsszesOraszam(IntezmenyId, tanuloId); } var connectionType = new DalHandlerConnectionType(ConnectionType, h); var intezmenyAdatok = new IntezmenyHelper(connectionType).GetIntezmenyiAdatok(); var feladatEllatasiHelyHelper = new FeladatEllatasiHelyHelper(connectionType); if (osztalycsoportId.IsEntityId()) { var osztalyJellemzok = feladatEllatasiHelyHelper.GetOsztalyJellemzoi(osztalyId: osztalycsoportId); var isSzakkepzeses = osztalyJellemzok[OsztalyJellemzoEnum.IsSzakkepzeses]; var isNKTSzakkepzeses = isSelectedTanev20_21OrLater && osztalyJellemzok[OsztalyJellemzoEnum.IsNKTSzakkepzeses]; co.IsNKTSzakkepzeses = isNKTSzakkepzeses; co.IsAltalanosIskolaFeladatEllatasiHely = IsAllOsztalyAltalanosIskolaFeladatellatasiHely(new List { osztalycsoportId.Value }); } var tanuloCsoport = GetTanuloCsoport(h, tanuloId, osztalycsoportId, kovTanevId, false, isSelectedTanevIsElozo); co.Zaradek = new SorolasZaradek { TanuloCsoportId = tanuloCsoport.ID }; co.KifirAlapjanImportalt = dto.IsKifirImportalt; if (intezmenyAdatok.IsSzakkepzoJuttatas || (intezmenyAdatok.IsSzakkepzo && isSelectedTanev21_22OrLater)) { co.Jogviszony = tanuloCsoport.JogviszonyTipusId; } if (tanuloCsoport.OsztalyCsoportId.IsEntityId()) { var osztaly = h.Osztaly().Get(tanuloCsoport.OsztalyCsoportId); List osszevontEvfolyamTipusIds = EnumExtensions.GetEvfolyamTipusDictionaryItems(TanevId, true).Select(x => x.Id).ToList(); bool isOsszevontEvfolyamTipus = osszevontEvfolyamTipusIds.Any(x => x == osztaly?.EvfolyamTipusa); if (isOsszevontEvfolyamTipus) { co.IsOsszevontOsztaly = true; } co.KeresztfelevesOsztalyTagja = osztaly?.Keresztfeleves ?? false; co.OsztalyEvfolyamTipus = osztaly?.EvfolyamTipusa; co.IsTechnikaOsztaly = osztaly?.IsTechnikai ?? false; var tanuloTanugyiAdatok = h.TanuloCsoport().Get(tanuloCsoport.ID.Value).TanuloTanugyiAdatok; co.OsztalyNev = osztaly.Nev; co.EvfolyamNev = tanuloCsoport.TanuloEvfolyamTipusId.HasValue ? tanuloCsoport.TanuloEvfolyamTipusId.GetDisplayName(TanevId) : osztaly.EvfolyamTipusa.GetDisplayName(TanevId); co.OsztalyfonokNev = osztaly.OsztalyFonokId > 0 ? osztaly.OsztalyFonok.NyomtatasiNev : string.Empty; co.TeremNev = osztaly.Terem != null ? osztaly.Terem.Nev : string.Empty; co.TantervId = tanuloTanugyiAdatok.TantervId; co.Tanterv = tanuloTanugyiAdatok.Tanterv.Nev; co.TanuloEvfolyamTipus = tanuloTanugyiAdatok.TanuloEvfolyamTipusId; co.NaploSorszam = tanuloTanugyiAdatok.NaploSorszam; co.BizonyitvanySorszama = tanuloTanugyiAdatok.BizonyitvanySzama; co.NyilvantartasiSzam = tanuloTanugyiAdatok.TorzslapSzam; co.BeirasiSorszam = tanuloTanugyiAdatok.BeirasiNaploSorszam; co.FelvetelTaneveId = tanuloTanugyiAdatok.FelvetelTaneveId; co.FelvetelTaneve = tanuloTanugyiAdatok.FelvetelTaneve.Nev; co.TechnikusiEvfolyam = tanuloTanugyiAdatok.TechnikusiEvfolyam; co.NyilvantartastartasKezdete = tanuloTanugyiAdatok.NyilvantartasKezdete; co.JogviszonyBefejezese = tanuloTanugyiAdatok.JogviszonyVarhatoBefejezese; co.JogviszonySzuneteltetese = tanuloTanugyiAdatok.JogviszonyatSzunetelteto; co.TankotelezettsegetTeljesito = tanuloTanugyiAdatok.Tankotelezett; co.TankotelezettsegVege = tanuloTanugyiAdatok.TankotelezettsegVege; co.Bejaro = tanuloTanugyiAdatok.Bejaro; co.IsESL16EvesUtanBelepett = tanuloTanugyiAdatok.IsESL16EvesUtanBelepett; co.SzakmaiGyakorlaton = tanuloTanugyiAdatok.SzakmaiGyakorlaton; co.Magantanulo = tanuloTanugyiAdatok.Magantanulo; co.MagantanulosagKezdete = tanuloTanugyiAdatok.MagantanulosagKezdete; co.MagantanulosagVege = tanuloTanugyiAdatok.MagantanulosagVege; co.MagantanulosagOka = tanuloTanugyiAdatok.MagantanulosaganakOkaId; co.Vendeg = tanuloTanugyiAdatok.Vendeg; co.TandijatFizeto = tanuloTanugyiAdatok.TandijatFizeto; co.TeritestFizeto = tanuloTanugyiAdatok.TeritesiDijatFizeto; co.Tanuloszerzodeses = tanuloTanugyiAdatok.TanuloSzerzodeses; co.PolgariSzerzodeses = tanuloTanugyiAdatok.PolgariSzerzodeses; co.EgyuttmukodesiMegallapodasos = tanuloTanugyiAdatok.Egyuttmukodeses; co.KizarolagIskolaiKeretekKozott = tanuloTanugyiAdatok.IskolaiKeretekKozott; co.DiaksportkorTag = tanuloTanugyiAdatok.Diaksportkoros; co.Evismetlo = tanuloTanugyiAdatok.Evismetlo; co.ElozoIntezmeny = tanuloTanugyiAdatok.ElozoIntezmeny; co.SZKTV = tanuloTanugyiAdatok.SZKTV; co.SZETV = tanuloTanugyiAdatok.SZETVAgazat; co.OSZTV = tanuloTanugyiAdatok.OSZTV; co.EgyebOrszagosDonto = tanuloTanugyiAdatok.EgyebOrszagosDonto; co.OsztalyId = osztaly.ID; co.GyakorlatiSzintvizsgakAtlaga = tanuloTanugyiAdatok.Szintvizsga; co.TanterviJellemzoId = tanuloTanugyiAdatok.TanterviJellemzoId; co.AgazatUjSzktTipusId = tanuloTanugyiAdatok.AgazatUjSzktTipusId; co.SzakmaTipusId = tanuloTanugyiAdatok.SzakmaTipusId; co.SzakmairanyTipusId = tanuloTanugyiAdatok.SzakmairanyTipusId; co.AgazatAlapOktMegnevTipusId = tanuloTanugyiAdatok.AgazatAlapOktMegnevTipusId; co.AgazatAlapVizsgaEredTipusId = tanuloTanugyiAdatok.AgazatAlapVizsgaEredTipusId; co.AgazatiAlapvizsgaDatuma = tanuloTanugyiAdatok.AgazatiAlapVizsgaTeljesites; co.AgazatiAlapvizsgaEredmenye = tanuloTanugyiAdatok.AgazatiAlapvizsgaEredmenye; co.AgazatiAlapvizsgaEredmenyeSzazalek = tanuloTanugyiAdatok.AgazatiAlapvizsgaEredmenyeSz; co.IsSzakkepzesiMunkaszerzodessel = tanuloTanugyiAdatok.IsSzakkepzesiMunkaszerzodessel; co.SzervezetId = tanuloTanugyiAdatok.SzervezetId.IsEntityId() ? tanuloTanugyiAdatok.SzervezetId : (int?)null; co.SzakiranyNktTipusId = tanuloTanugyiAdatok.SzakiranyNktTipusId; co.SzakkepesitesNktTipusId = tanuloTanugyiAdatok.SzakkepesitesNktTipusId; co.TanulmanyiTeruletNktTipusId = tanuloTanugyiAdatok.TanulmanyiTeruletNktTipusId; co.AgazatId = tanuloTanugyiAdatok.AgazatId; co.SzakkepesitesId = tanuloTanugyiAdatok.SzakkepesitesId; co.ReszSzakkepesitesId = tanuloTanugyiAdatok.ReszszakkepesitesId; co.SzakmacsoportId = tanuloTanugyiAdatok.SzakmacsoportId; co.Is9kozul8ElozotanevbenVegezte = tanuloTanugyiAdatok.Is9kozul8ElozotanevbenVegezte; co.IsKiemeltenTehetseges = tanuloTanugyiAdatok.IsKiemeltenTehetseges; co.IsSzamitogepetOktCelraHasznal = tanuloTanugyiAdatok.IsSzamitogepetOktCelraHasznal; co.IsSzabokyAdolfSzakkepODReszesul = tanuloTanugyiAdatok.IsSzabokyAdolfSzakkepODReszesul; co.IsEgesznaposIskOktReszesul = tanuloTanugyiAdatok.IsEgesznaposIskOktReszesul; co.TanterviJellegId = tanuloTanugyiAdatok.TanterviJellegId; co.ReszSzakmaTipusId = tanuloTanugyiAdatok.ReszSzakmaTipusId; co.AgazatReszSzakmaTipusId = tanuloTanugyiAdatok.AgazatReszSzakmaTipusId; co.SzakmaReszSzakmaTipusId = tanuloTanugyiAdatok.SzakmaReszSzakmaTipusId; co.IsSzakkepzesenKivulrolJott = tanuloTanugyiAdatok.IsSzakkepzesenKivulrolJott; co.IsAtlagNelkuli = tanuloTanugyiAdatok.IsAtlagNelkuli; if (tanuloTanugyiAdatok.SzervezetId.IsEntityId()) { var szervezet = h.SzervezetDal().Get(tanuloTanugyiAdatok.SzervezetId); co.DualisKepzohelyNeve = szervezet.Nev; co.DualisKepzohelyAdoszama = szervezet.Azonosito; co.DualisKepzohelyNeveEsAdoszama = $"{szervezet.Nev} ({szervezet.Azonosito})"; } else { co.DualisKepzohelyNeve = tanuloTanugyiAdatok.DualisKepzohelyNeve; co.DualisKepzohelyAdoszama = tanuloTanugyiAdatok.DualisKepzohelyAdoszama; } if (osztaly != null) { co.MufajTipusId = tanuloTanugyiAdatok.MufajTipusId; co.MuveszetiAgId = tanuloTanugyiAdatok.MuveszetiAgId; co.TanszakTipusId = tanuloTanugyiAdatok.TanszakTipusId; } if (intezmenyAdatok.IsSzakkepzoJuttatas) { co.IsMasodikVagyTobbedikSzakmatSzerzo = tanuloTanugyiAdatok.IsMasodikTobbSzakma; co.IsBeszamitasosTanulo = tanuloTanugyiAdatok.IsBeszamitasos; co.IsBeszamitasosFixSzazalek = tanuloTanugyiAdatok.IsBeszamitasosFixSzazalek; } } else { // NOTE: mivel a tanuló tanügyi adatainál kötelező megadni a tantervet, ezért nem besorolt tanulónál beállítjuk tantervnek a Kerettantervet co.TantervId = h.TantervDAL().GetTop1TantervId(TanevId); co.Tanterv = h.TantervDAL().Get(co.TantervId).Nev; } co.BankszamlaSzam = ConvertSzamlaszam(dto.BankszamlaSzam); co.BankszamlaTulajdonos = dto.BankszamlaTulajdonosTipusID; co.BankszamlaTulajdonosNeve = dto.BankszamlaTulajNeve; co.SzamlavezetoBank = h.Felhasznalo().GetBankszamlaVezetoBankNeve(IntezmenyAzonosito, dto.BankszamlaSzam); if (intezmenyAdatok.IsSzakkepzoJuttatas) { co.SzamitottAtlag = dto.SzamitottAtlag; co.KeziAtlag = dto.KeziAtlag; co.IsOsztondijbolKizarva = dto.IsOsztondijbolKizarva; co.IsSikeresAgazatiVizsga = dto.IsSikeresAgazatiVizsga; co.IsAtlagSzakkepzesi = dto.IsAtlagSzakkepzesi; co.IsApaczaiIgenylo = dto.IsApaczaiIgenylo; co.IsApaczaiSzerzodeses = dto.IsApaczaiSzerzodeses; co.IsIngyenesKepzes = dto.IsIngyenesKepzes; if (dto.MentorId.IsEntityId()) co.MentorId = dto.MentorId; if (!tanuloCsoport.OsztalyCsoportId.IsEntityId()) { co.Jogviszony = dto.JogviszonyTipusID; co.IsMasodikVagyTobbedikSzakmatSzerzo = dto.IsMasodikTobbSzakma; co.IsBeszamitasosTanulo = dto.IsBeszamitasos; co.IsBeszamitasosFixSzazalek = dto.IsBeszamitasosFixSzazalek; } var aktivJuttatas = dto.Juttatas.SingleOrDefault(x => !x.Torolt && x.IsAktiv && (x.JuttatasTipusId == (int)JuttatasTipusEnum.szakkepzesi_juttatas)); int? osztondijElutasitasOka; if (aktivJuttatas != default) { osztondijElutasitasOka = aktivJuttatas.ElutasitasOka; } else { osztondijElutasitasOka = (int?)IsJuttatasraJogosult(h, co, intezmenyAdatok.JuttatasHatarnap); } co.IsJogosult = (JuttatasraNemJogosultOkaEnum)osztondijElutasitasOka; (co.OsztondijAlapSzazalek, co.IsAtlagFuggoSzazalek, co.IsFelevnelValtos) = GetOsztondijAlapSzazalek(h, co); if (osztondijElutasitasOka != (int)JuttatasraNemJogosultOkaEnum.NincsOka) { co.OsztondijElutasitasOkaList = GetNemJogosultsagOkaList(osztondijElutasitasOka); } //co.IsEvvegiJegybol = GetIsEvesByEvfolyam(co); var validEPJAdat = dto.EpjTanuloiAdat.SingleOrDefault(x => !x.Torolt && x.IsAktiv && (x.TanuloId == tanuloId)); aktivJuttatas = dto.Juttatas.SingleOrDefault(x => !x.Torolt && x.IsAktiv && (x.JuttatasTipusId == (int)JuttatasTipusEnum.egyszeri_palyakezdesi_juttatas)); if (validEPJAdat != default) { co.EPJErdemjegy = validEPJAdat.Erdemjegy; co.EPJElutasitasOka = aktivJuttatas?.ElutasitasOka ?? (int)EpJuttatasraNemJogosultOkaEnum.NincsOka; co.IsEPJJavitoVizsga = validEPJAdat.IsJavitovizsga; co.EPJJuttatasSzazalek = GetEPJSzazalek(validEPJAdat.Erdemjegy.Value); co.IsEPJPotloVizsga = validEPJAdat.IsPotvizsga; co.EPJSzakkepesitesAzonosito = validEPJAdat.SzakkepesitesAzonosito; co.EPJSzakkepesitesMegnevezes = validEPJAdat.SzakkepesitesMegnevezes; co.EPJVizsgaDatum = validEPJAdat.VizsgaDatum; co.EPJBizonyitvanySzama = validEPJAdat.BizonyitvanySzama; } else { co.EPJElutasitasOka = (int)EpJuttatasraNemJogosultOkaEnum.NincsEpjAdata; if (aktivJuttatas != default) { co.EPJElutasitasOka |= aktivJuttatas.ElutasitasOka ?? (int)EpJuttatasraNemJogosultOkaEnum.NincsOka; } } if (co.EPJElutasitasOka != (int)EpJuttatasraNemJogosultOkaEnum.NincsOka) { co.EPJElutasitasOkaList = GetNemJogosultsagOkaList(co.EPJElutasitasOka); } } if (dto.MentorId.IsEntityId()) { var alkalmazottDal = h.Alkalmazott(); var alkalmazottDto = alkalmazottDal.Get(dto.MentorId); co.MentorFenntartoAzonosito = alkalmazottDto.FenntartoAzonosito; co.MentorFenntartoNev = "-"; co.MentorLegmagasabbSzintuFenntartoNev = ""; //? co.MentorIntezmenyEgyediAzonosito = intezmenyAdatok.IntezmenyGuid; co.MentorIntezmenyNev = intezmenyAdatok.Nev; co.MentorIntezmenyAzonosito = intezmenyAdatok.IntezmenyAzonosito; co.MentorIntezmenyVezetoNev = intezmenyAdatok.Igazgato; co.MentorOMKod = intezmenyAdatok.OMKod; co.MentorIdpEgyediAzonosito = alkalmazottDto.IdpEgyediAzonosito; co.MentorOktatasiAzonosito = alkalmazottDto.OktatasiAzonosito; co.MentorNev = alkalmazottDto.NyomtatasiNev; co.MentorSzuletesiNev = Extensions.NameExtensions.GetNevSorrendben(alkalmazottDto.SzuletesiNevSorrend.ToSDABoolean(), alkalmazottDto.SzuletesiNevElotag, alkalmazottDto.SzuletesiVezeteknev, alkalmazottDto.SzuletesiUtonev); co.MentorSzuletesiHely = alkalmazottDto.SzuletesiHely; co.MentorSzuletesiIdo = alkalmazottDto.SzuletesiDatum; co.MentorAnyjaSzuletesiNev = Extensions.NameExtensions.GetNevSorrendben(alkalmazottDto.AnyjaNeveSorrend.ToSDABoolean(), alkalmazottDto.AnyjaNeveElotag, alkalmazottDto.AnyjaVezetekneve, alkalmazottDto.AnyjaUtoneve); co.MentorTAJszam = alkalmazottDto.TAJSzam; co.MentorAdoazonositoJel = alkalmazottDto.AdoazonositoJel; co.MentorSzTSz = alkalmazottDto.SZTSZKod; var munkaugyiAdatok = alkalmazottDto.MunkaugyiAdatok.FirstOrDefault(x => !x.Torolt); if (munkaugyiAdatok != null) { co.MentorNyugdijTipusId = munkaugyiAdatok.NyugdijTipus; co.MentorNyugdijTipusNev = munkaugyiAdatok.NyugdijTipus.HasValue ? munkaugyiAdatok.NyugdijTipus.Value.GetDisplayName(TanevId) : string.Empty; if (munkaugyiAdatok.NyugdijKezdet.HasValue) { co.MentorNyugdijKezdete = munkaugyiAdatok.NyugdijKezdet.Value; } } co.MentorBankszamlaSzam = alkalmazottDto.Bankszamlaszam; co.MentorBankszamlaTulajdonosa = alkalmazottDto.BankszamlaTulajdonosTipus.GetDisplayName(TanevId); co.MentorBankszamlaTulajdonosNeve = alkalmazottDto.BankszamlatulajNeve; co.MentorSzamlavezetoBank = h.Felhasznalo().GetBankszamlaVezetoBankNeve(IntezmenyAzonosito, alkalmazottDto.Bankszamlaszam); var allandoLakcimList = alkalmazottDto.Cim.Where(x => x.CimTipusa == (int)CimTipusEnum.allando_lakcim && !x.Torolt); if (allandoLakcimList.Any()) { var allandoLakcim = allandoLakcimList.First(); co.MentorOrszag = allandoLakcim.Orszag.GetDisplayName(TanevId); co.MentorIranyitoszam = allandoLakcim.IranyitoSzam; co.MentorHelysegNev = allandoLakcim.Varos; co.MentorKozteruletNev = allandoLakcim.Kozterulet; co.MentorKozteruletTipus = allandoLakcim.KozteruletJellegeNev; co.MentorHazszam = allandoLakcim.Hazszam; co.MentorEmelet = allandoLakcim.Emelet; co.MentorAjto = allandoLakcim.Emelet; } else { var alapertelmezettLakcim = alkalmazottDto.Cim.FirstOrDefault(x => x.Alapertelmezett && !x.Torolt); if (alapertelmezettLakcim != null) { co.MentorOrszag = alapertelmezettLakcim.Orszag.GetDisplayName(TanevId); co.MentorIranyitoszam = alapertelmezettLakcim.IranyitoSzam; co.MentorHelysegNev = alapertelmezettLakcim.Varos; co.MentorKozteruletNev = alapertelmezettLakcim.Kozterulet; co.MentorKozteruletTipus = alapertelmezettLakcim.KozteruletJellegeNev; co.MentorHazszam = alapertelmezettLakcim.Hazszam; co.MentorEmelet = alapertelmezettLakcim.Emelet; co.MentorAjto = alapertelmezettLakcim.Emelet; } } var emailCim = alkalmazottDto.Email.FirstOrDefault(x => x.Alapertelmezett && !x.Torolt); if (emailCim != null) { co.MentorEmailcim = emailCim.EmailCim; co.MentorEmailTipus = emailCim.EmailTipusa.GetDisplayName(TanevId); } var telefon = alkalmazottDto.Telefon.FirstOrDefault(x => x.Alapertelmezett && !x.Torolt); if (telefon != null) { co.MentorTelefonSzam = telefon.TelefonSzam; co.MentorTelefonTipus = telefon.TelefonTipusa.GetDisplayName(TanevId); } } return co; } public TanuloAdatCO GetTanuloiAdatok(int tanuloId, int? kovTanevId, bool isSelectedTanev20_21OrLater, bool isSelectedTanev21_22OrLater, int? osztalycsoportId = null, int? feladatKategoriaId = null, bool isSelectedTanevIsElozo = false) { return Dal.CustomConnection.Run(ConnectionType, h => { return GetTanuloiAdatok(h, tanuloId, kovTanevId, isSelectedTanev20_21OrLater, isSelectedTanev21_22OrLater, osztalycsoportId, feladatKategoriaId, isSelectedTanevIsElozo); }); } /// INFO @DevKornel: Mobil használja public int? GetTanuloAlapkepzesesOsztalyId(int tanuloId, DateTime? datum = null) { int? result = null; var ds = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetTanuloOsztaly(tanuloId, datum); }); if (ds.Tables.Count <= 0) { return null; } if (ds.Tables[0].Rows.Count > 0) { result = SDAConvert.ToInt32(ds.Tables[0].Rows[0]["ID"]); } return result; } public int? GetTanuloOsztalyIdByFeladatKategoria(int tanuloId, DateTime? datum, OktNevelesiKategoriaEnum? feladatKategoria, int? szervezetTipusId = null) { int? result = null; var ds = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetTanuloOsztaly(tanuloId, datum, szervezetTipusId.HasValue ? null : feladatKategoria); }); if (ds.Tables[0].Rows.Count == 1) { result = SDAConvert.ToInt32(ds.Tables[0].Rows[0]["ID"]); } return result; } public bool HasTanuloAktivOsztalybaSorolas(int tanuloId, OktNevelesiKategoriaEnum? feladatKategoria = null) { var dataSet = Dal.CustomConnection.Run(ConnectionType, h => { var tanevData = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h)).GetTanevInfo(); var searchDate = DateTime.Today; if (searchDate < tanevData.KezdoNap) { searchDate = tanevData.KezdoNap; } var dal = h.Tanulo(GridParameters); return dal.GetTanuloOsztaly(tanuloId, searchDate, feladatKategoria); }); if (!dataSet.Tables.Count.IsNotNullAndPositive()) { return false; } if (!dataSet.Tables[0].Rows.Count.IsNotNullAndPositive()) { return false; } return true; } public string GetTanuloOsztalyokNevei(int tanuloId) { var ds = Dal.CustomConnection.Run(ConnectionType, h => { var tanevData = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h)).GetTanevInfo(); var searchDate = DateTime.Now.Date; if (searchDate < tanevData.KezdoNap) { searchDate = tanevData.KezdoNap; } return h.Tanulo().GetTanuloOsztaly(tanuloId, searchDate, feladatKategoria: null); }); var osztalyok = string.Empty; var rows = ds?.Tables[0]?.Rows; foreach (DataRow row in rows) { osztalyok += $"{row.Field("OsztalyNev")}, "; } if (!string.IsNullOrWhiteSpace(osztalyok)) { osztalyok = osztalyok.Substring(0, osztalyok.Length - 2); } return osztalyok; } public Dictionary GetTanuloOsztalyDictionary(int tanuloId) { var dataSet = Dal.CustomConnection.Run(ConnectionType, h => { var datum = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h)).GetDatumInTanev(); return h.Tanulo().GetTanuloOsztaly(tanuloId, datum, null); }); var result = new Dictionary(); var dataRowCollection = dataSet?.Tables[0]?.Rows; if (dataRowCollection != null) { foreach (DataRow dataRow in dataRowCollection) { result.Add(SDAConvert.ToInt32(dataRow["ID"]).ToString(), SDAConvert.ToString(dataRow["OsztalyNev"]).ToString()); } } return result; } public TanuloFelmentesCO GetTanuloFelmentesById(int id) { var co = Dal.CustomConnection.Run(ConnectionType, h => { var tanuloMentessegDal = h.TanuloMentesseg(); var dto = tanuloMentessegDal.Get(id); var tanulo = h.Tanulo().Get(dto.TanuloId); return new TanuloFelmentesCO() { ID = dto.ID, TanuloId = dto.TanuloId, TantargyId = dto.TantargyId, ErtekelesMentesites = dto.ErtekelesMentesites ?? false, OraMentesites = dto.OraMentesites ?? false, FelmentesOka = dto.MentessegOka, Kezdete = dto.Kezdete, Vege = dto.Vege, SzovegesenErtekelheto = dto.SzovegesenErtekelheto ?? false, TanuloNeve = tanulo.NyomtatasiNev, TanuloOsztalya = GetTanuloOsztalyokNevei(dto.TanuloId) }; }); return co; } public TanuloOraAdataiCO GetTanuloOraAdatai(int? orarendiOraId, int? tanitasiOraId, DateTime date) { var tableTanuloOraAdatai = new DataTable(); var tableTanuloOraSzamonkeresAdatai = new DataTable(); Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); tableTanuloOraAdatai = dal.GetTanuloOraAdatai(orarendiOraId, tanitasiOraId, date).Tables[0]; tableTanuloOraSzamonkeresAdatai = dal.GetTanuloOraSzamonkeresAdatai(orarendiOraId, tanitasiOraId, date).Tables[0]; }); var model = new TanuloOraAdataiCO(); if (tableTanuloOraAdatai.Rows.Count != 0) { var rowTanuloOraAdatai = tableTanuloOraAdatai.Rows[0]; model.Targy = rowTanuloOraAdatai["TargyNev"].ToString(); model.HelyettesitoTanar = rowTanuloOraAdatai["Helyettesito"].ToString(); model.Megtartott = rowTanuloOraAdatai["Megtartott"].ToString() == "T"; model.OsztalyNev = rowTanuloOraAdatai["OsztalyNev"].ToString(); model.Tanar = rowTanuloOraAdatai["TanarNev"].ToString(); model.Tema = rowTanuloOraAdatai["Tema"].ToString(); model.Terem = rowTanuloOraAdatai["TeremNev"].ToString(); model.Oraszam = rowTanuloOraAdatai["Oraszam"].ToString(); model.OraKezdet = rowTanuloOraAdatai["OraKezdet"] != DBNull.Value ? ((DateTime)rowTanuloOraAdatai["OraKezdet"]).ToShortTimeString() : string.Empty; model.OraVege = rowTanuloOraAdatai["OraVege"] != DBNull.Value ? ((DateTime)rowTanuloOraAdatai["OraVege"]).ToShortTimeString() : string.Empty; model.HaziFeladat = rowTanuloOraAdatai["HaziFeladat"].ToString(); } if (tableTanuloOraSzamonkeresAdatai.Rows.Count != 0) { var rowTanuloOraSzamonkeresAdatai = tableTanuloOraSzamonkeresAdatai.Rows[0]; model.SzamonkeresMegnevezes = rowTanuloOraSzamonkeresAdatai["SzamonkeresMegnevezes"].ToString(); model.SzamonkeresMod = rowTanuloOraSzamonkeresAdatai["SzamonkeresMod"].ToString(); } return model; } public List GetElozoOranHianyzottTanulok(DateTime oraKezdetDatuma, int osztalyCsoportId) { return Dal.CustomConnection.Run(ConnectionType, h => h.Tanulo().GetElozoOranHianyzottTanulok(oraKezdetDatuma, osztalyCsoportId)); } public TanuloKozossegiSzolgalatCO GetKozossegiSzolgalatbyId(int id) { var co = new TanuloKozossegiSzolgalatCO(); Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TanuloKozossegiSzolgalat(); var oKozSzolg = dal.Get(id); co.ID = oKozSzolg.ID; co.TanuloId = oKozSzolg.TanuloId; co.IntervallumKezdete = oKozSzolg.IntervallumKezdete; co.IntervallumVege = oKozSzolg.IntervallumVege; co.Oraszam = oKozSzolg.Oraszam; co.Megjegyzes = oKozSzolg.Megjegyzes; co.KozossegiSzolgalatTipusa = oKozSzolg.KozossegiSzolgalatTipusa; }); return co; } public TanuloElerhetosegTelCO GetTanuloElerhetosegTelById(int id) { var co = new TanuloElerhetosegTelCO(); Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Telefon(); var oTelefon = dal.Get(id); co.ID = oTelefon.ID; co.Alapertelmezett = oTelefon.Alapertelmezett; co.Telefonszam = oTelefon.TelefonSzam; co.TanuloId = oTelefon.FelhasznaloId; co.Leiras = oTelefon.Leiras; co.TelefonTipusa = oTelefon.TelefonTipusa; }); return co; } public TanuloElerhetosegEmailCO GetTanuloElerhetosegEmailById(int id) { var co = new TanuloElerhetosegEmailCO(); Dal.CustomConnection.Run(ConnectionType, h => { var oEmail = h.Email().Get(id); co.ID = oEmail.ID; co.Alapertelmezett = oEmail.Alapertelmezett; co.TanuloId = oEmail.FelhasznaloId; co.EmailCim = oEmail.EmailCim; co.EmailTipusa = oEmail.EmailTipusa; }); return co; } public ElerhetosegCimCO GetTanuloGondviseloCimById(int id) { var co = new ElerhetosegCimCO(); Dal.CustomConnection.Run(ConnectionType, h => { var oCim = h.Cim().Get(id); co.ID = oCim.ID; co.FelhasznaloId = oCim.FelhasznaloId; co.Iranyitoszam = oCim.IranyitoSzam; co.HelysegNev = oCim.Varos; co.KozteruletNev = oCim.Kozterulet; co.KozteruletTipusNev = oCim.KozteruletJellegeNev; co.Hazszam = oCim.Hazszam; co.Emelet = oCim.Emelet; co.Ajto = oCim.Ajto; co.CimTipus = oCim.CimTipusa; co.Orszag = oCim.Orszag; co.GondviseloId = oCim.GondviseloId; co.Alapertelmezett = oCim.Alapertelmezett; }); return co; } public TanuloCsoportCO GetTanuloCsoportById(int id) { var co = new TanuloCsoportCO(); Dal.CustomConnection.Run(ConnectionType, h => { var entity = h.TanuloCsoport().Get(id); co.ID = entity.ID; co.TanuloId = entity.TanuloId; co.BejegyDatum = entity.BejegyzesIdopontja; co.BelepDatum = entity.BelepesDatum; co.KilepDatum = entity.KilepesDatum; co.NaploSorszam = entity.TanuloTanugyiAdatok?.NaploSorszam ?? default; co.HozottIgazolatlanHianyzas = entity.TanuloTanugyiAdatok?.HozottIgazolatlanHianyzas ?? default; co.HozottIgazolatlanKesesPercben = entity.TanuloTanugyiAdatok?.HozottIgazolatlanKesesPercben ?? default; co.HozottIgazoltHianyzas = entity.TanuloTanugyiAdatok?.HozottIgazoltHianyzas ?? default; co.HozottIgazoltKesesPercben = entity.TanuloTanugyiAdatok?.HozottIgazoltKesesPercben ?? default; co.IsESL16EvesUtanBelepett = entity.TanuloTanugyiAdatok?.IsESL16EvesUtanBelepett; co.TantervId = entity.TanuloTanugyiAdatok?.TantervId; co.TorzslapSzam = entity.TanuloTanugyiAdatok?.TorzslapSzam; co.Megjegyzes = entity.Megjegyzes; co.BefogadoIntezmeny = entity.BefogadoIntezmeny; co.OsztalyCsoportId = entity.OsztalyCsoportId; co.OsztalyNev = entity.OsztalyCsoport.Nev; co.TanuloEvfolyamTipusId = entity.TanuloTanugyiAdatok?.TanuloEvfolyamTipusId; List osszevontEvfolyamTipusIds = EnumExtensions.GetEvfolyamTipusDictionaryItems(TanevId, true).Select(x => x.Id).ToList(); bool isOsszevontEvfolyamTipus = osszevontEvfolyamTipusIds.Any(x => x == entity.OsztalyCsoport.EvfolyamTipusa); co.IsOsszevontOsztaly = isOsszevontEvfolyamTipus; co.AgazatId = entity.TanuloTanugyiAdatok?.AgazatId; co.SzakmacsoportId = entity.TanuloTanugyiAdatok?.SzakmacsoportId; co.SzakkepesitesId = entity.TanuloTanugyiAdatok?.SzakkepesitesId; co.ReszSzakkepesitesId = entity.TanuloTanugyiAdatok?.ReszszakkepesitesId; co.JogviszonyTipusId = entity.JogviszonyTipusID; co.AgazatUjSzktTipusId = entity.TanuloTanugyiAdatok?.AgazatUjSzktTipusId; co.SzakmaTipusId = entity.TanuloTanugyiAdatok?.SzakmaTipusId; co.SzakmairanyTipusId = entity.TanuloTanugyiAdatok?.SzakmairanyTipusId; co.SzakiranyNktTipusId = entity.TanuloTanugyiAdatok?.SzakiranyNktTipusId; co.SzakkepesitesNktTipusId = entity.TanuloTanugyiAdatok?.SzakkepesitesNktTipusId; co.TanulmanyiTeruletNktTipusId = entity.TanuloTanugyiAdatok?.TanulmanyiTeruletNktTipusId; co.AgazatReszSzakmaTipusId = entity.TanuloTanugyiAdatok?.AgazatReszSzakmaTipusId; co.SzakmaReszSzakmaTipusId = entity.TanuloTanugyiAdatok?.SzakmaReszSzakmaTipusId; co.ReszSzakmaTipusId = entity.TanuloTanugyiAdatok?.ReszSzakmaTipusId; }); return co; } public TanuloGondviseloCO GetTanuloGondviseloById(int id) { var co = new TanuloGondviseloCO(); Dal.CustomConnection.Run(ConnectionType, h => { var gondviseloDal = h.Gondviselo(); var cimDal = h.Cim(); var telefonDal = h.Telefon(); var emilDal = h.Email(); var oGondviselo = gondviseloDal.Get(id); co.ID = oGondviselo.ID; co.TanuloId = oGondviselo.TanuloId; co.GondviseloNeve = oGondviselo.Nev; co.RokonsagiFok = oGondviselo.RokonsagFoka; co.IsTorvenyesKepviselo = oGondviselo.IsTorvenyesKepviselo; co.GondviseloAutoEmail = oGondviselo.IsEmailErtesites; //RendszerBeallitasTipusEnum.Gondviselo_Auto_Email var oFelhasznaloBelepes = oGondviselo.FelhasznaloBelepes.FirstOrDefault(x => !x.Torolt); if (oFelhasznaloBelepes != null) { co.GondviseloBelepesiNeve = oFelhasznaloBelepes.BejelentkezesiNev; } var oGondviseloCim = cimDal.GetSpecific(string.Format(" AND C_GONDVISELOID = {0} and TOROLT = 'F' and C_ALAPERTELMEZETT = 'T'", oGondviselo.ID), TanevId); if (oGondviseloCim != null) { co.KozteruletNevGondviselo = oGondviseloCim.Kozterulet; co.KozteruletJellegNevGondviselo = oGondviseloCim.KozteruletJellegeNev; co.HazszamGondviselo = oGondviseloCim.Hazszam; co.EmeletGondviselo = oGondviseloCim.Emelet; co.AjtoGondviselo = oGondviseloCim.Ajto; co.IranyitoszamGondviselo = oGondviseloCim.IranyitoSzam; co.HelysegNevGondviselo = oGondviseloCim.Varos; } co.TelefonszamGondviselo = oGondviselo.Telefon.SingleOrDefault(x => !x.Torolt && x.Alapertelmezett)?.TelefonSzam; co.TelefonTipusGondviselo = oGondviselo.Telefon.SingleOrDefault(x => !x.Torolt && x.Alapertelmezett)?.TelefonTipusa; co.EmailcimGondviselo = oGondviselo.Email.SingleOrDefault(x => !x.Torolt && x.Alapertelmezett)?.EmailCim; co.EmailcimTipusGondviselo = oGondviselo.Email.SingleOrDefault(x => !x.Torolt && x.Alapertelmezett)?.EmailTipusa; co.EmailCimGuid = oGondviselo.Email.SingleOrDefault(x => !x.Torolt && x.Alapertelmezett)?.Guid.ToString(); co.TanuloBankszamlaCo = new BankszamlaCo() { BankszamlaSzam = oGondviselo.Tanulo.BankszamlaSzam, BankszamlaTulajdonos = oGondviselo.Tanulo.BankszamlaTulajdonosTipusID, BankszamlaTulajdonosNeve = oGondviselo.Tanulo.BankszamlaTulajNeve, SzamlavezetoBank = h.Felhasznalo().GetBankszamlaVezetoBankNeve(IntezmenyAzonosito, oGondviselo.Tanulo.BankszamlaSzam), }; }); return co; } public (string emailCim, Guid? guid) GetGondviseloEmailCimAndGuid(int gondviseloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var gondviseloDal = h.Gondviselo(); var oGondviselo = gondviseloDal.Get(gondviseloId); var email = oGondviselo.Email.SingleOrDefault(x => !x.Torolt && !x.IsHibasanMegadva && x.Alapertelmezett); return (email?.EmailCim, email?.Guid); }); } public void TanuloTorlese(int tanuloId, int? kovTanevId, bool isSelectedTanev20_21OrLater, bool isSelectedTanev21_22OrLater) { if (tanuloId == FelhasznaloId) { throw new EntityDeleteFailedException("Felhasznalo", "Felhasznalo", StringResourcesUtils.GetString(3244) /*Felhasználó nem törölheti önmagát!*/ ); } Dal.CustomConnection.Run(ConnectionType, h => { var osztalyCsoportDal = h.OsztalyCsoport(); var tanuloOsztalyCsoportjaiIdList = osztalyCsoportDal.GetTanuloOsztalyCsoportjaiIdList(tanuloId); if (tanuloOsztalyCsoportjaiIdList.Count != 0) { var tanulo = GetTanuloiAdatok(h, tanuloId, kovTanevId, isSelectedTanev20_21OrLater, isSelectedTanev21_22OrLater); var osztalyCsoportHelper = new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, h)); var tanuloOsztalyCsoportjaiNevList = new List(); foreach (var osztCsopId in tanuloOsztalyCsoportjaiIdList) { tanuloOsztalyCsoportjaiNevList.Add(osztalyCsoportHelper.GetOsztalyCsoportNevById(osztCsopId)); } var errorMessage = $"{tanulo.CsaladiNev} {tanulo.UtoNev} {ErrorResource.TorleseNemLehetsegesMertAzAlabbiOsztalyVagyCsoportokTagja} {string.Join(", ", tanuloOsztalyCsoportjaiNevList.ToArray())}{Environment.NewLine}"; throw new CannotBeDeletedException(errorMessage); } var juttatasDal = h.JuttatasDAL(); if (juttatasDal.IsExitingJogosultJuttatas(tanuloId)) { throw new CannotBeDeletedException(ErrorResource.DiakNemTorolhetoMertVanMegallapitottUtaltOsztondija); } var tanuloDal = h.Tanulo(); if (tanuloDal.Get(tanuloId).TbJogviszony.Any(x => x.IsAktiv)) { throw new CannotBeDeletedException(ErrorResource.DiakNemTorolhetoMertVanAktivJogviszonya); } tanuloDal.Delete(tanuloId); }); } public BelepesiAdatokListCO TanuloMentese(TanuloAdatCO adat, FelhasznaloiNevGeneralasModjaEnum felhasznaloiNevGeneralasModja, bool isSelectedTanev21_22OrLater, int lcId, int? kovTanevId, bool isSzirIntezmeny, bool saveAlapadatok = true, bool saveElerhetosegAdatok = true, bool saveGondviseloAdatok = true, bool saveIgazolvanyAdatok = true, bool saveSzocialisAdatok = true, bool saveTanugyiAdatok = true, bool saveSNIAdatok = true, bool saveBTMAdatok = true, bool saveVallasiAdatok = true, bool saveSportoloiAdatok = true, bool saveJuttatasok = true, bool saveSzirBeallitasok = true, bool saveUjJogviszony = false) { return Dal.CustomConnection.Run(ConnectionType, h => { var uhelper = new FelhasznaloHelper(new DalHandlerConnectionType(ConnectionType, h)); var felhasznaloBelepesDal = h.FelhasznaloBelepes(); var felhasznaloDal = h.Felhasznalo(); var gondviseloDal = h.Gondviselo(); var cimDal = h.Cim(); var emailDal = h.Email(); var telefonDal = h.Telefon(); var tanulo = SaveTanulo(h, isSelectedTanev21_22OrLater, lcId, adat, felhasznaloiNevGeneralasModja, kovTanevId, saveAlapadatok: saveAlapadatok, saveIgazolvanyAdatok: saveIgazolvanyAdatok, saveSzocialisAdatok: saveSzocialisAdatok, saveTanugyiAdatok: saveTanugyiAdatok, saveSNIAdatok: saveSNIAdatok, saveBTMAdatok: saveBTMAdatok, saveVallasiAdatok: saveVallasiAdatok, saveSportoloiAdatok: saveSportoloiAdatok, isSzirIntezmeny: isSzirIntezmeny, saveJuttatasok: saveJuttatasok, saveSzirBeallitasok: saveSzirBeallitasok, saveUjJogviszony: saveUjJogviszony); //SaveTanuloOsztaly(tanulo, adat); Csak és kizárólag osztályba sorolásnál var gondviseloBelepesiAdatokPdfGeneralasList = new BelepesiAdatokListCO(); if (!adat.ID.HasValue) { if (saveElerhetosegAdatok) { SaveTanuloCim(h, tanulo, adat); SaveTanuloElerhetoseg(h, tanulo, adat); } if (saveGondviseloAdatok) { gondviseloBelepesiAdatokPdfGeneralasList = SaveGondviselo(h, gondviseloDal, cimDal, emailDal, telefonDal, tanulo, adat, isSzirIntezmeny, kovTanevId); } } //entityhandler-ben lenne a helye, de a mentés folyamatában a sorrendezés miatt, nem kerülhet még oda if (kovTanevId.HasValue && kovTanevId != TanevId) { h.Tanulo().FollowUpTanulo(IntezmenyId, TanevId, kovTanevId.Value, tanulo.ID); } if (adat.FollowUpolniId.HasValue) { felhasznaloDal.OktAzon4TAlapjanFollowUp((int)Validation4TEnum.Tanulo, tanulo.ID, adat.FollowUpolniId.Value); } return gondviseloBelepesiAdatokPdfGeneralasList; }); } public void TanuloFelmentesMentese(TanuloFelmentesCO co, int? kovTanevId) { Dal.CustomConnection.Run(ConnectionType, h => { var tanuloMentesegDal = h.TanuloMentesseg(); ITanuloMentesseg dto; if (co.ID.IsEntityId()) { dto = tanuloMentesegDal.Get(co.ID.Value); } else { dto = tanuloMentesegDal.Get(); dto.TanevId = TanevId; dto.FelmentesRogzitoTanarId = FelhasznaloId; dto.FelmentesRogzitesIdopontja = DateTime.Now; } dto.TantargyId = co.TantargyId ?? default; dto.TanuloId = co.TanuloId ?? default; dto.ErtekelesMentesites = co.ErtekelesMentesites; dto.OraMentesites = co.OraMentesites; dto.MentessegOka = co.FelmentesOka; dto.SzovegesenErtekelheto = co.SzovegesenErtekelheto; dto.Kezdete = co.Kezdete; dto.Vege = co.Vege; dto.UtolsoModositoTanarId = FelhasznaloId; dto.UtolsoModositasIdopontja = DateTime.Now; if (dto.Tanulo.SzuletesiDatum > dto.Kezdete) { throw new BlException(StringResourcesUtil.GetString(4293)); //Az igazolás érvényességének kezdete nem lehet korábban mint a tanuló születési dátuma! } if (dto.Tanulo.SzuletesiDatum > dto.Vege) { throw new BlException(StringResourcesUtil.GetString(4294)); //Az igazolás érvényességének vége nem lehet korábban mint a tanuló születési dátuma! } if (co.ID.HasValue && co.ID.Value > 0) { tanuloMentesegDal.FullUpdate(dto); } else { tanuloMentesegDal.Insert(dto); } if (co.IsKorabbiMulasztasokModositasa && co.Kezdete.Value < DateTime.Now && co.OraMentesites) { var mulasztasDal = h.MulasztasDal(); var vegDatum = co.Vege ?? DateTime.Now; mulasztasDal.SetMulasztasTipusUres(co.TanuloId.Value, co.TantargyId.Value, co.Kezdete.Value, vegDatum, FelhasznaloId); } //entityhandler-ben lenne a helye, de a mentés folyamatában a sorrendezés miatt, nem kerülhet még oda if (kovTanevId.HasValue && kovTanevId != TanevId && co.TanuloId.HasValue) { h.Tanulo().FollowUpTanuloFelmentes(IntezmenyId, TanevId, kovTanevId.Value, dto.ID); } }); } public void TanuloFelmentesTorles(int id) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TanuloMentesseg(); var dto = dal.Get(id); dto.UtolsoModositoTanarId = FelhasznaloId; dto.UtolsoModositasIdopontja = DateTime.Now; dal.FullUpdate(dto); dal.Delete(id); }); } public void KozossegiSzolgalatMentese(TanuloKozossegiSzolgalatCO adat) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TanuloKozossegiSzolgalat(); ITanuloKozossegiSzolgalat dto; if (adat.ID.HasValue && adat.ID.Value > 0) { dto = dal.Get(adat.ID.Value); } else { dto = dal.Get(); dto.TanevId = TanevId; } dto.FeljegyzoId = FelhasznaloId; dto.TanuloId = adat.TanuloId; dto.IntervallumKezdete = adat.IntervallumKezdete; dto.IntervallumVege = adat.IntervallumVege; dto.Oraszam = adat.Oraszam; dto.Megjegyzes = adat.Megjegyzes; dto.KozossegiSzolgalatTipusa = adat.KozossegiSzolgalatTipusa; if (adat.ID.HasValue && adat.ID.Value > 0) { dal.Update(dto); } else { dal.Insert(dto); } }); } public void KozossegiSzolgalatTorlese(int id) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TanuloKozossegiSzolgalat(); dal.Delete(id); }); } public void TanuloElerhetosegTelMentese(TanuloElerhetosegTelCO adat, int? kovTanevId) { Dal.CustomConnection.Run(ConnectionType, h => { ValidateForDuplicateEntriesTanuloElerhetoseg(h, adat.TanuloId, adat.Telefonszam, ValidateElerhetosegType.Telefon, adat.TelefonTipusa, adat.ID); var dal = h.Telefon(); if (adat.Alapertelmezett) { dal.SetTelefonAlapertelmezett(adat.TanuloId, FelhasznaloId, TanevId); } ITelefon dto; if (adat.ID.HasValue && adat.ID.Value > 0) { dto = dal.Get(adat.ID.Value); } else { dto = dal.Get(); } dto.TelefonSzam = adat.Telefonszam; dto.TelefonTipusa = adat.TelefonTipusa; dto.Leiras = adat.Leiras; dto.FelhasznaloId = adat.TanuloId; dto.TanevId = TanevId; dto.Alapertelmezett = adat.Alapertelmezett; if (adat.ID.HasValue && adat.ID.Value > 0) { dal.Update(dto); } else { dal.Insert(dto); } //entityhandler-ben lenne a helye, de a mentés folyamatában a sorrendezés miatt, nem kerülhet még oda if (kovTanevId.HasValue && kovTanevId != TanevId) { h.Tanulo().FollowUpTanuloTelefon(IntezmenyId, TanevId, kovTanevId.Value, adat.TanuloId); } }); } public void TanuloElerhetosegTelTorlese(int id) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Telefon(); dal.Delete(id); }); } public void TanuloElerhetosegEmailMentese(TanuloElerhetosegEmailCO adat, int? kovTanevId) { Dal.CustomConnection.Run(ConnectionType, h => { ValidateForDuplicateEntriesTanuloElerhetoseg(h, adat.TanuloId, adat.EmailCim, ValidateElerhetosegType.Email, adat.EmailTipusa, adat.ID); var dal = h.Email(); if (adat.Alapertelmezett) { dal.SetAlapertelmezett(adat.TanuloId, FelhasznaloId, TanevId); } IEmail dto; if (adat.ID.HasValue && adat.ID.Value > 0) { dto = dal.Get(adat.ID.Value); } else { dto = dal.Get(); dto.TanevId = TanevId; } dto.EmailCim = adat.EmailCim; dto.EmailTipusa = adat.EmailTipusa; dto.Alapertelmezett = adat.Alapertelmezett; dto.FelhasznaloId = adat.TanuloId; if (adat.ID.HasValue && adat.ID.Value > 0) { dal.Update(dto); } else { dal.Insert(dto); } //entityhandler-ben lenne a helye, de a mentés folyamatában a sorrendezés miatt, nem kerülhet még oda if (kovTanevId.HasValue && kovTanevId != TanevId) { h.Tanulo().FollowUpTanuloEmail(IntezmenyId, TanevId, kovTanevId.Value, adat.TanuloId); } }); } public void TanuloElerhetosegEmailTorlese(int id) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Email(); dal.Delete(id); }); } public void ValidateForDuplicateEntriesTanuloElerhetoseg(IDalHandler h, int tanuloId, T recordValue, ValidateElerhetosegType validateType, int recordType, int? recordID) { var tanuloEntity = h.Tanulo().Get(tanuloId); switch (validateType) { case ValidateElerhetosegType.Telefon: if (recordID.HasValue && recordID.Value != 0) { if (tanuloEntity.Telefon.Any(x => x.GondviseloId <= 0 && x.TelefonSzam.Equals(recordValue) && !x.Torolt && recordID != x.ID)) { throw new BlException(ErrorResource.AMegadottTelefonszamMarRogzitveVan); } } else { if (tanuloEntity.Telefon.Any(x => x.GondviseloId <= 0 && x.TelefonSzam.Equals(recordValue) && !x.Torolt)) { throw new BlException(ErrorResource.AMegadottTelefonszamMarRogzitveVan); } } break; case ValidateElerhetosegType.Email: if (recordID.HasValue && recordID.Value != 0) { if (tanuloEntity.Email.Any(x => x.GondviseloId <= 0 && x.EmailCim.Equals(recordValue) && !x.Torolt && recordID != x.ID)) { throw new BlException(ErrorResource.AMegadottEmailcimMarRogzitveVan); } } else { if (tanuloEntity.Email.Any(x => x.GondviseloId <= 0 && x.EmailCim.Equals(recordValue) && !x.Torolt)) { throw new BlException(ErrorResource.AMegadottEmailcimMarRogzitveVan); } } break; } } public bool HasTanuloAlapertelmezettCim(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var felhasznaloDal = h.Felhasznalo(); var tanulo = felhasznaloDal.Get(tanuloId); return tanulo.Cim.Any(x => x.Alapertelmezett && !x.Torolt && x.Gondviselo == null); }); } public bool HasTanuloAlapertelmezettTelefon(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var felhasznaloDal = h.Felhasznalo(); var tanulo = felhasznaloDal.Get(tanuloId); return tanulo.Telefon.Any(x => x.Alapertelmezett && !x.Torolt && x.Gondviselo == null); }); } public bool HasTanuloAlapertelmezettEmail(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var felhasznaloDal = h.Felhasznalo(); var tanulo = felhasznaloDal.Get(tanuloId); return tanulo.Email.Any(x => x.Alapertelmezett && !x.Torolt && x.Gondviselo == null); }); } public void TanuloGondviseloCimMentese(ElerhetosegCimCO adat, int? kovTanevId) { Dal.CustomConnection.Run(ConnectionType, h => { var cimDal = h.Cim(); if (adat.Alapertelmezett) { cimDal.SetAlapertelmezett(adat.FelhasznaloId, FelhasznaloId, TanevId, adat.GondviseloId); } var felhasznaloDal = h.Felhasznalo(); var gondviseloDal = h.Gondviselo(); ICim gondviseloCim; if (adat.ID.IsEntityId()) { gondviseloCim = cimDal.Get(adat.ID.Value); } else { gondviseloCim = cimDal.Get(); gondviseloCim.TanevId = TanevId; } if (adat.FelhasznaloId.IsEntityId()) { gondviseloCim.FelhasznaloId = adat.FelhasznaloId; } adat.CimTipus = adat.CimTipus.IsEntityId() ? adat.CimTipus : (int)CimTipusEnum.allando_lakcim; adat.Orszag = adat.Orszag.IsEntityId() ? adat.Orszag : (int)OrszagTipusEnum.Magyarorszag; gondviseloCim.IranyitoSzam = adat.Iranyitoszam; gondviseloCim.Varos = adat.HelysegNev; gondviseloCim.Kozterulet = adat.KozteruletNev; gondviseloCim.KozteruletJellegeNev = adat.KozteruletTipusNev; gondviseloCim.Hazszam = adat.Hazszam; gondviseloCim.Emelet = adat.Emelet; gondviseloCim.Ajto = adat.Ajto; gondviseloCim.CimTipusa = adat.CimTipus.Value; gondviseloCim.Orszag = adat.Orszag.Value; gondviseloCim.Alapertelmezett = adat.Alapertelmezett; if (adat.tanuloval_egyezik) { var cimList = cimDal.GetCimDataSet(TanevId, adat.FelhasznaloId).Tables[0].AsEnumerable().ToList(); var gondviseloAlapertelmezettCim = cimList.Find(x => x.Field("GondviseloId") == adat.GondviseloId && x.Field("Alapertelmezett") == "T"); var tanuloAlapertelmezettCim = cimList.Find(x => x.Field("GondviseloId") == null && x.Field("Alapertelmezett") == "T"); if (tanuloAlapertelmezettCim == null) { tanuloAlapertelmezettCim = cimList.Find(x => x.Field("GondviseloId") == null); } gondviseloCim.IranyitoSzam = tanuloAlapertelmezettCim.Field("Iranyitoszam"); gondviseloCim.Varos = tanuloAlapertelmezettCim.Field("Telepules"); gondviseloCim.Kozterulet = tanuloAlapertelmezettCim.Field("Kozterulet"); gondviseloCim.KozteruletJellegeNev = tanuloAlapertelmezettCim.Field("KozteruletJellegNev"); gondviseloCim.Hazszam = tanuloAlapertelmezettCim.Field("Hazszam"); gondviseloCim.Emelet = tanuloAlapertelmezettCim.Field("Emelet"); gondviseloCim.Ajto = tanuloAlapertelmezettCim.Field("Ajto"); gondviseloCim.CimTipusa = tanuloAlapertelmezettCim.Field("TipusId"); gondviseloCim.Orszag = tanuloAlapertelmezettCim.Field("Orszag") ?? (int)OrszagTipusEnum.Magyarorszag; gondviseloCim.Alapertelmezett = gondviseloAlapertelmezettCim == null && tanuloAlapertelmezettCim.Field("Alapertelmezett") == "T"; adat.CimTipus = tanuloAlapertelmezettCim.Field("TipusId"); } if (!adat.GondviseloId.IsEntityId()) { var tanulo = felhasznaloDal.Get(adat.FelhasznaloId); if (adat.ID.IsEntityId()) { var szam = tanulo.Cim.Count(x => !x.Torolt && x.CimTipusa == adat.CimTipus && x.ID != gondviseloCim.ID && x.Gondviselo == null); if (szam == 0) { cimDal.Update(gondviseloCim); UpdateTanuloCimKovTanev(h, kovTanevId, adat.FelhasznaloId); } else { throw new BlException(ErrorResource.AKivalsztottTipusuCimMarFellettveve); } } else { var szam = tanulo.Cim.Count(x => !x.Torolt && x.CimTipusa == adat.CimTipus && x.Gondviselo == null); if (szam == 0) { cimDal.Insert(gondviseloCim); UpdateTanuloCimKovTanev(h, kovTanevId, adat.FelhasznaloId); } else { throw new BlException(ErrorResource.AKivalsztottTipusuCimMarFellettveve); } } } else { gondviseloCim.GondviseloId = adat.GondviseloId.Value; var gondviselo = gondviseloDal.Get(adat.GondviseloId.Value); if (adat.ID.IsEntityId()) { var szam = gondviselo.Cim.Count(x => !x.Torolt && x.CimTipusa == adat.CimTipus && x.ID != gondviseloCim.ID); if (szam == 0) { cimDal.Update(gondviseloCim); } else { throw new BlException(ErrorResource.AKivalsztottTipusuCimMarFellettveve); } } else { var szam = gondviselo.Cim.Count(x => !x.Torolt && x.CimTipusa == adat.CimTipus); if (szam == 0) { cimDal.Insert(gondviseloCim); } else { throw new BlException(ErrorResource.AKivalsztottTipusuCimMarFellettveve); } } } if (kovTanevId.HasValue && kovTanevId != TanevId) { gondviseloDal.FollowUpGondviseloCim(gondviseloCim.IntezmenyId, TanevId, kovTanevId.Value, gondviseloCim.GondviseloId); } }); } public void TanuloGondviseloCimTorlese(int id) { Dal.CustomConnection.Run(ConnectionType, h => h.Cim().Delete(id)); } public BelepesiAdatokListCO TanuloGondviseloMentese(TanuloGondviseloCO adat, bool isSzirIntezmeny, int? kovTanevId) { return Dal.CustomConnection.Run(ConnectionType, h => { var ujGondviselo = true; var gondviseloDal = h.Gondviselo(); var tanuloDal = h.Tanulo(); var emailDal = h.Email(); var telefonDal = h.Telefon(); var felhasznaloBelepesDal = h.FelhasznaloBelepes(); IGondviselo oGondviselo; if (adat.ID.HasValue && adat.ID.Value > 0) { oGondviselo = gondviseloDal.Get(adat.ID.Value); ujGondviselo = false; } else { oGondviselo = gondviseloDal.Get(); oGondviselo.TanevId = TanevId; } oGondviselo.TanuloId = adat.TanuloId; oGondviselo.Nev = adat.GondviseloNeve; oGondviselo.RokonsagFoka = adat.RokonsagiFok ?? default; oGondviselo.IsEmailErtesites = adat.GondviseloAutoEmail; oGondviselo.IsTorvenyesKepviselo = adat.IsTorvenyesKepviselo; if (adat.ID.HasValue && adat.ID.Value > 0) { gondviseloDal.Update(oGondviselo); } else { var ds = tanuloDal.GetGondviselok(adat.TanuloId, TanevId); if (ds.Tables[0].Rows.Count == 0) { oGondviselo.IsTorvenyesKepviselo = true; } gondviseloDal.Insert(oGondviselo); } var gondviseloemail = emailDal.Get(); gondviseloemail.TanevId = TanevId; IEmail tanuloemail; if (adat.TanuloElerhetosegEmailId.HasValue && adat.TanuloElerhetosegEmailId.Value > 0) { tanuloemail = emailDal.GetSpecific(string.Format(" AND ID = {0} AND TOROLT = 'F'", adat.TanuloElerhetosegEmailId.Value), TanevId); } else { tanuloemail = emailDal.Get(); } if (!ujGondviselo && tanuloemail.ID < 0) { gondviseloemail = emailDal.GetSpecific(string.Format(" AND C_GONDVISELOID = {0} AND TOROLT = 'F' AND C_ALAPERTELMEZETT = 'T'", oGondviselo.ID), TanevId); if (gondviseloemail == null) { gondviseloemail = emailDal.Get(); gondviseloemail.TanevId = TanevId; } gondviseloemail.Alapertelmezett = true; gondviseloemail.EmailCim = adat.EmailcimGondviselo; gondviseloemail.EmailTipusa = (int)EmailTipusEnum.Hivatalos; gondviseloemail.GondviseloId = oGondviselo.ID; gondviseloemail.FelhasznaloId = oGondviselo.TanuloId; } if (!ujGondviselo && tanuloemail.ID > 0) { gondviseloemail = emailDal.GetSpecific(string.Format(" AND C_GONDVISELOID = {0} AND TOROLT = 'F' AND C_ALAPERTELMEZETT = 'T'", oGondviselo.ID), TanevId); if (gondviseloemail == null) { gondviseloemail = emailDal.Get(); gondviseloemail.TanevId = TanevId; } gondviseloemail.Alapertelmezett = true; gondviseloemail.EmailCim = tanuloemail.EmailCim; gondviseloemail.EmailTipusa = tanuloemail.EmailTipusa; gondviseloemail.GondviseloId = oGondviselo.ID; gondviseloemail.FelhasznaloId = oGondviselo.TanuloId; } if (ujGondviselo && tanuloemail.ID < 0) { gondviseloemail.Alapertelmezett = true; gondviseloemail.EmailCim = adat.EmailcimGondviselo; gondviseloemail.EmailTipusa = (int)EmailTipusEnum.Hivatalos; gondviseloemail.GondviseloId = oGondviselo.ID; gondviseloemail.FelhasznaloId = oGondviselo.TanuloId; } if (ujGondviselo && tanuloemail.ID > 0) { gondviseloemail.Alapertelmezett = true; gondviseloemail.EmailCim = tanuloemail.EmailCim; gondviseloemail.EmailTipusa = tanuloemail.EmailTipusa; gondviseloemail.GondviseloId = oGondviselo.ID; gondviseloemail.FelhasznaloId = oGondviselo.TanuloId; } if (!string.IsNullOrWhiteSpace(gondviseloemail.EmailCim)) { if (gondviseloemail.ID <= 0) { emailDal.Insert(gondviseloemail); } else { emailDal.FullUpdate(gondviseloemail); } } else if (gondviseloemail.ID > 0) { emailDal.Delete(gondviseloemail.ID); } var gondviselotelefon = telefonDal.Get(); gondviselotelefon.TanevId = TanevId; var tanulotelefon = telefonDal.Get(); if (adat.TanuloElerhetosegTelId.HasValue && adat.TanuloElerhetosegTelId.Value > 0) { tanulotelefon = telefonDal.GetSpecific(string.Format(" AND ID = {0} AND TOROLT = 'F'", adat.TanuloElerhetosegTelId.Value), TanevId); } if (!ujGondviselo && tanulotelefon.ID < 0) { gondviselotelefon = telefonDal.GetSpecific(string.Format(" AND C_GONDVISELOID = {0} AND TOROLT = 'F' AND C_ALAPERTELMEZETT = 'T'", oGondviselo.ID), TanevId); if (gondviselotelefon == null) { gondviselotelefon = telefonDal.Get(); gondviselotelefon.TanevId = TanevId; } gondviselotelefon.Alapertelmezett = true; gondviselotelefon.TelefonSzam = adat.TelefonszamGondviselo; if (adat.TelefonTipusGondviselo != null) { gondviselotelefon.TelefonTipusa = adat.TelefonTipusGondviselo.Value; } gondviselotelefon.GondviseloId = oGondviselo.ID; gondviselotelefon.FelhasznaloId = oGondviselo.TanuloId; } if (!ujGondviselo && tanulotelefon.ID > 0) { gondviselotelefon = telefonDal.GetSpecific(string.Format(" AND C_GONDVISELOID = {0} AND TOROLT = 'F' AND C_ALAPERTELMEZETT = 'T'", oGondviselo.ID), TanevId); if (gondviselotelefon == null) { gondviselotelefon = telefonDal.Get(); gondviselotelefon.TanevId = TanevId; } gondviselotelefon.Alapertelmezett = true; gondviselotelefon.TelefonSzam = tanulotelefon.TelefonSzam; gondviselotelefon.TelefonTipusa = (int)TelefonTipusEnum.Ismeretlen; gondviselotelefon.GondviseloId = oGondviselo.ID; gondviselotelefon.FelhasznaloId = oGondviselo.TanuloId; } if (ujGondviselo && tanulotelefon.ID < 0) { gondviselotelefon.Alapertelmezett = true; gondviselotelefon.TelefonSzam = adat.TelefonszamGondviselo; if (adat.TelefonTipusGondviselo != null) { gondviselotelefon.TelefonTipusa = adat.TelefonTipusGondviselo.Value; } gondviselotelefon.GondviseloId = oGondviselo.ID; gondviselotelefon.FelhasznaloId = oGondviselo.TanuloId; } if (ujGondviselo && tanulotelefon.ID > 0) { gondviselotelefon.Alapertelmezett = true; gondviselotelefon.TelefonSzam = tanulotelefon.TelefonSzam; gondviselotelefon.TelefonTipusa = (int)TelefonTipusEnum.Ismeretlen; gondviselotelefon.GondviseloId = oGondviselo.ID; gondviselotelefon.FelhasznaloId = oGondviselo.TanuloId; } if (!string.IsNullOrWhiteSpace(gondviselotelefon.TelefonSzam)) { if (gondviselotelefon.ID <= 0) { telefonDal.Insert(gondviselotelefon); } else { telefonDal.FullUpdate(gondviselotelefon); } } else if (gondviselotelefon.ID > 0) { telefonDal.Delete(gondviselotelefon.ID); } var belepesiAdatokPdfGeneralasList = SaveGondviseloBelepes(h, tanuloDal, adat, ujGondviselo, oGondviselo, isSzirIntezmeny, kovTanevId); if (kovTanevId.HasValue && kovTanevId != TanevId) { gondviseloDal.FollowUpGondviselo(IntezmenyId, TanevId, kovTanevId.Value, oGondviselo.ID); } return belepesiAdatokPdfGeneralasList; }); } public void TanuloGondviseloTorlese(int id) { Dal.CustomConnection.Run(ConnectionType, h => h.Gondviselo().Delete(id)); } public void UpdateTanuloBesorolas(TanuloCsoportCO tanuloCsoport) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TanuloCsoport(); var dto = dal.Get(tanuloCsoport.ID.Value); var isIntezmenySzakkepzoJuttatas = dto.Intezmeny.IntezmenyAdatok.SingleOrDefault(x => !x.Torolt && x.TanevId == dto.TanevId)?.IsSzakkepzoJuttatas ?? false; var juttatasUpdateNeeded = false; if (dto.TanuloTanugyiAdatok != null) { if (isIntezmenySzakkepzoJuttatas) { juttatasUpdateNeeded = (dto.TanuloTanugyiAdatok.AgazatUjSzktTipusId != tanuloCsoport.AgazatUjSzktTipusId) || (dto.TanuloTanugyiAdatok.SzakmaTipusId != tanuloCsoport.SzakmaTipusId) || (dto.TanuloTanugyiAdatok.SzakmairanyTipusId != tanuloCsoport.SzakmairanyTipusId) || (dto.TanuloTanugyiAdatok.SzakiranyNktTipusId != tanuloCsoport.SzakiranyNktTipusId) || (dto.TanuloTanugyiAdatok.SzakkepesitesNktTipusId != tanuloCsoport.SzakkepesitesNktTipusId) || (dto.TanuloTanugyiAdatok.TanulmanyiTeruletNktTipusId != tanuloCsoport.TanulmanyiTeruletNktTipusId) || (dto.TanuloTanugyiAdatok.AgazatId != tanuloCsoport.AgazatId) || (dto.TanuloTanugyiAdatok.SzakmacsoportId != tanuloCsoport.SzakmacsoportId) || (dto.TanuloTanugyiAdatok.SzakkepesitesId != tanuloCsoport.SzakkepesitesId) || (dto.TanuloTanugyiAdatok.ReszszakkepesitesId != tanuloCsoport.ReszSzakkepesitesId); } dto.TanuloTanugyiAdatok.NaploSorszam = tanuloCsoport.NaploSorszam; dto.TanuloTanugyiAdatok.HozottIgazolatlanHianyzas = tanuloCsoport.HozottIgazolatlanHianyzas ?? default; dto.TanuloTanugyiAdatok.HozottIgazolatlanKesesPercben = tanuloCsoport.HozottIgazolatlanKesesPercben ?? default; dto.TanuloTanugyiAdatok.HozottIgazoltHianyzas = tanuloCsoport.HozottIgazoltHianyzas ?? default; dto.TanuloTanugyiAdatok.HozottIgazoltKesesPercben = tanuloCsoport.HozottIgazoltKesesPercben ?? default; dto.TanuloTanugyiAdatok.IsESL16EvesUtanBelepett = tanuloCsoport.IsESL16EvesUtanBelepett ?? default; dto.TanuloTanugyiAdatok.TorzslapSzam = tanuloCsoport.TorzslapSzam; dto.TanuloTanugyiAdatok.TanuloEvfolyamTipusId = tanuloCsoport.TanuloEvfolyamTipusId; dto.TanuloTanugyiAdatok.AgazatUjSzktTipusId = tanuloCsoport.AgazatUjSzktTipusId; dto.TanuloTanugyiAdatok.SzakmaTipusId = tanuloCsoport.SzakmaTipusId; dto.TanuloTanugyiAdatok.SzakmairanyTipusId = tanuloCsoport.SzakmairanyTipusId; dto.TanuloTanugyiAdatok.SzakiranyNktTipusId = tanuloCsoport.SzakiranyNktTipusId; dto.TanuloTanugyiAdatok.SzakkepesitesNktTipusId = tanuloCsoport.SzakkepesitesNktTipusId; dto.TanuloTanugyiAdatok.TanulmanyiTeruletNktTipusId = tanuloCsoport.TanulmanyiTeruletNktTipusId; dto.TanuloTanugyiAdatok.AgazatId = tanuloCsoport.AgazatId; dto.TanuloTanugyiAdatok.SzakmacsoportId = tanuloCsoport.SzakmacsoportId; dto.TanuloTanugyiAdatok.SzakkepesitesId = tanuloCsoport.SzakkepesitesId; dto.TanuloTanugyiAdatok.ReszszakkepesitesId = tanuloCsoport.ReszSzakkepesitesId; dto.TanuloTanugyiAdatok.AgazatReszSzakmaTipusId = tanuloCsoport.AgazatReszSzakmaTipusId; dto.TanuloTanugyiAdatok.ReszSzakmaTipusId = tanuloCsoport.ReszSzakmaTipusId; dto.TanuloTanugyiAdatok.SzakmaReszSzakmaTipusId = tanuloCsoport.SzakmaReszSzakmaTipusId; if (tanuloCsoport.TantervId.IsEntityId()) { dto.TanuloTanugyiAdatok.TantervId = (int)tanuloCsoport.TantervId; } } dto.BelepesDatum = tanuloCsoport.BelepDatum; dto.Megjegyzes = tanuloCsoport.Megjegyzes; dto.BefogadoIntezmeny = tanuloCsoport.BefogadoIntezmeny; dto.KilepesDatum = tanuloCsoport.KilepDatum; juttatasUpdateNeeded = juttatasUpdateNeeded || (dto.JogviszonyTipusID != tanuloCsoport.JogviszonyTipusId); dto.JogviszonyTipusID = tanuloCsoport.JogviszonyTipusId; dal.FullUpdate(dto); if (isIntezmenySzakkepzoJuttatas && juttatasUpdateNeeded) { UpdateTanuloSzakkepzesiJuttatasok(dto.TanevId, dto.TanuloId, h); } }); } public void UpdateTobbesTanuloBesorolas(TanuloCsoportCO tanuloCsoport, bool isSelectedTanev21_22OrLater) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TanuloCsoport(); var dto = dal.Get(tanuloCsoport.ID.Value); var isIntezmenySzakkepzoJuttatas = dto.Intezmeny.IntezmenyAdatok.SingleOrDefault(x => !x.Torolt && x.TanevId == dto.TanevId)?.IsSzakkepzoJuttatas ?? false; var juttatasUpdateNeeded = false; if (tanuloCsoport.BelepDatum.HasValue) { dto.BelepesDatum = tanuloCsoport.BelepDatum.Value; } if (!string.IsNullOrWhiteSpace(tanuloCsoport.Megjegyzes)) { dto.Megjegyzes = tanuloCsoport.Megjegyzes; } if (!string.IsNullOrWhiteSpace(tanuloCsoport.BefogadoIntezmeny)) { dto.BefogadoIntezmeny = tanuloCsoport.BefogadoIntezmeny; } if (tanuloCsoport.KilepDatum.HasValue) { dto.KilepesDatum = tanuloCsoport.KilepDatum; } if (dto.TanuloTanugyiAdatok != null) { if (isIntezmenySzakkepzoJuttatas) { juttatasUpdateNeeded = (tanuloCsoport.AgazatUjSzktTipusId.HasValue && (dto.TanuloTanugyiAdatok.AgazatUjSzktTipusId != tanuloCsoport.AgazatUjSzktTipusId)) || (tanuloCsoport.SzakmaTipusId.HasValue && (dto.TanuloTanugyiAdatok.SzakmaTipusId != tanuloCsoport.SzakmaTipusId)) || (tanuloCsoport.SzakmairanyTipusId.HasValue && (dto.TanuloTanugyiAdatok.SzakmairanyTipusId != tanuloCsoport.SzakmairanyTipusId)) || (tanuloCsoport.SzakiranyNktTipusId.HasValue && (dto.TanuloTanugyiAdatok.SzakiranyNktTipusId != tanuloCsoport.SzakiranyNktTipusId)) || (tanuloCsoport.SzakkepesitesNktTipusId.HasValue && (dto.TanuloTanugyiAdatok.SzakkepesitesNktTipusId != tanuloCsoport.SzakkepesitesNktTipusId)) || (tanuloCsoport.TanulmanyiTeruletNktTipusId.HasValue && (dto.TanuloTanugyiAdatok.TanulmanyiTeruletNktTipusId != tanuloCsoport.TanulmanyiTeruletNktTipusId)) || (tanuloCsoport.AgazatId.HasValue && (dto.TanuloTanugyiAdatok.AgazatId != tanuloCsoport.AgazatId)) || (tanuloCsoport.SzakmacsoportId.HasValue && (dto.TanuloTanugyiAdatok.SzakmacsoportId != tanuloCsoport.SzakmacsoportId)) || (tanuloCsoport.SzakkepesitesId.HasValue && (dto.TanuloTanugyiAdatok.SzakkepesitesId != tanuloCsoport.SzakkepesitesId)) || (tanuloCsoport.ReszSzakkepesitesId.HasValue && (dto.TanuloTanugyiAdatok.ReszszakkepesitesId != tanuloCsoport.ReszSzakkepesitesId)); } if (isSelectedTanev21_22OrLater) { var feladatEllatasiHelyHelper = new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h)); var osztalyJellemzok = feladatEllatasiHelyHelper.GetOsztalyJellemzoi(tanulocsoportId: tanuloCsoport.ID); var isSzakkepzeses = osztalyJellemzok[OsztalyJellemzoEnum.IsSzakkepzeses]; var isNKTSzakkepzeses = osztalyJellemzok[OsztalyJellemzoEnum.IsNKTSzakkepzeses]; if (isSzakkepzeses || isNKTSzakkepzeses) { if (tanuloCsoport.AgazatUjSzktTipusId.HasValue || tanuloCsoport.SzakmaTipusId.HasValue || tanuloCsoport.SzakmairanyTipusId.HasValue) { if (tanuloCsoport.AgazatUjSzktTipusId.HasValue) { dto.TanuloTanugyiAdatok.AgazatUjSzktTipusId = tanuloCsoport.AgazatUjSzktTipusId; } if (tanuloCsoport.SzakmaTipusId.HasValue) { dto.TanuloTanugyiAdatok.SzakmaTipusId = tanuloCsoport.SzakmaTipusId; } if (tanuloCsoport.SzakmairanyTipusId.HasValue) { dto.TanuloTanugyiAdatok.SzakmairanyTipusId = tanuloCsoport.SzakmairanyTipusId; } SetNktAdatokNa(dto.TanuloTanugyiAdatok); SetOkjAdatokNa(dto.TanuloTanugyiAdatok); SetReszszakkepesitesAdatokNa(dto.TanuloTanugyiAdatok); } else if (tanuloCsoport.SzakiranyNktTipusId.HasValue || tanuloCsoport.SzakkepesitesNktTipusId.HasValue || tanuloCsoport.TanulmanyiTeruletNktTipusId.HasValue) { if (tanuloCsoport.SzakiranyNktTipusId.HasValue) { dto.TanuloTanugyiAdatok.SzakiranyNktTipusId = tanuloCsoport.SzakiranyNktTipusId; } if (tanuloCsoport.SzakkepesitesNktTipusId.HasValue) { dto.TanuloTanugyiAdatok.SzakkepesitesNktTipusId = tanuloCsoport.SzakkepesitesNktTipusId; } if (tanuloCsoport.TanulmanyiTeruletNktTipusId.HasValue) { dto.TanuloTanugyiAdatok.TanulmanyiTeruletNktTipusId = tanuloCsoport.TanulmanyiTeruletNktTipusId; } SetUjSzktAdatokNa(dto.TanuloTanugyiAdatok); SetOkjAdatokNa(dto.TanuloTanugyiAdatok); SetReszszakkepesitesAdatokNa(dto.TanuloTanugyiAdatok); } else if (tanuloCsoport.AgazatId.HasValue || tanuloCsoport.SzakmacsoportId.HasValue || tanuloCsoport.SzakkepesitesId.HasValue || tanuloCsoport.ReszSzakkepesitesId.HasValue) { if (tanuloCsoport.AgazatId.HasValue) { dto.TanuloTanugyiAdatok.AgazatId = tanuloCsoport.AgazatId; } if (tanuloCsoport.SzakmacsoportId.HasValue) { dto.TanuloTanugyiAdatok.SzakmacsoportId = tanuloCsoport.SzakmacsoportId; } if (tanuloCsoport.SzakkepesitesId.HasValue) { dto.TanuloTanugyiAdatok.SzakkepesitesId = tanuloCsoport.SzakkepesitesId; } if (tanuloCsoport.ReszSzakkepesitesId.HasValue) { dto.TanuloTanugyiAdatok.ReszszakkepesitesId = tanuloCsoport.ReszSzakkepesitesId; } SetNktAdatokNa(dto.TanuloTanugyiAdatok); SetUjSzktAdatokNa(dto.TanuloTanugyiAdatok); SetReszszakkepesitesAdatokNa(dto.TanuloTanugyiAdatok); } else if (tanuloCsoport.ReszSzakmaTipusId.HasValue || tanuloCsoport.AgazatReszSzakmaTipusId.HasValue || tanuloCsoport.SzakmaReszSzakmaTipusId.HasValue) { if (tanuloCsoport.ReszSzakmaTipusId.HasValue) { dto.TanuloTanugyiAdatok.ReszSzakmaTipusId = tanuloCsoport.ReszSzakmaTipusId; } if (tanuloCsoport.AgazatReszSzakmaTipusId.HasValue) { dto.TanuloTanugyiAdatok.AgazatReszSzakmaTipusId = tanuloCsoport.AgazatReszSzakmaTipusId; } if (tanuloCsoport.SzakmaReszSzakmaTipusId.HasValue) { dto.TanuloTanugyiAdatok.SzakmaReszSzakmaTipusId = tanuloCsoport.SzakmaReszSzakmaTipusId; } SetNktAdatokNa(dto.TanuloTanugyiAdatok); SetUjSzktAdatokNa(dto.TanuloTanugyiAdatok); SetOkjAdatokNa(dto.TanuloTanugyiAdatok); } } } else { if (tanuloCsoport.AgazatUjSzktTipusId.HasValue) { dto.TanuloTanugyiAdatok.AgazatUjSzktTipusId = tanuloCsoport.AgazatUjSzktTipusId; } if (tanuloCsoport.SzakmaTipusId.HasValue) { dto.TanuloTanugyiAdatok.SzakmaTipusId = tanuloCsoport.SzakmaTipusId; } if (tanuloCsoport.SzakmairanyTipusId.HasValue) { dto.TanuloTanugyiAdatok.SzakmairanyTipusId = tanuloCsoport.SzakmairanyTipusId; } if (tanuloCsoport.SzakiranyNktTipusId.HasValue) { dto.TanuloTanugyiAdatok.SzakiranyNktTipusId = tanuloCsoport.SzakiranyNktTipusId; } if (tanuloCsoport.SzakkepesitesNktTipusId.HasValue) { dto.TanuloTanugyiAdatok.SzakkepesitesNktTipusId = tanuloCsoport.SzakkepesitesNktTipusId; } if (tanuloCsoport.TanulmanyiTeruletNktTipusId.HasValue) { dto.TanuloTanugyiAdatok.TanulmanyiTeruletNktTipusId = tanuloCsoport.TanulmanyiTeruletNktTipusId; } if (tanuloCsoport.AgazatId.HasValue) { dto.TanuloTanugyiAdatok.AgazatId = tanuloCsoport.AgazatId; } if (tanuloCsoport.SzakmacsoportId.HasValue) { dto.TanuloTanugyiAdatok.SzakmacsoportId = tanuloCsoport.SzakmacsoportId; } if (tanuloCsoport.SzakkepesitesId.HasValue) { dto.TanuloTanugyiAdatok.SzakkepesitesId = tanuloCsoport.SzakkepesitesId; } if (tanuloCsoport.ReszSzakkepesitesId.HasValue) { dto.TanuloTanugyiAdatok.ReszszakkepesitesId = tanuloCsoport.ReszSzakkepesitesId; } } } if (tanuloCsoport.JogviszonyTipusId.HasValue) { juttatasUpdateNeeded = juttatasUpdateNeeded || (dto.JogviszonyTipusID != tanuloCsoport.JogviszonyTipusId); dto.JogviszonyTipusID = tanuloCsoport.JogviszonyTipusId; } dal.FullUpdate(dto); if (isIntezmenySzakkepzoJuttatas && juttatasUpdateNeeded) { UpdateTanuloSzakkepzesiJuttatasok(dto.TanevId, dto.TanuloId, h); } }); } public void UpdateTanuloCsoportBesorolasDatum(List ids, DateTime aktTanevSzept1Datum) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); dal.UpdateTanuloCsoportBesorolasDatum(ids, FelhasznaloId, aktTanevSzept1Datum); }); } public List GetBesorolasTobbesModTanuloValidationItems(List tanuloCsoportIdArray) { var dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.Tanulo().GetBesorolasTobbesModTanuloValidationItems(tanuloCsoportIdArray)); var result = new List(); foreach (var dataRow in dataSet.Tables[0].AsEnumerable()) { var item = new BesorolasTobbesModTanuloValidationItemCo(dataRow); result.Add(item); } return result; } public void DeleteTanuloCsoport(int tanuloCsoportId) { Dal.CustomConnection.Run(ConnectionType, h => { var tanuloCsoportDal = h.TanuloCsoport(); var tanuloCsoport = tanuloCsoportDal.Get(tanuloCsoportId); tanuloCsoportDal.Delete(tanuloCsoportId); if (tanuloCsoport.OsztalyCsoport.FeladatKategoriaId == (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas) { var foglalkozasAmiTanuloDal = h.FoglalkozasAmiTanuloDal(); var foglalkozasIdsList = foglalkozasAmiTanuloDal.GetFoglalkozasIdsListByTanuloAndOsztalyCsoportId(tanuloCsoport.TanuloId, tanuloCsoport.OsztalyCsoportId); var csoportDal = h.Csoport(); var csoport = csoportDal.Get(tanuloCsoport.OsztalyCsoportId); var foglalkozasDal = h.Foglalkozas(); foreach (var (foglalkozasAmiTanuloId, foglalkozasId) in foglalkozasIdsList) { foglalkozasAmiTanuloDal.Delete(foglalkozasAmiTanuloId); if (csoport.IsAutoEgyeniCsoport) { foglalkozasDal.Delete(foglalkozasId); } } if (csoport.IsAutoEgyeniCsoport) { csoportDal.Delete(tanuloCsoport.OsztalyCsoportId, IntezmenyId, TanevId); } } }); } public bool TanuloTobbesModify(TanuloTobbesModAdatCO model, int? kovTanevId, OsztalyCsoportHelper osztalyCsoportHelper, bool isSelectedTanev21_22OrLater, bool isSzakkepzoIntezmeny, FeladatEllatasiHelyHelper feladatEllatasiHelyHelper) { if (!model.ID.HasValue) { throw new BlException("Tanulo Id nem lehet null"); } return Dal.CustomConnection.Run(ConnectionType, h => { var needJuttatasUpdate = false; var tanuloCsoport = GetTanuloCsoport(h, model.ID.Value, model.OsztalyId, kovTanevId, false); if (tanuloCsoport.ID.HasValue) { var tanuloCsoportDal = h.TanuloCsoport(); var oTanuloCsoport = tanuloCsoportDal.Get(tanuloCsoport.ID.Value); needJuttatasUpdate = needJuttatasUpdate || oTanuloCsoport.JogviszonyTipusID != model.Jogviszony; if (model.Jogviszony.HasValue) { oTanuloCsoport.JogviszonyTipusID = model.Jogviszony; } if (osztalyCsoportHelper.IsOsztaly(tanuloCsoport.OsztalyCsoportId)) { var tanuloTanugyiAdatok = oTanuloCsoport.TanuloTanugyiAdatok; needJuttatasUpdate = needJuttatasUpdate || (model.Vendeg.HasValue && tanuloTanugyiAdatok.Vendeg != model.Vendeg.ToBool()) || (model.Tanuloszerzodeses.HasValue && tanuloTanugyiAdatok.TanuloSzerzodeses != model.Tanuloszerzodeses.ToBool()) || (model.Evismetlo.HasValue && tanuloTanugyiAdatok.Evismetlo != model.Evismetlo.ToBool()) || (model.JogviszonySzuneteltetese.HasValue && tanuloTanugyiAdatok.JogviszonyatSzunetelteto != model.JogviszonySzuneteltetese.ToBool()) || (model.IsBeszamitasosTanulo.HasValue && tanuloTanugyiAdatok.IsBeszamitasos != model.IsBeszamitasosTanulo.ToBool()) || (model.IsBeszamitasosFixSzazalek.HasValue && tanuloTanugyiAdatok.IsBeszamitasosFixSzazalek != model.IsBeszamitasosFixSzazalek.Value); if (isSelectedTanev21_22OrLater) { needJuttatasUpdate = needJuttatasUpdate || (model.AgazatUjSzktTipusId.HasValue && tanuloTanugyiAdatok.AgazatUjSzktTipusId != model.AgazatUjSzktTipusId) || (model.SzakmaTipusId.HasValue && tanuloTanugyiAdatok.SzakmaTipusId != model.SzakmaTipusId) || (model.SzakmairanyTipusId.HasValue && tanuloTanugyiAdatok.SzakmairanyTipusId != model.SzakmairanyTipusId) || (model.SzakiranyNktTipusId.HasValue && tanuloTanugyiAdatok.SzakiranyNktTipusId != model.SzakiranyNktTipusId) || (model.SzakkepesitesNktTipusId.HasValue && tanuloTanugyiAdatok.SzakkepesitesNktTipusId != model.SzakkepesitesNktTipusId) || (model.TanulmanyiTeruletNktTipusId.HasValue && tanuloTanugyiAdatok.TanulmanyiTeruletNktTipusId != model.TanulmanyiTeruletNktTipusId) || (model.AgazatId.HasValue && tanuloTanugyiAdatok.AgazatId != model.AgazatId) || (model.SzakmacsoportId.HasValue && tanuloTanugyiAdatok.SzakmacsoportId != model.SzakmacsoportId) || (model.SzakkepesitesId.HasValue && tanuloTanugyiAdatok.SzakkepesitesId != model.SzakkepesitesId) || (model.ReszSzakkepesitesId.HasValue && tanuloTanugyiAdatok.ReszszakkepesitesId != model.ReszSzakkepesitesId); } if (model.TantervId.HasValue) { tanuloTanugyiAdatok.TantervId = model.TantervId.Value; } if (model.FelvetelTaneveId.HasValue) { tanuloTanugyiAdatok.FelvetelTaneveId = model.FelvetelTaneveId.Value; } if (model.NyilvantartastartasKezdete.HasValue) { tanuloTanugyiAdatok.NyilvantartasKezdete = model.NyilvantartastartasKezdete.Value; } if (model.JogviszonyBefejezese.HasValue) { tanuloTanugyiAdatok.JogviszonyVarhatoBefejezese = model.JogviszonyBefejezese.Value; } if (model.JogviszonySzuneteltetese.HasValue) { tanuloTanugyiAdatok.JogviszonyatSzunetelteto = model.JogviszonySzuneteltetese.ToBool(); } if (model.TankotelezettsegetTeljesito.HasValue) { tanuloTanugyiAdatok.Tankotelezett = model.TankotelezettsegetTeljesito.ToBool(); } if (model.TankotelezettsegVege.HasValue) { tanuloTanugyiAdatok.TankotelezettsegVege = model.TankotelezettsegVege; } if (model.Magantanulo.HasValue) { tanuloTanugyiAdatok.Magantanulo = model.Magantanulo.ToBool(); } if (model.MagantanulosagOka.HasValue) { tanuloTanugyiAdatok.MagantanulosaganakOkaId = model.MagantanulosagOka.Value; } if (model.MagantanulosagKezdete.HasValue) { tanuloTanugyiAdatok.MagantanulosagKezdete = model.MagantanulosagKezdete.Value; } if (model.MagantanulosagVege.HasValue) { tanuloTanugyiAdatok.MagantanulosagVege = model.MagantanulosagVege.Value; } if (model.Vendeg.HasValue) { tanuloTanugyiAdatok.Vendeg = model.Vendeg.ToBool(); } if (model.TandijatFizeto.HasValue) { tanuloTanugyiAdatok.TandijatFizeto = model.TandijatFizeto.ToBool(); } if (model.TeritestFizeto.HasValue) { tanuloTanugyiAdatok.TeritesiDijatFizeto = model.TeritestFizeto.ToBool(); } if (model.Tanuloszerzodeses.HasValue) { tanuloTanugyiAdatok.TanuloSzerzodeses = model.Tanuloszerzodeses.ToBool(); if (model.Tanuloszerzodeses.ToBool()) { tanuloTanugyiAdatok.IsSzakkepzesiMunkaszerzodessel = false; tanuloTanugyiAdatok.Egyuttmukodeses = false; } } if (model.EgyuttmukodesiMegallpodasos.HasValue) { tanuloTanugyiAdatok.Egyuttmukodeses = model.EgyuttmukodesiMegallpodasos.ToBool(); if (model.EgyuttmukodesiMegallpodasos.ToBool()) { tanuloTanugyiAdatok.TanuloSzerzodeses = false; tanuloTanugyiAdatok.IsSzakkepzesiMunkaszerzodessel = false; } } if (model.PolgariSzerzodeses.HasValue) { tanuloTanugyiAdatok.PolgariSzerzodeses = model.PolgariSzerzodeses.ToBool(); } if (model.DiaksportkorTag.HasValue) { tanuloTanugyiAdatok.Diaksportkoros = model.DiaksportkorTag.ToBool(); } if (model.Evismetlo.HasValue) { tanuloTanugyiAdatok.Evismetlo = model.Evismetlo.ToBool(); } if (model.SZKTV.HasValue) { tanuloTanugyiAdatok.SZKTV = model.SZKTV.ToBool(); } if (model.SZETV.HasValue) { tanuloTanugyiAdatok.SZETVAgazat = model.SZETV.ToBool(); } if (model.OSZTV.HasValue) { tanuloTanugyiAdatok.OSZTV = model.OSZTV.ToBool(); } if (model.EgyebOrszagosDonto.HasValue) { tanuloTanugyiAdatok.EgyebOrszagosDonto = model.EgyebOrszagosDonto.ToBool(); } if (model.TechnikusiEvfolyam.HasValue) { tanuloTanugyiAdatok.TechnikusiEvfolyam = model.TechnikusiEvfolyam.ToBool(); } if (model.KizarolagIskolaiKeretekKozott.HasValue) { tanuloTanugyiAdatok.IskolaiKeretekKozott = model.KizarolagIskolaiKeretekKozott.ToBool(); } if (model.SzakmaiGyakorlatonTartozkodik.HasValue) { tanuloTanugyiAdatok.SzakmaiGyakorlaton = model.SzakmaiGyakorlatonTartozkodik.ToBool(); } if (model.Bejaro.HasValue) { tanuloTanugyiAdatok.Bejaro = model.Bejaro.ToBool(); } if (model.ESL16EvesUtanBelepett.HasValue) { tanuloTanugyiAdatok.IsESL16EvesUtanBelepett = model.ESL16EvesUtanBelepett.ToBool(); } if (model.TanterviJellemzoId.HasValue) { tanuloTanugyiAdatok.TanterviJellemzoId = model.TanterviJellemzoId; } if (model.TanuloEvfolyamTipusId.HasValue) { tanuloTanugyiAdatok.TanuloEvfolyamTipusId = model.TanuloEvfolyamTipusId; } if (isSelectedTanev21_22OrLater) { var osztalyJellemzok = feladatEllatasiHelyHelper.GetOsztalyJellemzoi(osztalyId: oTanuloCsoport.OsztalyCsoportId, tanulocsoportId: oTanuloCsoport.ID); var isSzakkepzeses = osztalyJellemzok[OsztalyJellemzoEnum.IsSzakkepzeses]; var isNKTSzakkepzeses = osztalyJellemzok[OsztalyJellemzoEnum.IsNKTSzakkepzeses]; if (isSzakkepzeses || isNKTSzakkepzeses) { if (model.AgazatUjSzktTipusId.HasValue || model.SzakmaTipusId.HasValue || model.SzakmairanyTipusId.HasValue) { if (model.AgazatUjSzktTipusId.HasValue) { tanuloTanugyiAdatok.AgazatUjSzktTipusId = model.AgazatUjSzktTipusId; } if (model.SzakmaTipusId.HasValue) { tanuloTanugyiAdatok.SzakmaTipusId = model.SzakmaTipusId; } if (model.SzakmairanyTipusId.HasValue) { tanuloTanugyiAdatok.SzakmairanyTipusId = model.SzakmairanyTipusId; } SetNktAdatokNa(tanuloTanugyiAdatok); SetOkjAdatokNa(tanuloTanugyiAdatok); SetReszszakkepesitesAdatokNa(tanuloTanugyiAdatok); } else if (model.SzakiranyNktTipusId.HasValue || model.SzakkepesitesNktTipusId.HasValue || model.TanulmanyiTeruletNktTipusId.HasValue) { if (model.SzakiranyNktTipusId.HasValue) { tanuloTanugyiAdatok.SzakiranyNktTipusId = model.SzakiranyNktTipusId; } if (model.SzakkepesitesNktTipusId.HasValue) { tanuloTanugyiAdatok.SzakkepesitesNktTipusId = model.SzakkepesitesNktTipusId; } if (model.TanulmanyiTeruletNktTipusId.HasValue) { tanuloTanugyiAdatok.TanulmanyiTeruletNktTipusId = model.TanulmanyiTeruletNktTipusId; } SetUjSzktAdatokNa(tanuloTanugyiAdatok); SetOkjAdatokNa(tanuloTanugyiAdatok); SetReszszakkepesitesAdatokNa(tanuloTanugyiAdatok); } else if (model.AgazatId.HasValue || model.SzakmacsoportId.HasValue || model.SzakkepesitesId.HasValue || model.ReszSzakkepesitesId.HasValue) { if (model.AgazatId.HasValue) { tanuloTanugyiAdatok.AgazatId = model.AgazatId; } if (model.SzakmacsoportId.HasValue) { tanuloTanugyiAdatok.SzakmacsoportId = model.SzakmacsoportId; } if (model.SzakkepesitesId.HasValue) { tanuloTanugyiAdatok.SzakkepesitesId = model.SzakkepesitesId; } if (model.ReszSzakkepesitesId.HasValue) { tanuloTanugyiAdatok.ReszszakkepesitesId = model.ReszSzakkepesitesId; } SetNktAdatokNa(tanuloTanugyiAdatok); SetUjSzktAdatokNa(tanuloTanugyiAdatok); SetReszszakkepesitesAdatokNa(tanuloTanugyiAdatok); } else if (model.ReszSzakmaTipusId.HasValue || model.AgazatReszSzakmaTipusId.HasValue || model.SzakmaReszSzakmaTipusId.HasValue) { if (model.ReszSzakmaTipusId.HasValue) { tanuloTanugyiAdatok.ReszSzakmaTipusId = model.ReszSzakmaTipusId; } if (model.AgazatReszSzakmaTipusId.HasValue) { tanuloTanugyiAdatok.AgazatReszSzakmaTipusId = model.AgazatReszSzakmaTipusId; } if (model.SzakmaReszSzakmaTipusId.HasValue) { tanuloTanugyiAdatok.SzakmaReszSzakmaTipusId = model.SzakmaReszSzakmaTipusId; } SetNktAdatokNa(tanuloTanugyiAdatok); SetUjSzktAdatokNa(tanuloTanugyiAdatok); SetOkjAdatokNa(tanuloTanugyiAdatok); } } if (isSzakkepzoIntezmeny && model.TanterviJellegId.HasValue) { tanuloTanugyiAdatok.TanterviJellegId = model.TanterviJellegId; } if (isSzakkepzoIntezmeny && model.IsSzakkepzesiMunkaszerzodessel.HasValue) { if (model.IsSzakkepzesiMunkaszerzodessel.ToBool()) { if ((model.SzakkepzesiMunkaszerzodesList?.Count ?? 0) > 0) { model.SzakkepzesiMunkaszerzodesList.ForEach(delegate (SzakkepzesiMunkaszerzodesItemCo x) { if (x.Status == KendoLocalDataItemStatus.Inserted.ToString()) { SaveOrUpdateSzakkepzesiMunkaszerzodes(x.Id, model.ID.Value, x.Kezdete.Value, x.Vege.Value, x.SzervezetId.Value); } }); } } } } else { if (model.AgazatUjSzktTipusId.HasValue) { tanuloTanugyiAdatok.AgazatUjSzktTipusId = model.AgazatUjSzktTipusId; } if (model.SzakmaTipusId.HasValue) { tanuloTanugyiAdatok.SzakmaTipusId = model.SzakmaTipusId; } if (model.SzakmairanyTipusId.HasValue) { tanuloTanugyiAdatok.SzakmairanyTipusId = model.SzakmairanyTipusId; } if (model.SzakiranyNktTipusId.HasValue) { tanuloTanugyiAdatok.SzakiranyNktTipusId = model.SzakiranyNktTipusId; } if (model.SzakkepesitesNktTipusId.HasValue) { tanuloTanugyiAdatok.SzakkepesitesNktTipusId = model.SzakkepesitesNktTipusId; } if (model.TanulmanyiTeruletNktTipusId.HasValue) { tanuloTanugyiAdatok.TanulmanyiTeruletNktTipusId = model.TanulmanyiTeruletNktTipusId; } if (model.AgazatId.HasValue) { tanuloTanugyiAdatok.AgazatId = model.AgazatId; } if (model.SzakmacsoportId.HasValue) { tanuloTanugyiAdatok.SzakmacsoportId = model.SzakmacsoportId; } if (model.SzakkepesitesId.HasValue) { tanuloTanugyiAdatok.SzakkepesitesId = model.SzakkepesitesId; } if (model.ReszSzakkepesitesId.HasValue) { tanuloTanugyiAdatok.ReszszakkepesitesId = model.ReszSzakkepesitesId; } } if (model.IsSzakkepzesiMunkaszerzodessel.HasValue) { tanuloTanugyiAdatok.IsSzakkepzesiMunkaszerzodessel = model.IsSzakkepzesiMunkaszerzodessel.ToBool(); if (model.IsSzakkepzesiMunkaszerzodessel.ToBool()) { tanuloTanugyiAdatok.TanuloSzerzodeses = false; tanuloTanugyiAdatok.Egyuttmukodeses = false; } } if (model.TanuloSzervezetId.HasValue) { tanuloTanugyiAdatok.SzervezetId = model.TanuloSzervezetId.Value; } if (model.IsBeszamitasosTanulo.HasValue) { tanuloTanugyiAdatok.IsBeszamitasos = model.IsBeszamitasosTanulo.ToBool(); } if (model.IsBeszamitasosFixSzazalek.HasValue) { tanuloTanugyiAdatok.IsBeszamitasosFixSzazalek = model.IsBeszamitasosFixSzazalek.Value; } if (model.MuveszetiAgId.HasValue) { tanuloTanugyiAdatok.MuveszetiAgId = model.MuveszetiAgId; } if (model.MufajTipusId.HasValue) { tanuloTanugyiAdatok.MufajTipusId = model.MufajTipusId; } if (model.TanszakTipusId.HasValue) { tanuloTanugyiAdatok.TanszakTipusId = model.TanszakTipusId; } if (model.Is9kozul8ElozotanevbenVegezte.HasValue) { tanuloTanugyiAdatok.Is9kozul8ElozotanevbenVegezte = model.Is9kozul8ElozotanevbenVegezte.ToBool(); } if (model.IsKiemeltenTehetseges.HasValue) { tanuloTanugyiAdatok.IsKiemeltenTehetseges = model.IsKiemeltenTehetseges.ToBool(); } if (model.IsSzamitogepetOktCelraHasznal.HasValue) { tanuloTanugyiAdatok.IsSzamitogepetOktCelraHasznal = model.IsSzamitogepetOktCelraHasznal.ToBool(); } if (model.IsSzabokyAdolfSzakkepODReszesul.HasValue) { tanuloTanugyiAdatok.IsSzabokyAdolfSzakkepODReszesul = model.IsSzabokyAdolfSzakkepODReszesul.ToBool(); } if (model.IsEgesznaposIskOktReszesul.HasValue) { tanuloTanugyiAdatok.IsEgesznaposIskOktReszesul = model.IsEgesznaposIskOktReszesul.ToBool(); } if (model.AgazatAlapOktMegnevTipusId.HasValue) { tanuloTanugyiAdatok.AgazatAlapOktMegnevTipusId = model.AgazatAlapOktMegnevTipusId.Value; } if (model.AgazatAlapVizsgaEredTipusId.HasValue) { tanuloTanugyiAdatok.AgazatAlapVizsgaEredTipusId = model.AgazatAlapVizsgaEredTipusId.Value; } if (model.AgazatiAlapvizsgaDatuma.HasValue) { tanuloTanugyiAdatok.AgazatiAlapVizsgaTeljesites = model.AgazatiAlapvizsgaDatuma.Value; } if (model.AgazatiAlapvizsgaEredmenye.HasValue) { tanuloTanugyiAdatok.AgazatiAlapvizsgaEredmenye = model.AgazatiAlapvizsgaEredmenye.Value; } if (model.AgazatiAlapvizsgaEredmenyeSzazalek.HasValue) { tanuloTanugyiAdatok.AgazatiAlapvizsgaEredmenyeSz = model.AgazatiAlapvizsgaEredmenyeSzazalek.Value; } } tanuloCsoportDal.FullUpdate(oTanuloCsoport); } var dal = h.Tanulo(); var oTanulo = dal.Get(model.ID.Value); needJuttatasUpdate = needJuttatasUpdate || oTanulo.JogviszonyTipusID != model.Jogviszony || (model.IsSikeresAgazatiVizsga.HasValue && oTanulo.IsSikeresAgazatiVizsga != model.IsSikeresAgazatiVizsga.Value) || (model.IsAtlagSzakkepzesi.HasValue && oTanulo.IsAtlagSzakkepzesi != model.IsAtlagSzakkepzesi.Value) || (model.IsIngyenesKepzes.HasValue && oTanulo.IsIngyenesKepzes != model.IsIngyenesKepzes.ToBool()); if (model.Allampolgarsag.HasValue) { oTanulo.Allampolgarsaga = model.Allampolgarsag.Value; } if (model.Anyanyelv.HasValue) { oTanulo.Anyanyelve = model.Anyanyelv.Value; } if (model.Allampolgarsag2.HasValue) { oTanulo.Allampolgarsaga2 = model.Allampolgarsag2.Value; } if (model.SzuletesiOrszag.HasValue) { oTanulo.SzuletesiOrszag = model.SzuletesiOrszag.Value; } if (model.IngyenesTankonyvEllatas.HasValue) { oTanulo.IngyenesTankonvyEllatasa = model.IngyenesTankonyvEllatas.Value; } if (model.SzocialisTamogatas.HasValue) { oTanulo.SzocialisTamogatas = model.SzocialisTamogatas.ToBool(); } if (model.TestnevelesTipusa.HasValue) { oTanulo.TestnevelesTipusa = model.TestnevelesTipusa.Value; } if (model.KollegiumiEllatasu.HasValue) { oTanulo.KollegiumiEllatasos = model.KollegiumiEllatasu.ToBool(); } if (model.EtkezesiKedvezmeny.HasValue) { oTanulo.EtkezesiKedvezmeny = model.EtkezesiKedvezmeny.Value; } if (model.IntezetiNevelt.HasValue) { oTanulo.AllamiGondozott = model.IntezetiNevelt.ToBool(); } if (model.HatranyosHelyzet.HasValue) { oTanulo.HatranyosHelyzetu = model.HatranyosHelyzet.Value; } if (model.Veszelyeztetett.HasValue) { oTanulo.Veszelyeztetett = model.Veszelyeztetett.ToBool(); } if (model.Vallasa.HasValue) { oTanulo.Vallasa = model.Vallasa.Value; } if (!string.IsNullOrWhiteSpace(model.Egyhazkozossege)) { oTanulo.Egyhazkozossege = model.Egyhazkozossege; } if (!string.IsNullOrWhiteSpace(model.Sportag)) { oTanulo.Sportag = model.Sportag; } if (!string.IsNullOrWhiteSpace(model.Sportklub)) { oTanulo.Sportklub = model.Sportklub; } if (!string.IsNullOrWhiteSpace(model.SportedzoElerhetoseg)) { oTanulo.SportedzoNeve = model.SportedzoElerhetoseg; } if (model.MenekultOltalmazottMenedekes.HasValue) { oTanulo.MenedekjoggalRendelkezo = model.MenekultOltalmazottMenedekes.ToBool(); } if (model.BeilleszkedesiNehezseg.HasValue) { oTanulo.BeilleszkedesiNehezseg = model.BeilleszkedesiNehezseg.ToBool(); } if (model.Jogviszony.HasValue) { oTanulo.JogviszonyTipusID = model.Jogviszony; } if (model.IsExternatusiEllatasban.HasValue) { oTanulo.IsExternatusiEllatasban = model.IsExternatusiEllatasban.ToBool(); } if (model.IsNapkoziotthoniEllatasban.HasValue) { oTanulo.IsNapkoziotthoniEllatasban = model.IsNapkoziotthoniEllatasban.ToBool(); } // Note: ha a tanulónak van osztálya, akkor az ahhoz kapcsolódó tanulotanugyiadat-ba kell menteni, egyébként a tanulo-ba if (!tanuloCsoport.ID.HasValue) { needJuttatasUpdate = needJuttatasUpdate || (model.Vendeg.HasValue && oTanulo.Vendeg != model.Vendeg.ToBool()) || (model.Tanuloszerzodeses.HasValue && oTanulo.TanuloSzerzodeses != model.Tanuloszerzodeses.ToBool()) || (model.Evismetlo.HasValue && oTanulo.Evismetlo != model.Evismetlo.ToBool()) || (model.JogviszonySzuneteltetese.HasValue && oTanulo.JogviszonyatSzunetelteto != model.JogviszonySzuneteltetese.ToBool()) || (model.IsBeszamitasosTanulo.HasValue && oTanulo.IsBeszamitasos != model.IsBeszamitasosTanulo.ToBool()) || (model.IsBeszamitasosFixSzazalek.HasValue && oTanulo.IsBeszamitasosFixSzazalek != model.IsBeszamitasosFixSzazalek.Value) || (model.IsIngyenesKepzes.HasValue && oTanulo.IsIngyenesKepzes != model.IsIngyenesKepzes.ToBool()); if (model.FelvetelTaneveId.HasValue) { oTanulo.FelvetelTaneveId = model.FelvetelTaneveId.Value; } if (model.NyilvantartastartasKezdete.HasValue) { oTanulo.NyilvantartasKezdete = model.NyilvantartastartasKezdete.Value; } if (model.JogviszonyBefejezese.HasValue) { oTanulo.JogviszonyVarhatoBefejezese = model.JogviszonyBefejezese.Value; } if (model.JogviszonySzuneteltetese.HasValue) { oTanulo.JogviszonyatSzunetelteto = model.JogviszonySzuneteltetese.ToBool(); } if (model.TankotelezettsegetTeljesito.HasValue) { oTanulo.Tankotelezett = model.TankotelezettsegetTeljesito.ToBool(); } if (model.TankotelezettsegVege.HasValue) { oTanulo.TankotelezettsegVege = model.TankotelezettsegVege; } if (model.Magantanulo.HasValue) { oTanulo.Magantanulo = model.Magantanulo.ToBool(); } if (model.MagantanulosagOka.HasValue) { oTanulo.MagantanulosaganakOka = model.MagantanulosagOka.Value; } if (model.MagantanulosagKezdete.HasValue) { oTanulo.MagantanulosagKezdete = model.MagantanulosagKezdete.Value; } if (model.MagantanulosagVege.HasValue) { oTanulo.MagantanulosagVege = model.MagantanulosagVege.Value; } if (model.Vendeg.HasValue) { oTanulo.Vendeg = model.Vendeg.ToBool(); } if (model.TandijatFizeto.HasValue) { oTanulo.TandijatFizeto = model.TandijatFizeto.ToBool(); } if (model.TeritestFizeto.HasValue) { oTanulo.TeritesiDijatFizeto = model.TeritestFizeto.ToBool(); } if (model.Tanuloszerzodeses.HasValue) { oTanulo.TanuloSzerzodeses = model.Tanuloszerzodeses.ToBool(); if (model.Tanuloszerzodeses.ToBool()) { oTanulo.Egyuttmukodeses = false; oTanulo.IsSzakkepzesiMunkaszerzodessel = false; } } if (model.EgyuttmukodesiMegallpodasos.HasValue) { oTanulo.Egyuttmukodeses = model.EgyuttmukodesiMegallpodasos.ToBool(); if (model.EgyuttmukodesiMegallpodasos.ToBool()) { oTanulo.TanuloSzerzodeses = false; oTanulo.IsSzakkepzesiMunkaszerzodessel = false; } } if (model.PolgariSzerzodeses.HasValue) { oTanulo.PolgariSzerzodeses = model.PolgariSzerzodeses.ToBool(); } if (model.DiaksportkorTag.HasValue) { oTanulo.Diaksportkoros = model.DiaksportkorTag.ToBool(); } if (model.Evismetlo.HasValue) { oTanulo.Evismetlo = model.Evismetlo.ToBool(); } if (model.SZKTV.HasValue) { oTanulo.SZKTV = model.SZKTV.ToBool(); } if (model.SZETV.HasValue) { oTanulo.SZETVAgazat = model.SZETV.ToBool(); } if (model.OSZTV.HasValue) { oTanulo.OSZTV = model.OSZTV.ToBool(); } if (model.EgyebOrszagosDonto.HasValue) { oTanulo.EgyebDonto = model.EgyebOrszagosDonto.ToBool(); } if (model.TechnikusiEvfolyam.HasValue) { oTanulo.TechnikusiEvfolyam = model.TechnikusiEvfolyam.ToBool(); } if (model.KizarolagIskolaiKeretekKozott.HasValue) { oTanulo.IskolaiKeretekKozott = model.KizarolagIskolaiKeretekKozott.ToBool(); } if (model.SzakmaiGyakorlatonTartozkodik.HasValue) { oTanulo.SzakmaiGyakorlaton = model.SzakmaiGyakorlatonTartozkodik.ToBool(); } if (model.Bejaro.HasValue) { oTanulo.Bejaro = model.Bejaro.ToBool(); } if (model.TanterviJellemzoId.HasValue) { oTanulo.TanterviJellemzoId = model.TanterviJellemzoId; } if (model.TanuloEvfolyamTipusId.HasValue) { oTanulo.TanuloEvfolyamTipus = model.TanuloEvfolyamTipusId; } if (model.IsSzakkepzesiMunkaszerzodessel.HasValue) { oTanulo.IsSzakkepzesiMunkaszerzodessel = model.IsSzakkepzesiMunkaszerzodessel.ToBool(); if (model.IsSzakkepzesiMunkaszerzodessel.ToBool()) { oTanulo.TanuloSzerzodeses = false; oTanulo.Egyuttmukodeses = false; } } if (model.IsBeszamitasosTanulo.HasValue) { oTanulo.IsBeszamitasos = model.IsBeszamitasosTanulo.ToBool(); } if (model.IsBeszamitasosFixSzazalek.HasValue) { oTanulo.IsBeszamitasosFixSzazalek = model.IsBeszamitasosFixSzazalek.Value; } if (model.Is9kozul8ElozotanevbenVegezte.HasValue) { oTanulo.Is9kozul8ElozotanevbenVegezte = model.Is9kozul8ElozotanevbenVegezte.ToBool(); } } if (model.Neme.HasValue) { oTanulo.Neme = model.Neme.Value; } if (model.IsSzakmaiGyakorlatHiany.HasValue) { oTanulo.IsSzakmaiGyakorlatHiany = model.IsSzakmaiGyakorlatHiany.ToBool(); } if (model.IsKuldhetoErettsegiSzRnek.HasValue) { oTanulo.IsKuldhetoErettsegiSzRnek = model.IsKuldhetoErettsegiSzRnek.ToBool(); } if (model.IsKuldhetoMeresiSzRnek.HasValue) { oTanulo.IsKuldhetoMeresiSzRnek = model.IsKuldhetoMeresiSzRnek.ToBool(); } if (model.IsKuldhetoKozepFelveteliSzRnek.HasValue) { oTanulo.IsKuldhetoKozepFelveteliSzRnek = model.IsKuldhetoKozepFelveteliSzRnek.ToBool(); } if (model.IsDiakigazolvanyAtadhatoSzRnek.HasValue) { oTanulo.IsDiakigazolvanyAtadhatoSzRnek = model.IsDiakigazolvanyAtadhatoSzRnek.ToBool(); } if (model.IsSikeresAgazatiVizsga.HasValue) { oTanulo.IsSikeresAgazatiVizsga = model.IsSikeresAgazatiVizsga.Value; } if (model.IsApaczaiIgenylo.HasValue) { oTanulo.IsApaczaiIgenylo = model.IsApaczaiIgenylo.ToBool(); } if (model.IsApaczaiSzerzodeses.HasValue) { oTanulo.IsApaczaiSzerzodeses = model.IsApaczaiSzerzodeses.ToBool(); } if (model.IsAtlagSzakkepzesi.HasValue) { oTanulo.IsAtlagSzakkepzesi = model.IsAtlagSzakkepzesi.Value; } if (model.IsIngyenesKepzes.HasValue) { oTanulo.IsIngyenesKepzes = model.IsIngyenesKepzes.ToBool(); } dal.FullUpdate(oTanulo); return needJuttatasUpdate; }); } private void SetReszszakkepesitesAdatokNa(ITanuloTanugyiAdatok tanuloTanugyiAdatok) { tanuloTanugyiAdatok.ReszSzakmaTipusId = (int)ReszSzakmaTipusEnum.na; tanuloTanugyiAdatok.AgazatReszSzakmaTipusId = (int)AgazatReszSzakmaTipusEnum.na; tanuloTanugyiAdatok.SzakmaReszSzakmaTipusId = (int)SzakmaReszSzakmaTipusEnum.na; } private void SetOkjAdatokNa(ITanuloTanugyiAdatok tanuloTanugyiAdatok) { tanuloTanugyiAdatok.AgazatId = (int)AgazatTipusEnum.Na; tanuloTanugyiAdatok.SzakmacsoportId = (int)SzakmacsoportTipusEnum.Na; tanuloTanugyiAdatok.SzakkepesitesId = (int)SzakkepesitesTipusEnum.Na; tanuloTanugyiAdatok.ReszszakkepesitesId = (int)ReszszakkepesitesTipusEnum.Na; } private void SetUjSzktAdatokNa(ITanuloTanugyiAdatok tanuloTanugyiAdatok) { tanuloTanugyiAdatok.AgazatUjSzktTipusId = (int)AgazatUjSzktTipusEnum.na; tanuloTanugyiAdatok.SzakmaTipusId = (int)SzakmaTipusEnum.na; tanuloTanugyiAdatok.SzakmairanyTipusId = (int)SzakmairanyTipusEnum.na; } private void SetNktAdatokNa(ITanuloTanugyiAdatok tanuloTanugyiAdatok) { tanuloTanugyiAdatok.SzakiranyNktTipusId = (int)SzakiranyNktTipusEnum.na; tanuloTanugyiAdatok.SzakkepesitesNktTipusId = (int)SzakkepesitesNktTipusEnum.na; tanuloTanugyiAdatok.TanulmanyiTeruletNktTipusId = (int)TanulmanyiTeruletNktTipusEnum.na; } public GondviseloAdatokModCO GetGondviseloElerhetosegAdatok(int gondviseloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var gondviselo = h.Gondviselo().Get(gondviseloId); var co = new GondviseloAdatokModCO { AktEmail = gondviselo.Email.SingleOrDefault(x => !x.Torolt && x.Alapertelmezett)?.EmailCim, AktTelefon = gondviselo.Telefon.SingleOrDefault(x => !x.Torolt && x.Alapertelmezett)?.TelefonSzam }; return co; }); } public void SaveGondviseloElerhetosegAdatok(GondviseloAdatokModCO co) { var tanuloAdatlapCache = KretaServer.KretaServer.Instance.CacheManager.AquireCacheMobile(); var cacheEnabledAndNotNull = FeatureContext.Instance.IsEnabled(Constants.FeatureName.MobileEllenorzoApiCache, IntezmenyAzonosito) && tanuloAdatlapCache != null; Dal.CustomConnection.Run(ConnectionType, h => { if (!string.IsNullOrWhiteSpace(co.UjEmail)) { var dal = h.Email(); var ujEmail = false; var gondviseloEmail = dal.GetSpecific($" AND C_GONDVISELOID = {co.GondviseloId} AND TOROLT = 'F' AND C_ALAPERTELMEZETT = 'T'", TanevId); if (gondviseloEmail == null) { gondviseloEmail = dal.Get(); ujEmail = true; gondviseloEmail.Alapertelmezett = true; } gondviseloEmail.EmailCim = co.UjEmail; gondviseloEmail.EmailTipusa = (int)EmailTipusEnum.Hivatalos; gondviseloEmail.GondviseloId = co.GondviseloId.Value; gondviseloEmail.FelhasznaloId = co.TanuloId.Value; gondviseloEmail.IsMobilRogzitett = false; if (ujEmail) { dal.Insert(gondviseloEmail); } else { dal.FullUpdate(gondviseloEmail); } if (cacheEnabledAndNotNull) { tanuloAdatlapCache.RemoveTanuloAdatlap(co.TanuloId.Value, IntezmenyAzonosito); } } if (!string.IsNullOrWhiteSpace(co.UjTelefon)) { var dal = h.Telefon(); var ujTelefon = false; var gondviseloTelefon = dal.GetSpecific($" AND C_GONDVISELOID = {co.GondviseloId} AND TOROLT = 'F' AND C_ALAPERTELMEZETT = 'T'", TanevId); if (gondviseloTelefon == null) { gondviseloTelefon = dal.Get(); ujTelefon = true; gondviseloTelefon.Alapertelmezett = true; } gondviseloTelefon.TelefonSzam = co.UjTelefon; gondviseloTelefon.TelefonTipusa = (int)TelefonTipusEnum.Mobil; gondviseloTelefon.GondviseloId = co.GondviseloId.Value; gondviseloTelefon.FelhasznaloId = co.TanuloId.Value; gondviseloTelefon.IsMobilRogzitett = false; if (ujTelefon) { dal.Insert(gondviseloTelefon); } else { dal.FullUpdate(gondviseloTelefon); } if (cacheEnabledAndNotNull) { tanuloAdatlapCache.RemoveTanuloAdatlap(co.TanuloId.Value, IntezmenyAzonosito); } } }); } public void DeleteGondviseloEmail(int gondviseloId) { Dal.CustomConnection.Run(ConnectionType, h => { var emailDal = h.Email(); var gondviseloEmail = emailDal.GetSpecific($" AND C_GONDVISELOID = {gondviseloId} AND TOROLT = 'F' AND C_ALAPERTELMEZETT = 'T'", TanevId); if (gondviseloEmail != null) { gondviseloEmail.Torolt = true; emailDal.FullUpdate(gondviseloEmail); } }); } public void SaveTanuloBankszamlaAdatok(int tanuloId, int? gondviseloId, BankszamlaCo bankszamlaCo) { Dal.CustomConnection.Run(ConnectionType, h => { var tanuloDal = h.Tanulo(); var tanulo = tanuloDal.Get(tanuloId); var bankszamlaszam = new StringBuilder(bankszamlaCo.BankszamlaSzam); bankszamlaszam.Replace("-", "").Replace(" ", ""); h.Felhasznalo().SaveBankszamlaAdatok(true, tanuloId, bankszamlaszam.ToString(), bankszamlaCo.BankszamlaTulajdonos, bankszamlaCo.BankszamlaTulajdonosNeve.ReplaceMultipleSpacesAndTrim(), gondviseloId ?? tanuloId); var isMobileEllenorzoApiCacheEnabled = FeatureContext.Instance.IsEnabled(featureName: Constants.FeatureName.MobileEllenorzoApiCache, IntezmenyAzonosito); var tanuloAdatlapCache = KretaServer.KretaServer.Instance.CacheManager.AquireCacheMobile(); if (isMobileEllenorzoApiCacheEnabled && tanuloAdatlapCache != null) { tanuloAdatlapCache.RemoveTanuloAdatlap(tanuloId, IntezmenyAzonosito); } var torvenyesKepviselok = tanulo.Gondviselo.Where(g => !g.Torolt && g.IsTorvenyesKepviselo).ToList(); string message; var subject = EmailResource.BankszamlaAdatokModositasSubject; string emailcim; Guid? emailGuid; var intezmenyCo = new IntezmenyHelper(new DalHandlerConnectionType(ConnectionType, h)).GetAktivIntezmenyNevCim(); var intezmenyUrl = CommonUtils.GetIntezmenyUrl(IntezmenyAzonosito); var intezmenyNev = intezmenyCo.Nev; var intezmenyCim = intezmenyCo.IntezmenyCim; foreach (var torvenyesKepviselo in torvenyesKepviselok) { message = string.Format(EmailResource.BankszamlaAdatokModositasGondviseloContent, torvenyesKepviselo.Nev, tanulo.NyomtatasiNev, bankszamlaCo.BankszamlaSzam, bankszamlaCo.SzamlavezetoBank, bankszamlaCo.BankszamlaTulajdonos.GetDisplayName(TanevId), bankszamlaCo.BankszamlaTulajdonosNeve, intezmenyUrl, intezmenyNev, intezmenyCim); var email = torvenyesKepviselo.Email.SingleOrDefault(e => !e.Torolt && !e.IsHibasanMegadva && e.Alapertelmezett); if (email != default) { emailcim = email.EmailCim; emailGuid = email.Guid; new UzenetekHelper(new DalHandlerConnectionType(ConnectionType, h)).EmailKuldes(message, subject, emailcim, emailGuid); } } if (gondviseloId == null) { message = string.Format(EmailResource.BankszamlaAdatokModositasTanuloContent, tanulo.NyomtatasiNev, bankszamlaCo.BankszamlaSzam, bankszamlaCo.SzamlavezetoBank, bankszamlaCo.BankszamlaTulajdonos.GetDisplayName(TanevId), bankszamlaCo.BankszamlaTulajdonosNeve, intezmenyUrl, intezmenyNev, intezmenyCim); var email = tanulo.Email.SingleOrDefault(e => e.Alapertelmezett && !e.Torolt && !e.IsHibasanMegadva && !e.GondviseloId.IsEntityId()); if (email != default) { emailcim = email.EmailCim; emailGuid = email.Guid; new UzenetekHelper(new DalHandlerConnectionType(ConnectionType, h)).EmailKuldes(message, subject, emailcim, emailGuid); } } }); } public string GetTanuloModalHeader(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); var ds = dal.GetTanuloModalHeader(tanuloId); var row = ds?.Tables[0]?.Rows; if (row?.Count > 0) { var nev = row[0].Field("Nev"); var szulido = row[0].Field("Szulido").ToShortDateString(); return $"[ {nev} - {szulido} ]"; } return string.Empty; }); } public int CloneTanuloEntity(ITanulo oldTanulo, int srcTanevId, int trgTanevId) { var ds = new DataSet(); Dal.CustomConnection.Run(ConnectionType, h => { ds = h.Tanulo().CloneTanulo(oldTanulo.ID, trgTanevId, IntezmenyId, srcTanevId, FelhasznaloId); h.Felhasznalo().UpdateAllEgyediAzonosito(); }); return ds.Tables[0].Rows[0].Field("newId"); } public bool ExistsGondviselo(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); { var tanulo = dal.Get(tanuloId); if (tanulo.Gondviselo.Any(x => !x.Torolt)) { return true; } } return false; }); } public bool ExistsGondviselo(List tanuloIdList) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); foreach (var tanuloId in tanuloIdList) { var tanulo = dal.Get(tanuloId); if (tanulo.Gondviselo.Any(x => !x.Torolt)) { return true; } } return false; }); } public void SaveOrUpdateTanuloLEP(int? tanuloId, string nev) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); var tanulo = tanuloId.IsEntityId() ? dal.Get(tanuloId.Value) : dal.Get(); if (dal.CheckTanuloNevUniqueLEP(TanevId, nev)) { throw new Check4TValidacioExistsException(null); } tanulo.Vezeteknev = nev.Trim(); tanulo.NyomtatasiNev = Extensions.NameExtensions.GetNevSorrendben("F", tanulo.Elotag, tanulo.Vezeteknev, tanulo.Utonev); tanulo.KeresesiNev = CommonUtilsDal.KopaszNev(tanulo.NyomtatasiNev); tanulo.Neme = (int)NemEnum.NA; tanulo.SzuletesiDatum = new DateTime(1900, 01, 01); tanulo.SzuletesiNev = "LEP"; tanulo.AnyjaNeve = "LEP"; tanulo.Allampolgarsaga = (int)AllampolgarsagEnum.na; tanulo.SzuletesiOrszag = (int)OrszagTipusEnum.Magyarorszag; tanulo.NyilvantartasKezdete = new DateTime(1900, 01, 01); tanulo.FelvetelTaneveId = TanevId; tanulo.OktatasiAzonosito = Guid.NewGuid().ToString().Substring(0, 11).Replace("-", ""); tanulo.HatranyosHelyzetu = (int)HatranyosHelyzetTipusEnum.na; tanulo.TestnevelesTipusa = (int)TestnevelesTipusEnum.na; tanulo.Anyanyelve = (int)AnyanyelvEnum.na; tanulo.TanevId = TanevId; if (dal.CheckOktatasiAzonosito(tanulo.OktatasiAzonosito, tanulo.TanevId, tanulo.ID)) { throw new Exceptions.OktatasiAzonositoExistsException(tanulo.OktatasiAzonosito); } if (tanuloId.IsEntityId()) { dal.FullUpdate(tanulo); } else { dal.Insert(tanulo); } }); } private ITanulo SaveTanulo(IDalHandler dalhandler, bool isSelectedTanev21_22OrLater, int lcId, TanuloAdatCO adat, FelhasznaloiNevGeneralasModjaEnum felhasznaloiNevGeneralasModja, int? kovTanevId, bool isSzirIntezmeny, bool saveAlapadatok = true, bool saveIgazolvanyAdatok = true, bool saveSzocialisAdatok = true, bool saveTanugyiAdatok = true, bool saveSNIAdatok = true, bool saveBTMAdatok = true, bool saveVallasiAdatok = true, bool saveSportoloiAdatok = true, bool saveJuttatasok = true, bool saveSzirBeallitasok = true, bool saveUjJogviszony = false) { var tanuloDal = dalhandler.Tanulo(); var tanulocsoportDal = dalhandler.TanuloCsoport(); var oTanulo = adat.ID.HasValue ? tanuloDal.Get(adat.ID.Value) : tanuloDal.Get(); oTanulo.TanevId = TanevId; oTanulo.IsSzakmaiGyakorlatHiany = adat.IsSzakmaiGyakorlatHiany; var isIntezmenySzakkepzoJuttatas = oTanulo.Intezmeny.IntezmenyAdatok.SingleOrDefault(x => !x.Torolt && x.TanevId == oTanulo.TanevId)?.IsSzakkepzoJuttatas ?? false; var juttatasNeedUpdate = isIntezmenySzakkepzoJuttatas && ((adat.Evismetlo != oTanulo.Evismetlo) || (adat.IsMasodikVagyTobbedikSzakmatSzerzo != oTanulo.IsMasodikTobbSzakma) || (adat.IsBeszamitasosTanulo != oTanulo.IsBeszamitasos) || (adat.Tanuloszerzodeses != oTanulo.TanuloSzerzodeses) || (adat.IsSzakkepzesiMunkaszerzodessel != oTanulo.IsSzakkepzesiMunkaszerzodessel) || (adat.JogviszonySzuneteltetese != oTanulo.JogviszonyatSzunetelteto) || (adat.SzamitottAtlag != oTanulo.SzamitottAtlag) || (adat.KeziAtlag != oTanulo.KeziAtlag) || (adat.Jogviszony != oTanulo.JogviszonyTipusID) || (adat.Vendeg != oTanulo.Vendeg) || (adat.IsSikeresAgazatiVizsga != oTanulo.IsSikeresAgazatiVizsga) || (adat.IsAtlagSzakkepzesi != oTanulo.IsAtlagSzakkepzesi) || (adat.IsBeszamitasosFixSzazalek != oTanulo.IsBeszamitasosFixSzazalek) || (adat.IsIngyenesKepzes != oTanulo.IsIngyenesKepzes) || (!oTanulo.Juttatas.Any(x => !x.Torolt && x.IsAktiv && x.JuttatasTipusId.Value == ((int)JuttatasTipusEnum.szakkepzesi_juttatas)))); var epjJuttatasNeedUpdate = isIntezmenySzakkepzoJuttatas && ((adat.IsMasodikVagyTobbedikSzakmatSzerzo != oTanulo.IsMasodikTobbSzakma) || (adat.Jogviszony != oTanulo.JogviszonyTipusID) || (!oTanulo.Juttatas.Any(x => !x.Torolt && x.IsAktiv && x.JuttatasTipusId.Value == ((int)JuttatasTipusEnum.egyszeri_palyakezdesi_juttatas)))); SetAlapadatok(adat, saveAlapadatok, oTanulo, lcId); SetIgazolvanyadatok(adat, saveIgazolvanyAdatok, oTanulo); SetSzocialisAdatok(adat, saveSzocialisAdatok, oTanulo, adat.ID.IsEntityId()); SetSniAdatok(adat, saveSNIAdatok, oTanulo); SetBtmAdatok(adat, saveBTMAdatok, oTanulo); SetVallasiAdatok(adat, saveVallasiAdatok, oTanulo); SetSportoloiAdatok(adat, saveSportoloiAdatok, oTanulo); SetJuttatasAdatok(adat, saveJuttatasok, oTanulo); SetSzirBeallitasok(adat, saveSzirBeallitasok, oTanulo); if (!adat.OsztalyId.HasValueAndPositive()) { SetGlobalTanugyiAdatok(adat, saveTanugyiAdatok, oTanulo, isSelectedTanev21_22OrLater); SetAmiKepzesiJellemzok(adat, saveTanugyiAdatok, oTanulo); } if (adat.ID.HasValue) { tanuloDal.FullUpdate(oTanulo); if (!kovTanevId.HasValue || kovTanevId.Value != TanevId) { UpdateBelepesiAdatok(adat, saveAlapadatok, oTanulo, dalhandler); } if (!adat.OsztalyId.HasValueAndPositive()) { SetGlobalJogviszonySzuneteltetese(false, adat, oTanulo, dalhandler); } } else { tanuloDal.Insert(oTanulo); SetGlobalJogviszonySzuneteltetese(true, adat, oTanulo, dalhandler); if (!isSzirIntezmeny) { if (!kovTanevId.HasValue || kovTanevId.Value != TanevId) { InsertBelepesiAdatok(dalhandler, adat, felhasznaloiNevGeneralasModja, oTanulo); } } } var tanuloCsoportId = GetTanuloCsoportId(dalhandler, oTanulo.ID, adat.OsztalyId, kovTanevId, false); if (tanuloCsoportId.HasValueAndPositive()) { var tanuloCsoport = tanulocsoportDal.Get(tanuloCsoportId.Value); juttatasNeedUpdate = juttatasNeedUpdate || (tanuloCsoport.TanuloTanugyiAdatok.Evismetlo != adat.Evismetlo) || (tanuloCsoport.TanuloTanugyiAdatok.TanuloSzerzodeses != adat.Tanuloszerzodeses) || (tanuloCsoport.TanuloTanugyiAdatok.IsSzakkepzesiMunkaszerzodessel != adat.IsSzakkepzesiMunkaszerzodessel) || (tanuloCsoport.TanuloTanugyiAdatok.Vendeg != adat.Vendeg) || (tanuloCsoport.TanuloTanugyiAdatok.JogviszonyatSzunetelteto != adat.JogviszonySzuneteltetese) || (adat.IsOsszevontOsztaly && (tanuloCsoport.TanuloTanugyiAdatok.TanuloEvfolyamTipusId != adat.TanuloEvfolyamTipus)); if (isIntezmenySzakkepzoJuttatas) { juttatasNeedUpdate = juttatasNeedUpdate || (tanuloCsoport.TanuloTanugyiAdatok.AgazatUjSzktTipusId != adat.AgazatUjSzktTipusId) || (tanuloCsoport.TanuloTanugyiAdatok.SzakmaTipusId != adat.SzakmaTipusId) || (tanuloCsoport.TanuloTanugyiAdatok.SzakmairanyTipusId != adat.SzakmairanyTipusId) || (tanuloCsoport.TanuloTanugyiAdatok.SzakiranyNktTipusId != adat.SzakiranyNktTipusId) || (tanuloCsoport.TanuloTanugyiAdatok.SzakkepesitesNktTipusId != adat.SzakkepesitesNktTipusId) || (tanuloCsoport.TanuloTanugyiAdatok.TanulmanyiTeruletNktTipusId != adat.TanulmanyiTeruletNktTipusId) || (tanuloCsoport.TanuloTanugyiAdatok.AgazatId != adat.AgazatId) || (tanuloCsoport.TanuloTanugyiAdatok.SzakmacsoportId != adat.SzakmacsoportId) || (tanuloCsoport.TanuloTanugyiAdatok.SzakkepesitesId != adat.SzakkepesitesId) || (tanuloCsoport.TanuloTanugyiAdatok.ReszszakkepesitesId != adat.ReszSzakkepesitesId); } SetTanuloiTanugyiAdatok(dalhandler, adat, oTanulo.ID, saveTanugyiAdatok, tanuloCsoport); if (saveJuttatasok) { juttatasNeedUpdate = juttatasNeedUpdate || (tanuloCsoport.TanuloTanugyiAdatok.IsMasodikTobbSzakma != adat.IsMasodikVagyTobbedikSzakmatSzerzo) || (tanuloCsoport.TanuloTanugyiAdatok.IsBeszamitasos != adat.IsBeszamitasosTanulo) || (tanuloCsoport.TanuloTanugyiAdatok.IsBeszamitasosFixSzazalek != adat.IsBeszamitasosFixSzazalek) || (tanuloCsoport.JogviszonyTipusID != adat.Jogviszony); tanuloCsoport.JogviszonyTipusID = adat.Jogviszony; tanuloCsoport.TanuloTanugyiAdatok.IsMasodikTobbSzakma = adat.IsMasodikVagyTobbedikSzakmatSzerzo; tanuloCsoport.TanuloTanugyiAdatok.IsBeszamitasos = adat.IsBeszamitasosTanulo; tanuloCsoport.TanuloTanugyiAdatok.IsBeszamitasosFixSzazalek = adat.IsBeszamitasosFixSzazalek; epjJuttatasNeedUpdate = epjJuttatasNeedUpdate || (tanuloCsoport.TanuloTanugyiAdatok.IsMasodikTobbSzakma != adat.IsMasodikVagyTobbedikSzakmatSzerzo) || (tanuloCsoport.JogviszonyTipusID != adat.Jogviszony); } tanulocsoportDal.FullUpdate(tanuloCsoport); } if (saveJuttatasok) { if (juttatasNeedUpdate) { UpdateTanuloSzakkepzesiJuttatasok(oTanulo.TanevId, oTanulo.ID, dalhandler); } if (epjJuttatasNeedUpdate) { UpdateTanuloEpJuttatasok(oTanulo.ID, dalhandler); } } SaveTanuloSni(dalhandler, adat, kovTanevId, oTanulo.ID); SetUjJogviszony(dalhandler, adat, saveUjJogviszony, oTanulo.ID, kovTanevId); return oTanulo; } private void SaveTanuloSni(IDalHandler dalHandler, TanuloAdatCO adat, int? kovTanevId, int tanuloId) { var tanuloSniDal = dalHandler.TanuloSniDal(); if (adat.SajatosNevelesiIgenyu) { var tanuloSni = tanuloSniDal.Get(adat.TanuloSniId); tanuloSni.KiallitoSzakBizottsagNeve = adat.KiallitoSzakertoiBizottsagNeve; tanuloSni.KiallitoSzakBizottsagCime = adat.KiallitoSzakertoiBizottsagCime; tanuloSni.SzakvelemenySzama = adat.SzakvelemenySzama; tanuloSni.KiallitasDatuma = adat.KiallitasDatuma; tanuloSni.FelulvizsgalatTaneve = adat.FelulvizsgalatTaneve; tanuloSni.TanuloId = tanuloId; tanuloSni.FogyatekossagTipusId = adat.FogyatekossagTipusId; tanuloSni.IntezmenyId = IntezmenyId; tanuloSni.TanevId = TanevId; if (adat.TanuloSniId.HasValue) { tanuloSniDal.FullUpdate(tanuloSni); } else { tanuloSniDal.Insert(tanuloSni); } if (kovTanevId.HasValue && TanevId != kovTanevId.Value) { dalHandler.Tanulo().FollowUpTanuloSni(IntezmenyId, TanevId, kovTanevId.Value, tanuloSni.ID); } } else { if (adat.TanuloSniId.HasValue) { tanuloSniDal.Delete(adat.TanuloSniId.Value); } } } public string GetTanuloLEP(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => h.Tanulo().Get(tanuloId).NyomtatasiNev); } public bool HasOsztalyBasorolas(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { return h.Tanulo(GridParameters).HasOsztalyBasorolas(tanuloId); }); } public string SetBelepesiNev(FelhasznaloiNevGeneralasModjaEnum felhasznaloiNevGeneralasModja, string belepesiNev, string oktatasiAzonosito) { var alapBelepesiNev = string.Empty; if (string.IsNullOrWhiteSpace(belepesiNev)) { switch (felhasznaloiNevGeneralasModja) { case FelhasznaloiNevGeneralasModjaEnum.Oktatasi_azonosito_alapjan: alapBelepesiNev = oktatasiAzonosito; break; case FelhasznaloiNevGeneralasModjaEnum.Egyeni: alapBelepesiNev = string.Empty; break; } } else { alapBelepesiNev = belepesiNev.Trim(); } return alapBelepesiNev; } private void InsertBelepesiAdatok(IDalHandler h, TanuloAdatCO adat, FelhasznaloiNevGeneralasModjaEnum felhasznaloiNevGeneralasModja, ITanulo oTanulo) { var alapBelepesiNev = SetBelepesiNev(felhasznaloiNevGeneralasModja, adat.BelepesiNev, adat.OktatasiAzonosito); if (string.IsNullOrWhiteSpace(alapBelepesiNev)) { throw new CannotBeInsertedException(StringResourcesUtil.GetString(3178)); } var alapertelmezettJelszo = !string.IsNullOrWhiteSpace(adat.Jelszo) ? adat.Jelszo : string.Format("{0:yyyyMMdd}", oTanulo.SzuletesiDatum); new FelhasznaloBelepesHelper(new DalHandlerConnectionType(ConnectionType, h)).GrantLogin(oTanulo.ID, alapBelepesiNev, alapertelmezettJelszo, kotelezoValtoztatni: true); } private void UpdateBelepesiAdatok(TanuloAdatCO adat, bool saveAlapadatok, ITanulo oTanulo, IDalHandler h) { if (saveAlapadatok) { if (!string.IsNullOrWhiteSpace(adat.BelepesiNev)) { var trimmedName = adat.BelepesiNev.Trim(); var belepes = oTanulo.FelhasznaloBelepes.FirstOrDefault(t => !t.Torolt && t.BejelentkezesiNev.Trim() != trimmedName && t.Gondviselo == null); var felhasznaloBelepesDal = h.FelhasznaloBelepes(); if (belepes != null) { belepes.BejelentkezesiNev = trimmedName; try { felhasznaloBelepesDal.Update(belepes); } catch (Exception ex) { throw new UniqueKeyViolationException(StringResourcesUtil.GetString(2680), ex); /*A megadott felhasználónév már létezik!*/ } } else { if (!oTanulo.FelhasznaloBelepes.Any(t => t.Gondviselo == null && !t.Torolt)) { var ujBelepes = felhasznaloBelepesDal.Get(); ujBelepes.FelhasznaloId = oTanulo.ID; ujBelepes.BejelentkezesiNev = adat.BelepesiNev.Trim(); try { felhasznaloBelepesDal.Insert(ujBelepes); } catch (Exception ex) { throw new UniqueKeyViolationException(StringResourcesUtil.GetString(2680), ex); /*A megadott felhasználónév már létezik!*/ } } } } if (!string.IsNullOrWhiteSpace(adat.Jelszo)) { new FelhasznaloBelepesHelper(new DalHandlerConnectionType(ConnectionType, h)).ChangeUserPassword(adat.BelepesiNev, adat.Jelszo, kotelezoValtoztatni: true); } } } public void ChangePassword(string jelszo, string belepesiNev) { if (!string.IsNullOrWhiteSpace(jelszo)) { new FelhasznaloBelepesHelper(ConnectionType).ChangeUserPassword(belepesiNev, jelszo, kotelezoValtoztatni: true); } } private void SetSportoloiAdatok(TanuloAdatCO adat, bool saveSportoloiAdatok, ITanulo oTanulo) { if (saveSportoloiAdatok) { oTanulo.Sportag = adat.Sportag; oTanulo.Sportklub = adat.Sportklub; oTanulo.SportedzoNeve = adat.SportedzoElerhetoseg; } } private void SetVallasiAdatok(TanuloAdatCO adat, bool saveVallasiAdatok, ITanulo oTanulo) { if (saveVallasiAdatok) { oTanulo.Vallasa = adat.Vallasa; oTanulo.Egyhazkozossege = adat.Egyhazkozossege; } } private void SetBtmAdatok(TanuloAdatCO adat, bool saveBTMAdatok, ITanulo oTanulo) { if (saveBTMAdatok) { //oTanulo.BeilleszkedesiProblemavalKuzd = adat.BeilleszkedesiProblema; //oTanulo.BTMLetszamSuly = adat.BTMLetszamsuly; oTanulo.BTMProblemas = adat.BTMProblema; //oTanulo.TanulasiProblemavalKuzd = adat.TanulasiProblema; //oTanulo.TanulasiProblemaDiszgrafia = adat.BTMDiszgrafia; //oTanulo.TanulasiProblemavalKuzdDiszkalkulia = adat.BTMDiszkalkulia; //oTanulo.TanulasiProblemavalKuzdDiszlexia = adat.BTMDiszlexia; //oTanulo.MagatartasiProblemavalKuzd = adat.MagatartasiProblema; //oTanulo.BTMHatarozatOkmanyszam = adat.BTMHatarozatOkmanyszama; //oTanulo.BTMKiallitoIntezmeny = adat.BTMKiallitoIntezmeny; //oTanulo.BTMOkmanyErvenyessegKezdete = adat.BTMOkmanyErvenyessegKezdete; //oTanulo.BTMOkmanyErvenyessegVege = adat.BTMOkmanyErvenyessegVege; //oTanulo.BTMKontrollIdopont = adat.BTMKontrollIdopont; //oTanulo.BTMHatarozatTartalma = adat.BTMHatarozatTartalma; } } private void SetSniAdatok(TanuloAdatCO adat, bool saveSNIAdatok, ITanulo oTanulo) { if (saveSNIAdatok) { oTanulo.SajatosNevelesu = adat.SajatosNevelesiIgenyu; //oTanulo.HalmozottanFogyatekos = adat.HalmozottanFogyatekos; oTanulo.SNILetszamSuly = adat.SNILetszamsuly ?? 1; //oTanulo.ErtelmiFogyatekos = adat.ErtelmiFogyatekos; //oTanulo.ErtelmiFogyatekosOkmanyszam = adat.ErtelmiFogyatekosOkamnyszam; //oTanulo.HallasSerult = adat.Hallasserult; //oTanulo.HallasSerultOkmanyszam = adat.HallasserultOkmanyszam; //oTanulo.LatasSerult = adat.Latasserult; //oTanulo.LatasSerultOkmanyszam = adat.LatasserultOkmanyszam; //oTanulo.MozgasSerultOkmanyszam = adat.MozgasserultOkmanyszam; //oTanulo.BeszedfogyatekosOkmanyszam = adat.BeszedfogyatekosOkmanyszam; //oTanulo.DiszgrafiaOkmanyszam = adat.DiszgrafiaOkmanyszam; //oTanulo.DiszkalkuliaOkmanyszam = adat.DiszkalkuliaOkmanyszam; //oTanulo.DiszlexiaOkmanyszam = adat.DiszlexiaOkmanyszam; //oTanulo.BNOKod = adat.BNOKod; //oTanulo.ViselkedesNemOrganikusOkmanyszam = adat.ViselekdesNemVisszavezetheto; //oTanulo.ViselkedesOrganikusOkmanyszam = adat.ViselekdesVisszavezetheto; //oTanulo.MegismeroNemOrganikusOkmanyszam = adat.MegismeroFunkcioNemVisszavezetheto; //oTanulo.MegismeroOrganikusOkmanyszam = adat.MegismeroFunkcioVisszavezetheto; //oTanulo.SNIMeghatarozas = adat.SNIMeghatarozas; //oTanulo.SNIKiallitoIntezmeny = adat.SNIKiallitoIntezmeny; //oTanulo.SNIOkmanyErvenyessegKezdete = adat.SNIOkmanyErvenyessegKezdete; //oTanulo.SNIOkmanyErvenyessegVege = adat.SNIOkmanyErvenyessegVege; //oTanulo.SNIKontrollIdopont = adat.SNIKontrollIdopontja; // Fejlesztő foglalkozas oTanulo.FejlesztoFoglalkozasOraszam = adat.FejlesztesreForditandoOraszam; oTanulo.FejlesztesreKijelolt = adat.FejlesztesreKijelolt; oTanulo.FejlesztoFoglalkozas = adat.FejlesztoFoglalkozas; } } private void SetSzocialisAdatok(TanuloAdatCO adat, bool saveSzocialisAdatok, ITanulo oTanulo, bool isUpdate) { if (saveSzocialisAdatok) { oTanulo.IngyenesTankonvyEllatasa = adat.IngyenesTankonyvEllatas; oTanulo.SzocialisTamogatas = adat.SzocialisTamogatas; oTanulo.TestnevelesTipusa = adat.TestnevelesTipusa ?? (int)TestnevelesTipusEnum.normal_testneveles; oTanulo.KollegiumiEllatasos = adat.KollegiumiEllatasu; oTanulo.EtkezesiKedvezmeny = adat.EtkezesiKedvezmeny; oTanulo.AllamiGondozott = adat.IntezetiNevelt; oTanulo.HatranyosHelyzetu = adat.HatranyosHelyzet ?? (int)HatranyosHelyzetTipusEnum.nem_hatranyos_helyzetu; oTanulo.Veszelyeztetett = adat.Veszelyeztetett; oTanulo.TartosGyogykezelesSzama = adat.TartosGyogykezelesSzama; oTanulo.BeilleszkedesiNehezseg = adat.BeilleszkedesiNehezseg; oTanulo.RendszeresGyermekvedelmiKedvezmeny = adat.RendszeresGyermekvedelmiKedvezmeny; oTanulo.TanuloiJogviszonyosEltartottakSzama = adat.TanuloiJogviszonnyalEltartott; oTanulo.TobbGyermekIgazolasSzama = adat.TobbGyermnekIgazolasSzama; oTanulo.SzakkepesitesSzama = adat.SzakkepesitesenekSzama; oTanulo.MenedekjoggalRendelkezo = adat.MenedekJoggalRendelkezo; oTanulo.IsExternatusiEllatasban = adat.IsExternatusiEllatasban; oTanulo.IsNapkoziotthoniEllatasban = adat.IsNapkoziotthoniEllatasban; oTanulo.IsRendszeresGyermekvedelmi = adat.IsRendszeresGyermekvedelmi; oTanulo.IsOtthoniEllatas = adat.IsOtthonNyujtottEllatas; } else { if (!isUpdate) { oTanulo.TestnevelesTipusa = (int)TestnevelesTipusEnum.normal_testneveles; oTanulo.HatranyosHelyzetu = (int)HatranyosHelyzetTipusEnum.nem_hatranyos_helyzetu; } } } private void SetTanuloiTanugyiAdatok(IDalHandler h, TanuloAdatCO adat, int tanuloId, bool saveTanugyiAdatok, ITanuloCsoport tanuloCsoport) { if (saveTanugyiAdatok) { var tanuloTanugyiAdatok = tanuloCsoport.TanuloTanugyiAdatok; tanuloTanugyiAdatok.TantervId = adat.TantervId; tanuloTanugyiAdatok.TanuloEvfolyamTipusId = adat.TanuloEvfolyamTipus; tanuloTanugyiAdatok.NaploSorszam = adat.NaploSorszam; tanuloTanugyiAdatok.BizonyitvanySzama = adat.BizonyitvanySorszama; tanuloTanugyiAdatok.TorzslapSzam = adat.NyilvantartasiSzam; tanuloTanugyiAdatok.BeirasiNaploSorszam = adat.BeirasiSorszam; tanuloTanugyiAdatok.FelvetelTaneveId = adat.FelvetelTaneveId; tanuloTanugyiAdatok.TechnikusiEvfolyam = adat.TechnikusiEvfolyam; tanuloTanugyiAdatok.NyilvantartasKezdete = adat.NyilvantartastartasKezdete; tanuloTanugyiAdatok.JogviszonyVarhatoBefejezese = adat.JogviszonyBefejezese; tanuloTanugyiAdatok.JogviszonyatSzunetelteto = adat.JogviszonySzuneteltetese; tanuloTanugyiAdatok.Tankotelezett = adat.TankotelezettsegetTeljesito; tanuloTanugyiAdatok.TankotelezettsegVege = adat.TankotelezettsegVege; tanuloTanugyiAdatok.Bejaro = adat.Bejaro; tanuloTanugyiAdatok.IsESL16EvesUtanBelepett = adat.IsESL16EvesUtanBelepett; tanuloTanugyiAdatok.SzakmaiGyakorlaton = adat.SzakmaiGyakorlaton; tanuloTanugyiAdatok.Magantanulo = adat.Magantanulo; tanuloTanugyiAdatok.MagantanulosagKezdete = adat.MagantanulosagKezdete; tanuloTanugyiAdatok.MagantanulosagVege = adat.MagantanulosagVege; tanuloTanugyiAdatok.MagantanulosaganakOkaId = adat.MagantanulosagOka; tanuloTanugyiAdatok.Vendeg = adat.Vendeg; tanuloTanugyiAdatok.TandijatFizeto = adat.TandijatFizeto; tanuloTanugyiAdatok.TeritesiDijatFizeto = adat.TeritestFizeto; tanuloTanugyiAdatok.TanuloSzerzodeses = adat.Tanuloszerzodeses; tanuloTanugyiAdatok.PolgariSzerzodeses = adat.PolgariSzerzodeses; tanuloTanugyiAdatok.Egyuttmukodeses = adat.EgyuttmukodesiMegallapodasos; tanuloTanugyiAdatok.IskolaiKeretekKozott = adat.KizarolagIskolaiKeretekKozott; tanuloTanugyiAdatok.Diaksportkoros = adat.DiaksportkorTag; tanuloTanugyiAdatok.Evismetlo = adat.Evismetlo; tanuloTanugyiAdatok.ElozoIntezmeny = adat.ElozoIntezmeny; tanuloTanugyiAdatok.SZKTV = adat.SZKTV; tanuloTanugyiAdatok.SZETVAgazat = adat.SZETV; tanuloTanugyiAdatok.OSZTV = adat.OSZTV; tanuloTanugyiAdatok.EgyebOrszagosDonto = adat.EgyebOrszagosDonto; tanuloTanugyiAdatok.Szintvizsga = adat.GyakorlatiSzintvizsgakAtlaga; tanuloTanugyiAdatok.TanterviJellemzoId = adat.TanterviJellemzoId; tanuloTanugyiAdatok.AgazatUjSzktTipusId = adat.AgazatUjSzktTipusId; tanuloTanugyiAdatok.SzakmaTipusId = adat.SzakmaTipusId; tanuloTanugyiAdatok.SzakmairanyTipusId = adat.SzakmairanyTipusId; tanuloTanugyiAdatok.AgazatAlapOktMegnevTipusId = adat.AgazatAlapOktMegnevTipusId; tanuloTanugyiAdatok.AgazatAlapVizsgaEredTipusId = adat.AgazatAlapVizsgaEredTipusId; tanuloTanugyiAdatok.AgazatiAlapVizsgaTeljesites = adat.AgazatiAlapvizsgaDatuma; tanuloTanugyiAdatok.AgazatiAlapvizsgaEredmenye = adat.AgazatiAlapvizsgaEredmenye; tanuloTanugyiAdatok.AgazatiAlapvizsgaEredmenyeSz = adat.AgazatiAlapvizsgaEredmenyeSzazalek; tanuloTanugyiAdatok.IsSzakkepzesiMunkaszerzodessel = adat.IsSzakkepzesiMunkaszerzodessel; if (adat.SzervezetId.IsEntityId()) { tanuloTanugyiAdatok.SzervezetId = adat.SzervezetId.Value; if (string.IsNullOrWhiteSpace(tanuloTanugyiAdatok.DualisKepzohelyNeve) || string.IsNullOrWhiteSpace(tanuloTanugyiAdatok.DualisKepzohelyAdoszama)) { var szervezet = new SzervezetHelper(new DalHandlerConnectionType(ConnectionType, h)).GetDualisKepzohelyById(adat.SzervezetId.Value); tanuloTanugyiAdatok.DualisKepzohelyNeve = szervezet.KepzohelyNeve; tanuloTanugyiAdatok.DualisKepzohelyAdoszama = szervezet.KepzohelyAdoszama; } } else { tanuloTanugyiAdatok.SzervezetId = -1; tanuloTanugyiAdatok.DualisKepzohelyNeve = adat.DualisKepzohelyNeve; tanuloTanugyiAdatok.DualisKepzohelyAdoszama = adat.DualisKepzohelyAdoszama; } tanuloTanugyiAdatok.SzakiranyNktTipusId = adat.SzakiranyNktTipusId; tanuloTanugyiAdatok.SzakkepesitesNktTipusId = adat.SzakkepesitesNktTipusId; tanuloTanugyiAdatok.TanulmanyiTeruletNktTipusId = adat.TanulmanyiTeruletNktTipusId; tanuloTanugyiAdatok.AgazatId = adat.AgazatId ?? (int)AgazatTipusEnum.Na; tanuloTanugyiAdatok.SzakkepesitesId = adat.SzakkepesitesId ?? (int)SzakkepesitesTipusEnum.Na; tanuloTanugyiAdatok.ReszszakkepesitesId = adat.ReszSzakkepesitesId ?? (int)ReszszakkepesitesTipusEnum.Na; tanuloTanugyiAdatok.SzakmacsoportId = adat.SzakmacsoportId ?? (int)SzakmacsoportTipusEnum.Na; tanuloTanugyiAdatok.Is9kozul8ElozotanevbenVegezte = adat.Is9kozul8ElozotanevbenVegezte; tanuloTanugyiAdatok.IsKiemeltenTehetseges = adat.IsKiemeltenTehetseges; tanuloTanugyiAdatok.IsSzabokyAdolfSzakkepODReszesul = adat.IsSzabokyAdolfSzakkepODReszesul; tanuloTanugyiAdatok.IsSzamitogepetOktCelraHasznal = adat.IsSzamitogepetOktCelraHasznal; tanuloTanugyiAdatok.IsEgesznaposIskOktReszesul = adat.IsEgesznaposIskOktReszesul; tanuloTanugyiAdatok.TanterviJellegId = adat.TanterviJellegId; tanuloTanugyiAdatok.AgazatReszSzakmaTipusId = adat.AgazatReszSzakmaTipusId; tanuloTanugyiAdatok.ReszSzakmaTipusId = adat.ReszSzakmaTipusId; tanuloTanugyiAdatok.SzakmaReszSzakmaTipusId = adat.SzakmaReszSzakmaTipusId; tanuloTanugyiAdatok.IsSzakkepzesenKivulrolJott = adat.IsSzakkepzesenKivulrolJott; tanuloTanugyiAdatok.IsAtlagNelkuli = adat.IsAtlagNelkuli; if (new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, h)).IsOsztaly(tanuloCsoport.OsztalyCsoportId)) { tanuloTanugyiAdatok.MuveszetiAgId = adat.MuveszetiAgId; tanuloTanugyiAdatok.MufajTipusId = adat.MufajTipusId; tanuloTanugyiAdatok.TanszakTipusId = adat.TanszakTipusId; } if (adat.IsSzakkepzesiMunkaszerzodessel) { if ((adat.SzakkepzesiMunkaszerzodesList?.Count ?? 0) > 0) { adat.SzakkepzesiMunkaszerzodesList.ForEach(delegate (SzakkepzesiMunkaszerzodesItemCo x) { if ((x.Status == KendoLocalDataItemStatus.Inserted.ToString()) || (x.Status == KendoLocalDataItemStatus.Modified.ToString())) { SaveOrUpdateSzakkepzesiMunkaszerzodes(x.Id, tanuloId, x.Kezdete.Value, x.Vege.Value, x.SzervezetId.Value); } else { DeleteSzakkepzesiMunkaszerzodes(x.Id); } }); } } else { DeleteAllSzakkepzesiMunkaszerzodesByTanuloId(tanuloId); } } } private void SetGlobalTanugyiAdatok(TanuloAdatCO adat, bool saveTanugyiAdatok, ITanulo oTanulo, bool isSelectedTanev21_22OrLater) { if (saveTanugyiAdatok) { oTanulo.BeirasiNaploSorszam = adat.BeirasiSorszam; oTanulo.FelvetelTaneveId = adat.FelvetelTaneveId; oTanulo.NyilvantartasKezdete = adat.NyilvantartastartasKezdete; oTanulo.JogviszonyVarhatoBefejezese = adat.JogviszonyBefejezese; oTanulo.JogviszonyatSzunetelteto = adat.JogviszonySzuneteltetese; oTanulo.Tankotelezett = adat.TankotelezettsegetTeljesito; oTanulo.TankotelezettsegVege = adat.TankotelezettsegVege; oTanulo.Bejaro = adat.Bejaro; oTanulo.SzakmaiGyakorlaton = adat.SzakmaiGyakorlaton; oTanulo.Magantanulo = adat.Magantanulo; oTanulo.MagantanulosaganakOka = adat.MagantanulosagOka; oTanulo.MagantanulosagKezdete = adat.MagantanulosagKezdete; oTanulo.MagantanulosagVege = adat.MagantanulosagVege; oTanulo.Vendeg = adat.Vendeg; oTanulo.TandijatFizeto = adat.TandijatFizeto; oTanulo.TeritesiDijatFizeto = adat.TeritestFizeto; oTanulo.TanuloSzerzodeses = adat.Tanuloszerzodeses; oTanulo.PolgariSzerzodeses = adat.PolgariSzerzodeses; oTanulo.Diaksportkoros = adat.DiaksportkorTag; oTanulo.Evismetlo = adat.Evismetlo; oTanulo.ElozoIntezmeny = adat.ElozoIntezmeny; oTanulo.SZKTV = adat.SZKTV; oTanulo.SZETVAgazat = adat.SZETV; oTanulo.OSZTV = adat.OSZTV; oTanulo.EgyebDonto = adat.EgyebOrszagosDonto; oTanulo.Szintvizsga = adat.GyakorlatiSzintvizsgakAtlaga; oTanulo.TechnikusiEvfolyam = adat.TechnikusiEvfolyam; oTanulo.Egyuttmukodeses = adat.EgyuttmukodesiMegallapodasos; oTanulo.IskolaiKeretekKozott = adat.KizarolagIskolaiKeretekKozott; oTanulo.TanuloEvfolyamTipus = adat.TanuloEvfolyamTipus; oTanulo.TanterviJellemzoId = adat.TanterviJellemzoId; if (!isSelectedTanev21_22OrLater) { oTanulo.AgazatUjSzktTipusId = adat.AgazatUjSzktTipusId; oTanulo.SzakmaTipusId = adat.SzakmaTipusId; oTanulo.SzakmairanyTipusId = adat.SzakmairanyTipusId; oTanulo.SzakiranyNktTipusId = adat.SzakiranyNktTipusId; oTanulo.SzakkepesitesNktTipusId = adat.SzakkepesitesNktTipusId; oTanulo.TanulmanyiTeruletNktTipusId = adat.TanulmanyiTeruletNktTipusId; } oTanulo.AgazatiAlapvizsgaEredmenye = adat.AgazatiAlapvizsgaEredmenye; oTanulo.AgazatiAlapvizsgaEredmenyeSz = adat.AgazatiAlapvizsgaEredmenyeSzazalek; oTanulo.IsSzakkepzesiMunkaszerzodessel = adat.IsSzakkepzesiMunkaszerzodessel; oTanulo.DualisKepzohelyNeve = adat.DualisKepzohelyNeve; oTanulo.DualisKepzohelyAdoszama = adat.DualisKepzohelyAdoszama; oTanulo.Is9kozul8ElozotanevbenVegezte = adat.Is9kozul8ElozotanevbenVegezte; oTanulo.IsKiemeltenTehetseges = adat.IsKiemeltenTehetseges; oTanulo.IsSzabokyAdolfSzakkepODReszesul = adat.IsSzabokyAdolfSzakkepODReszesul; oTanulo.IsSzamitogepetOktCelraHasznal = adat.IsSzamitogepetOktCelraHasznal; oTanulo.IsEgesznaposIskOktReszesul = adat.IsEgesznaposIskOktReszesul; } } private void SetGlobalJogviszonySzuneteltetese(bool isInsert, TanuloAdatCO adat, ITanulo oTanulo, IDalHandler dalhandler) { var dal = dalhandler.JogviszonySzuneteltetesDal(); var tanuloDal = dalhandler.Tanulo(); var tanevDal = dalhandler.TanevDal(); var tanevData = tanevDal.Get(tanevDal.GetAktivTanevId()); if (isInsert && adat.JogviszonySzuneteltetese && !adat.ID.HasValue) { var jvsz = dal.Get(null); jvsz.Kezdete = tanevData.KezdoNap.Value; jvsz.Vege = tanevData.UtolsoNap.Value; jvsz.IntezmenyId = oTanulo.IntezmenyId; jvsz.TanevId = oTanulo.TanevId; jvsz.Tanulo = oTanulo; dal.Insert(jvsz); } if (!isInsert && adat.JogviszonySzuneteltetese) { var ds = tanuloDal.GetJogviszonySzuneteltetes(oTanulo.ID, null); if (ds.Tables[0].Rows.Count == 0) { var jvsz = dal.Get(null); jvsz.Kezdete = tanevData.KezdoNap.Value; jvsz.Vege = tanevData.UtolsoNap.Value; jvsz.IntezmenyId = oTanulo.IntezmenyId; jvsz.TanevId = oTanulo.TanevId; jvsz.Tanulo = oTanulo; dal.Insert(jvsz); } } } private void SetAlapadatok(TanuloAdatCO adat, bool saveAlapadatok, ITanulo oTanulo, int lcId) { if (saveAlapadatok) { oTanulo.AlapertelmezettLCID = lcId; oTanulo.OktatasiAzonosito = adat.OktatasiAzonosito; oTanulo.IsOktAzonNelkul = adat.IsOktatasiAzonositoNelkul; oTanulo.Neme = adat.Neme; oTanulo.NevSorrend = false; oTanulo.Elotag = Extensions.NameExtensions.CleanElotag(adat.Elotag); oTanulo.Vezeteknev = adat.CsaladiNev; oTanulo.Utonev = adat.UtoNev; oTanulo.NyomtatasiNev = Extensions.NameExtensions.GetNevSorrendben("F", oTanulo.Elotag, oTanulo.Vezeteknev, oTanulo.Utonev); oTanulo.KeresesiNev = CommonUtilsDal.KopaszNev(oTanulo.NyomtatasiNev); oTanulo.SzuletesiNevSorrend = false; oTanulo.SzuletesiNevElotag = Extensions.NameExtensions.CleanElotag(adat.SzuletesiNevElotag); oTanulo.SzuletesiVezeteknev = adat.SzuletesiCsaladiNev; oTanulo.SzuletesiUtonev = adat.SzuletesiUtoNev; oTanulo.SzuletesiNev = Extensions.NameExtensions.GetNevSorrendben("F", oTanulo.SzuletesiNevElotag, oTanulo.SzuletesiVezeteknev, oTanulo.SzuletesiUtonev); oTanulo.AnyjaNeveSorrend = false; oTanulo.AnyjaNeveElotag = Extensions.NameExtensions.CleanElotag(adat.AnyjaNeveElotag); oTanulo.AnyjaVezetekneve = adat.AnyjaCsaladiNev; oTanulo.AnyjaUtoneve = adat.AnyjaUtoNev; oTanulo.AnyjaNeve = Extensions.NameExtensions.GetNevSorrendben("F", oTanulo.AnyjaNeveElotag, oTanulo.AnyjaVezetekneve, oTanulo.AnyjaUtoneve); oTanulo.SzuletesiHely = adat.SzuletesiHely; oTanulo.SzuletesiDatum = adat.SzuletesiIdo; oTanulo.Allampolgarsaga = adat.Allampolgarsag; if (adat.Anyanyelv.HasValue) { oTanulo.Anyanyelve = adat.Anyanyelv.Value; } if (adat.Allampolgarsag2.HasValue && adat.Allampolgarsag2.Value > 0) { oTanulo.Allampolgarsaga2 = adat.Allampolgarsag2.Value; } else { oTanulo.Allampolgarsaga2 = null; } oTanulo.TartozkodasJogcimTipusId = adat.TartozkodasJogcimTipusId; oTanulo.OkiratSzam = adat.OkiratSzam; oTanulo.SzuletesiOrszag = adat.SzuletesiOrszag; oTanulo.Megjegyzes = adat.Megjegyzes; oTanulo.TartJogOkmanyTipusId = adat.TartozkodasiJogotIgazoloOkmanyId; oTanulo.TartJogOkmanySzam = adat.TartozkodasiJogotIgazoloOkmanySzama; } } private void SetIgazolvanyadatok(TanuloAdatCO adat, bool saveIgazolvanyAdatok, ITanulo oTanulo) { if (saveIgazolvanyAdatok) { oTanulo.IgazolvanySzam = adat.Igazolvanyszam; oTanulo.IgazolvanyTipusa = adat.IgazolvanyTipus; oTanulo.DiakIgazolvanySzam = adat.DiakigazolvanySzam; oTanulo.DiakIgazolvanyKelte = adat.DiakigazolvanyKelte; oTanulo.TAJSzam = adat.TajSzam; oTanulo.IsTAJSzamNelkul = adat.IsTajSzamNelkul; oTanulo.AdoazonositoJel = adat.AdoazonositoJel; oTanulo.IsAdoAzonositoNelkul = adat.IsAdoazonositoJelNelkul; //oTanulo.BankszamlaSzam = adat.BankszamlaSzam; oTanulo.NemzetkoziBiztositasiOkmSzam = adat.NemzetkoziBiztositasiOkmanySzama; } } private void SetJuttatasAdatok(TanuloAdatCO adat, bool saveJuttatasok, ITanulo oTanulo) { if (saveJuttatasok) { //oTanulo.BankszamlaSzam = adat.BankszamlaSzam?.Replace("-", ""); oTanulo.JogviszonyTipusID = adat.Jogviszony; //oTanulo.BankszamlaTulajdonosTipusID = adat.BankszamlaTulajdonos; oTanulo.IsMasodikTobbSzakma = adat.IsMasodikVagyTobbedikSzakmatSzerzo; oTanulo.IsBeszamitasos = adat.IsBeszamitasosTanulo; //oTanulo.BankszamlaTulajNeve = adat.BankszamlaTulajdonosNeve; oTanulo.KeziAtlag = adat.KeziAtlag; oTanulo.IsSikeresAgazatiVizsga = adat.IsSikeresAgazatiVizsga; oTanulo.IsAtlagSzakkepzesi = adat.IsAtlagSzakkepzesi; oTanulo.IsBeszamitasosFixSzazalek = adat.IsBeszamitasosFixSzazalek; oTanulo.IsApaczaiIgenylo = adat.IsApaczaiIgenylo; oTanulo.IsApaczaiSzerzodeses = adat.IsApaczaiSzerzodeses; oTanulo.IsIngyenesKepzes = adat.IsIngyenesKepzes; oTanulo.MentorId = adat.MentorId ?? -1; } } private void SetSzirBeallitasok(TanuloAdatCO adat, bool saveSzirBeallitasok, ITanulo oTanulo) { if (saveSzirBeallitasok) { oTanulo.IsKuldhetoErettsegiSzRnek = adat.IsKuldhetoErettsegiSzRnek; oTanulo.IsKuldhetoMeresiSzRnek = adat.IsKuldhetoMeresiSzRnek; oTanulo.IsKuldhetoKozepFelveteliSzRnek = adat.IsKuldhetoKozepFelveteliSzRnek; oTanulo.IsDiakigazolvanyAtadhatoSzRnek = adat.IsDiakigazolvanyAtadhatoSzRnek; } } private void SetAmiKepzesiJellemzok(TanuloAdatCO adat, bool saveTanugyiAdatok, ITanulo oTanulo) { if (saveTanugyiAdatok) { oTanulo.MuveszetiAgId = adat.MuveszetiAgId; oTanulo.MufajTipusId = adat.MufajTipusId; oTanulo.TanszakTipusId = adat.TanszakTipusId; } } private void SetUjJogviszony(IDalHandler dalhandler, TanuloAdatCO adat, bool saveUjJogviszony, int tanuloID, int? kovTanevId) { if (saveUjJogviszony) { var dal = dalhandler.TbJogviszonyDal(); var tbJogviszony = dal.Get(); tbJogviszony.TanevId = TanevId; tbJogviszony.TanuloId = tanuloID; tbJogviszony.JogvKeletkezeseJogcimTipusId = adat.JogviszonyKeletkezesenekJogcime; tbJogviszony.TbJogviszonyTipusId = adat.JogviszonyTipusa; tbJogviszony.Kezdete = adat.JogviszonyKezdete; tbJogviszony.Megjegyzes = adat.JogviszonyMegjegyzes; tbJogviszony.IsAktiv = true; dal.Insert(tbJogviszony, kovTanevId); } } private void UpdateTanuloSzakkepzesiJuttatasok(int tanevId, int tanuloId, IDalHandler h) { var dal = h.JuttatasDAL(); dal.UpdateTanulokSzakkepzesiJuttatasok(tanevId, FelhasznaloId, (int)JuttatasTipusEnum.szakkepzesi_juttatas, tanuloId: tanuloId); dal.UpdateTanulokSzakkepzesiJuttatasok(tanevId, FelhasznaloId, (int)JuttatasTipusEnum.apaczaiosztondij, tanuloId: tanuloId); } private void UpdateTanuloEpJuttatasok(int tanuloId, IDalHandler h) { var dal = h.JuttatasDAL(); dal.UpdateTanuloEpJuttatasok(TanevId, FelhasznaloId, tanuloId: tanuloId); } public void UpdateTanuloSzakkepzesiJuttatasok(int tanevId, List tanuloIdList) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.JuttatasDAL(); var tanuloIdListStr = string.Join(",", tanuloIdList); dal.UpdateTanulokSzakkepzesiJuttatasok(tanevId, FelhasznaloId, (int)JuttatasTipusEnum.szakkepzesi_juttatas, tanulokIdString: tanuloIdListStr); dal.UpdateTanulokSzakkepzesiJuttatasok(tanevId, FelhasznaloId, (int)JuttatasTipusEnum.apaczaiosztondij, tanulokIdString: tanuloIdListStr); }); } private void SaveTanuloCim(IDalHandler dalhandler, ITanulo oTanulo, TanuloAdatCO adat) { var cimDal = dalhandler.Cim(); var allandoCim = adat.ID.HasValue ? cimDal.GetSpecific(string.Format(" AND C_FELHASZNALOID = {0} AND TOROLT = 'F'", oTanulo.ID), TanevId) : cimDal.Get(); allandoCim.Ajto = adat.Ajto; allandoCim.CimTipusa = (int)CimTipusEnum.allando_lakcim; allandoCim.Emelet = adat.Emelet; allandoCim.FelhasznaloId = oTanulo.ID; allandoCim.Hazszam = adat.Hazszam; allandoCim.IranyitoSzam = adat.Iranyitoszam; allandoCim.Kozterulet = adat.KozteruletNev; allandoCim.KozteruletJellegeNev = adat.KozteruletTipusNev; allandoCim.Orszag = adat.Orszag ?? (int)OrszagTipusEnum.Magyarorszag; allandoCim.Varos = adat.HelysegNev; allandoCim.TanevId = oTanulo.TanevId; allandoCim.Alapertelmezett = true; if (!adat.ID.HasValue) { cimDal.Insert(allandoCim); } else { cimDal.FullUpdate(allandoCim); } } private void SaveTanuloElerhetoseg(IDalHandler dalhandler, ITanulo oTanulo, TanuloAdatCO adat) { var ujEmail = true; var emilDal = dalhandler.Email(); IEmail email; if (adat.ID.HasValue) { email = emilDal.GetSpecific(string.Format(" AND C_FELHASZNALOID = {0} AND TOROLT = 'F' AND C_ALAPERTELMEZETT = 'T'", oTanulo.ID), TanevId); if (email != null) { ujEmail = false; } else { email = emilDal.Get(); } } else { email = emilDal.Get(); } if (adat.Emailcim != null) { email.Alapertelmezett = true; email.EmailCim = adat.Emailcim; email.EmailTipusa = (int)EmailTipusEnum.Hivatalos; email.FelhasznaloId = oTanulo.ID; email.TanevId = oTanulo.TanevId; if (ujEmail) { emilDal.Insert(email); } else { emilDal.FullUpdate(email); } } var ujTelefon = true; var telefonDal = dalhandler.Telefon(); ITelefon telefon; if (adat.ID.HasValue) { telefon = telefonDal.GetSpecific(string.Format(" AND C_FELHASZNALOID = {0} AND TOROLT = 'F' AND C_ALAPERTELMEZETT = 'T'", oTanulo.ID), TanevId); if (telefon == null) { telefon = telefonDal.Get(); } else { ujTelefon = false; } } else { telefon = telefonDal.Get(); } if (adat.Telefonszam == null) { return; } telefon.Alapertelmezett = true; telefon.FelhasznaloId = oTanulo.ID; telefon.TelefonSzam = adat.Telefonszam; telefon.TelefonTipusa = adat.TelefonTipus.Value; telefon.TanevId = oTanulo.TanevId; if (ujTelefon) { telefonDal.Insert(telefon); } else { telefonDal.FullUpdate(telefon); } } private BelepesiAdatokListCO SaveGondviselo(IDalHandler h, IGondviseloDal gondviseloDal, ICimDal cimDal, IEmailDal emailDal, ITelefonDal telefonDal, ITanulo oTanulo, TanuloAdatCO adat, bool isSzirIntezmeny, int? kovTanevId) { var ujGondviselo = true; IGondviselo gondviselo; if (adat.ID.HasValue) { gondviselo = gondviseloDal.GetSpecific(string.Format(" AND C_TANULOID = {0} AND TOROLT = 'F'", oTanulo.ID), TanevId); if (gondviselo == null) { gondviselo = gondviseloDal.Get(); } else { ujGondviselo = false; } } else { gondviselo = gondviseloDal.Get(); } gondviselo.Aktiv = true; gondviselo.Nev = adat.GondviseloNeve; gondviselo.RokonsagFoka = adat.RokonsagiFok ?? default; gondviselo.TanuloId = oTanulo.ID; gondviselo.TanevId = oTanulo.TanevId; gondviselo.IsEmailErtesites = adat.GondviseloAutoEmail; if (ujGondviselo) { gondviselo.IsTorvenyesKepviselo = true; gondviseloDal.Insert(gondviselo); } else { gondviseloDal.FullUpdate(gondviselo); } InsertOrUpdateGondviseloElerhetoseg(cimDal, emailDal, telefonDal, oTanulo, adat, ujGondviselo, gondviselo); return SaveGondviseloBelepes(h, oTanulo, adat, ujGondviselo, gondviselo, adat.GondviseloAutoEmail, isSzirIntezmeny, kovTanevId); } private BelepesiAdatokListCO SaveGondviseloBelepes(IDalHandler h, ITanulo oTanulo, TanuloAdatCO adat, bool ujGondviselo, IGondviselo gondviselo, bool gondviseloEmailKuldesSzukseges, bool isSzirIntezmeny, int? kovTanevId) { return SaveGondviseloBelepes(h, oTanulo, oTanulo.SzuletesiDatum, adat.GondviseloBelepesiNeve, adat.GondviseloJelszava, ujGondviselo, gondviselo, gondviseloEmailKuldesSzukseges, isSzirIntezmeny, kovTanevId); } private BelepesiAdatokListCO SaveGondviseloBelepes(IDalHandler h, ITanuloDal tanuloDal, TanuloGondviseloCO adat, bool ujGondviselo, IGondviselo gondviselo, bool isSzirIntezmeny, int? kovTanevId) { var tanulo = tanuloDal.Get(adat.TanuloId); return SaveGondviseloBelepes(h, tanulo, gondviselo.Tanulo.SzuletesiDatum, adat.GondviseloBelepesiNeve, adat.GondviseloJelszava, ujGondviselo, gondviselo, adat.GondviseloAutoEmail, isSzirIntezmeny, kovTanevId); } private BelepesiAdatokListCO SaveGondviseloBelepes(IDalHandler h, ITanulo tanulo, DateTime szuletesiDatum, string gondviseloBelepesiNeve, string gondviseloJelszava, bool ujGondviselo, IGondviselo gondviselo, bool emailKuldesSzukseges, bool isSzirIntezmeny, int? kovTanevId) { var gondviseloBelepesiAdatokPdfGeneralasList = new BelepesiAdatokListCO(); if (isSzirIntezmeny || (kovTanevId.HasValue && TanevId == kovTanevId.Value)) { return gondviseloBelepesiAdatokPdfGeneralasList; } var felhasznaloBelepesDal = h.FelhasznaloBelepes(); if (ujGondviselo && !string.IsNullOrWhiteSpace(gondviseloJelszava) && string.IsNullOrWhiteSpace(gondviseloBelepesiNeve)) { var gondviseloIndex = 1; gondviseloBelepesiNeve = CommonUtils.GenerateGondviseloBejelentkezesiNev(felhasznaloBelepesDal, tanulo.OktatasiAzonosito, ref gondviseloIndex, TanevId); } var connectionType = new DalHandlerConnectionType(ConnectionType, h); var felhasznaloBelepesHelper = new FelhasznaloBelepesHelper(connectionType); if (!string.IsNullOrWhiteSpace(gondviseloBelepesiNeve)) { if (!gondviselo.FelhasznaloBelepes.Any(x => !x.Torolt)) //most adta meg először a gondviselő belépési nevét { if (string.IsNullOrWhiteSpace(gondviseloJelszava)) { gondviseloJelszava = CommonUtils.GenerateJelszo(); } felhasznaloBelepesHelper.GrantLogin(tanulo.ID, gondviseloBelepesiNeve.Trim(), gondviseloJelszava, gondviselo.ID, kotelezoValtoztatni: true); new HozzaferesGeneralasaHelper(connectionType).UjGondviseloBelepesiAdatokPdfGeneralasEsEmailKuldes(tanulo.ID, gondviselo.ID, emailKuldesSzukseges, gondviseloBelepesiAdatokPdfGeneralasList, gondviseloBelepesiNeve, gondviseloJelszava); } else { var trimmedName = gondviseloBelepesiNeve.Trim(); var belepes = gondviselo.FelhasznaloBelepes.FirstOrDefault(t => !t.Torolt && t.BejelentkezesiNev != trimmedName && t.GondviseloId == gondviselo.ID); if (belepes != null) //megváltoztatta a gondviselő belépési nevét { belepes.BejelentkezesiNev = trimmedName; felhasznaloBelepesDal.Update(belepes); } if (!string.IsNullOrWhiteSpace(gondviseloJelszava)) { felhasznaloBelepesHelper.ChangeUserPassword(trimmedName, gondviseloJelszava, kotelezoValtoztatni: true); } } } else if (ujGondviselo) { AlapertelmezettGondviseloBelepesGeneralas(h, tanulo, gondviselo, emailKuldesSzukseges, gondviseloBelepesiAdatokPdfGeneralasList); } return gondviseloBelepesiAdatokPdfGeneralasList; } public void AlapertelmezettGondviseloBelepesGeneralas(int gondviseloId, bool emailKuldesSzukseges, BelepesiAdatokListCO belepesiAdatokPdfGeneralasList) { Dal.CustomConnection.Run(ConnectionType, h => { var gondviseloDal = h.Gondviselo(); var gondviselo = gondviseloDal.Get(gondviseloId); var tanulo = gondviselo.Tanulo; if (tanulo.ID.IsEntityId() && gondviselo.ID.IsEntityId()) { AlapertelmezettGondviseloBelepesGeneralas(h, tanulo, gondviselo, emailKuldesSzukseges, belepesiAdatokPdfGeneralasList); } }); } private void AlapertelmezettGondviseloBelepesGeneralas(IDalHandler h, ITanulo tanulo, IGondviselo gondviselo, bool emailKuldesSzukseges, BelepesiAdatokListCO belepesiAdatokPdfGeneralasList) { if (gondviselo.FelhasznaloBelepes.All(x => x.Torolt)) { var gondviseloJelszava = CommonUtils.GenerateJelszo(); var gondviseloIndex = 1; var felhasznaloBelepesDal = h.FelhasznaloBelepes(); var gondviseloBelepesiNeve = CommonUtils.GenerateGondviseloBejelentkezesiNev(felhasznaloBelepesDal, tanulo.OktatasiAzonosito, ref gondviseloIndex, TanevId); var felhasznaloBelepesId = felhasznaloBelepesDal.IsUserNameExistsInIntezmeny(gondviseloBelepesiNeve, IntezmenyId, tanulo.ID, true); new FelhasznaloBelepesHelper(new DalHandlerConnectionType(ConnectionType, h)).GrantLogin(tanulo.ID, gondviseloBelepesiNeve, gondviseloJelszava, gondviselo.ID, kotelezoValtoztatni: true); new HozzaferesGeneralasaHelper(new DalHandlerConnectionType(ConnectionType, h)).UjGondviseloBelepesiAdatokPdfGeneralasEsEmailKuldes(tanulo.ID, gondviselo.ID, emailKuldesSzukseges, belepesiAdatokPdfGeneralasList, gondviseloBelepesiNeve, gondviseloJelszava); } } private void InsertOrUpdateGondviseloElerhetoseg(ICimDal cimDal, IEmailDal emailDal, ITelefonDal telefonDal, ITanulo oTanulo, TanuloAdatCO adat, bool ujGondviselo, IGondviselo gondviselo) { ICim gondviseloCim; if (!ujGondviselo) { gondviseloCim = cimDal.GetSpecific(string.Format(" AND C_GONDVISELOID = {0} and TOROLT = 'F'", gondviselo.ID), TanevId) ?? cimDal.Get(); } else { gondviseloCim = cimDal.Get(); } gondviseloCim.GondviseloId = gondviselo.ID; gondviseloCim.FelhasznaloId = oTanulo.ID; gondviseloCim.TanevId = oTanulo.TanevId; gondviseloCim.Ajto = adat.AjtoGondviselo; gondviseloCim.CimTipusa = (int)CimTipusEnum.allando_lakcim; gondviseloCim.Emelet = adat.EmeletGondviselo; gondviseloCim.Hazszam = adat.HazszamGondviselo; gondviseloCim.IranyitoSzam = adat.IranyitoszamGondviselo; gondviseloCim.Kozterulet = adat.KozteruletNevGondviselo; gondviseloCim.KozteruletJellegeNev = adat.KozteruletJellegNevGondviselo; gondviseloCim.Orszag = adat.OrszagGondviselo ?? (int)OrszagTipusEnum.Magyarorszag; gondviseloCim.Varos = adat.HelysegNevGondviselo; gondviseloCim.Alapertelmezett = adat.AlapertelmezettGondviseloCim; if (ujGondviselo) { cimDal.Insert(gondviseloCim); } else { cimDal.FullUpdate(gondviseloCim); } IEmail gondviseloemail; if (!ujGondviselo) { gondviseloemail = emailDal.GetSpecific(string.Format(" AND C_GONDVISELOID = {0} AND TOROLT = 'F' AND C_ALAPERTELMEZETT='T'", gondviselo.ID), TanevId) ?? emailDal.Get(); } else { gondviseloemail = emailDal.Get(); } if (adat.EmailcimGondviselo != null) { gondviseloemail.Alapertelmezett = true; gondviseloemail.EmailCim = adat.EmailcimGondviselo; gondviseloemail.EmailTipusa = (int)EmailTipusEnum.Hivatalos; gondviseloemail.GondviseloId = gondviselo.ID; gondviseloemail.FelhasznaloId = gondviselo.TanuloId; gondviseloemail.TanevId = oTanulo.TanevId; if (ujGondviselo) { emailDal.Insert(gondviseloemail); } else { emailDal.FullUpdate(gondviseloemail); } } ITelefon gondviselotelefon; if (!ujGondviselo) { gondviselotelefon = telefonDal.GetSpecific(string.Format(" AND C_GONDVISELOID = {0} AND TOROLT = 'F' AND C_ALAPERTELMEZETT='T'", gondviselo.ID), TanevId) ?? telefonDal.Get(); } else { gondviselotelefon = telefonDal.Get(); } if (adat.TelefonszamGondviselo == null) { return; } gondviselotelefon.Alapertelmezett = true; gondviselotelefon.TelefonSzam = adat.TelefonszamGondviselo; gondviselotelefon.TelefonTipusa = adat.TelefonTipusGondviselo.Value; gondviselotelefon.GondviseloId = gondviselo.ID; gondviselotelefon.FelhasznaloId = gondviselo.TanuloId; gondviselotelefon.TanevId = oTanulo.TanevId; if (ujGondviselo) { telefonDal.Insert(gondviselotelefon); } else { telefonDal.FullUpdate(gondviselotelefon); } } public static string ConvertSzamlaszam(string szamlaszam) { if (string.IsNullOrWhiteSpace(szamlaszam)) { return string.Empty; } const int Len = 8; var stringList = new List(); for (var i = 0; i + Len <= szamlaszam.Length; i += Len) { if (i + Len <= szamlaszam.Length) { stringList.Add(szamlaszam.Substring(i, Len)); } else { stringList.Add(szamlaszam.Substring(i, szamlaszam.Length - i)); } } return string.Join("-", stringList); } private TanuloAdatCO ConvertDtoToCo(ITanulo tanulo) { var co = new TanuloAdatCO(); var gondviselo = tanulo.Gondviselo.FirstOrDefault(g => g.Aktiv && !g.Torolt); ICim gondviseloLakcim = null; IFelhasznaloBelepes gondviseloBelepes = null; if (gondviselo != null) { gondviseloLakcim = gondviselo.Cim.FirstOrDefault(x => !x.Torolt); gondviseloBelepes = gondviselo.FelhasznaloBelepes.FirstOrDefault(x => !x.Torolt); } var osztalyId = GetTanuloAlapkepzesesOsztalyId(tanulo.ID); // alapadat co.ID = tanulo.ID; co.OktatasiAzonosito = tanulo.OktatasiAzonosito; co.IsOktatasiAzonositoNelkul = tanulo.IsOktAzonNelkul; co.Neme = tanulo.Neme; co.Elotag = tanulo.Elotag; co.CsaladiNev = tanulo.Vezeteknev; co.UtoNev = tanulo.Utonev; co.AnyjaCsaladiNev = tanulo.AnyjaVezetekneve; co.AnyjaUtoNev = tanulo.AnyjaUtoneve; co.AnyjaNeveElotag = tanulo.AnyjaNeveElotag; co.SzuletesiCsaladiNev = tanulo.SzuletesiVezeteknev; co.SzuletesiUtoNev = tanulo.SzuletesiUtonev; co.SzuletesiNevElotag = tanulo.SzuletesiNevElotag; co.SzuletesiHely = tanulo.SzuletesiHely; co.SzuletesiOrszag = tanulo.SzuletesiOrszag; co.SzuletesiIdo = tanulo.SzuletesiDatum; co.Allampolgarsag = tanulo.Allampolgarsaga; if (tanulo.Allampolgarsaga2 != -1) { co.Allampolgarsag2 = tanulo.Allampolgarsaga2; } co.TartozkodasJogcimTipusId = tanulo.TartozkodasJogcimTipusId; co.OkiratSzam = tanulo.OkiratSzam; co.Anyanyelv = tanulo.Anyanyelve; co.Megjegyzes = tanulo.Megjegyzes; co.TartozkodasiJogotIgazoloOkmanyId = tanulo.TartJogOkmanyTipusId; co.TartozkodasiJogotIgazoloOkmanySzama = tanulo.TartJogOkmanySzam; var tanulok = tanulo.FelhasznaloBelepes.Where(f => f.Gondviselo == null && !f.Torolt); var felhasznaloBelepeses = tanulok as IList ?? tanulok.ToList(); if (felhasznaloBelepeses.Count > 0) { // Fenti feltételnek csak egyetlen sor felelhet meg intézményenként, // így ha valami miatt több sor lenne szépen elszáll a kód, mivel senki nem mondja meg egyébként, hogy melyik sort kellene venni co.BelepesiNev = felhasznaloBelepeses.Single(x => !x.Torolt).BejelentkezesiNev; co.UtolsoBelepes = felhasznaloBelepeses.Single(x => !x.Torolt).UtolsoBelepes; } var allandoLakcim = tanulo.Cim.FirstOrDefault(c => c.CimTipusa == (int)CimTipusEnum.allando_lakcim && !c.Torolt); //tanulo cimadat if (allandoLakcim != null) { co.Orszag = allandoLakcim.Orszag; co.Iranyitoszam = allandoLakcim.IranyitoSzam; co.HelysegNev = allandoLakcim.Varos; co.KozteruletNev = allandoLakcim.Kozterulet; co.KozteruletTipusNev = allandoLakcim.KozteruletJellegeNev; co.Hazszam = allandoLakcim.Hazszam; co.Emelet = allandoLakcim.Emelet; co.Ajto = allandoLakcim.Ajto; } else { co.KozteruletTipusNev = KozteruletJellegEnum.egyeb.GetDisplayName(TanevId); } var tartozkodasiCim = tanulo.Cim.FirstOrDefault(c => c.CimTipusa == (int)CimTipusEnum.tartozkodasi_hely && !c.Torolt); if (tartozkodasiCim != null) { co.TartozkodasiOrszag = tartozkodasiCim.Orszag; co.TartozkodasiIranyitoszam = tartozkodasiCim.IranyitoSzam; co.TartozkodasiHelysegNev = tartozkodasiCim.Varos; co.TartozkodasiKozteruletNev = tartozkodasiCim.Kozterulet; co.TartozkodasiKozteruletTipusNev = tartozkodasiCim.KozteruletJellegeNev; co.TartozkodasiHazszam = tartozkodasiCim.Hazszam; co.TartozkodasiEmelet = tartozkodasiCim.Emelet; co.TartozkodasiAjto = tartozkodasiCim.Ajto; co.HasTartozkodasiHely = true; } var emailcim = tanulo.Email.Where(e => !e.Torolt).OrderByDescending(e => e.Alapertelmezett).FirstOrDefault(); //tanulo emailadat if (emailcim != null) { co.Emailcim = emailcim.EmailCim; co.EmailTipusId = emailcim.EmailTipusa; } var telefon = tanulo.Telefon.Where(t => !t.Torolt).OrderByDescending(t => t.Alapertelmezett).FirstOrDefault(); //tanulo telefon if (telefon != null) { co.Telefonszam = telefon.TelefonSzam; co.TelefonTipus = telefon.TelefonTipusa; } if (gondviselo != null) { //gondviselo alap co.GondviseloNeve = gondviselo.Nev; co.GondviseloBelepesiNeve = gondviseloBelepes?.BejelentkezesiNev; co.RokonsagiFok = gondviselo.RokonsagFoka; co.IsTorvenyesKepviselo = gondviselo.IsTorvenyesKepviselo; co.GondviseloAutoEmail = gondviselo.IsEmailErtesites; //RendszerBeallitasTipusEnum.Gondviselo_Auto_Email //gondviselo cimadat co.OrszagGondviselo = gondviseloLakcim != null ? gondviseloLakcim.Orszag : (int?)null; co.IranyitoszamGondviselo = gondviseloLakcim != null ? gondviseloLakcim.IranyitoSzam : string.Empty; co.HazszamGondviselo = gondviseloLakcim != null ? gondviseloLakcim.Hazszam : string.Empty; co.KozteruletNevGondviselo = gondviseloLakcim != null ? gondviseloLakcim.Kozterulet : string.Empty; co.KozteruletJellegNevGondviselo = gondviseloLakcim != null ? gondviseloLakcim.KozteruletJellegeNev : string.Empty; co.HelysegNevGondviselo = gondviseloLakcim != null ? gondviseloLakcim.Varos : string.Empty; co.EmeletGondviselo = gondviseloLakcim != null ? gondviseloLakcim.Emelet : string.Empty; co.AjtoGondviselo = gondviseloLakcim != null ? gondviseloLakcim.Ajto : string.Empty; co.TelefonszamGondviselo = gondviselo.Telefon.SingleOrDefault(x => !x.Torolt && x.Alapertelmezett)?.TelefonSzam; co.EmailcimGondviselo = gondviselo.Email.SingleOrDefault(x => !x.Torolt && x.Alapertelmezett)?.EmailCim; } //igazolvany co.Igazolvanyszam = tanulo.IgazolvanySzam; co.IgazolvanyTipus = tanulo.IgazolvanyTipusa; co.DiakigazolvanySzam = tanulo.DiakIgazolvanySzam; co.DiakigazolvanyKelte = tanulo.DiakIgazolvanyKelte; co.TajSzam = tanulo.TAJSzam; co.IsTajSzamNelkul = tanulo.IsTAJSzamNelkul; co.AdoazonositoJel = tanulo.AdoazonositoJel; co.IsAdoazonositoJelNelkul = tanulo.IsAdoAzonositoNelkul; //co.BankszamlaSzam = ConvertSzamlaszam(tanulo.BankszamlaSzam); co.NemzetkoziBiztositasiOkmanySzama = tanulo.NemzetkoziBiztositasiOkmSzam; //tanügyi adatok co.BeirasiSorszam = tanulo.BeirasiNaploSorszam; co.OsztalyId = osztalyId; co.FelvetelTaneveId = tanulo.FelvetelTaneveId; co.FelvetelTaneve = tanulo.FelvetelTaneve.Nev; co.NyilvantartastartasKezdete = tanulo.NyilvantartasKezdete; co.JogviszonyBefejezese = tanulo.JogviszonyVarhatoBefejezese; co.TankotelezettsegetTeljesito = tanulo.Tankotelezett; co.TankotelezettsegVege = tanulo.TankotelezettsegVege; co.Bejaro = tanulo.Bejaro; co.SzakmaiGyakorlaton = tanulo.SzakmaiGyakorlaton; co.Magantanulo = tanulo.Magantanulo; co.MagantanulosagKezdete = tanulo.MagantanulosagKezdete; co.MagantanulosagVege = tanulo.MagantanulosagVege; co.MagantanulosagOka = tanulo.MagantanulosaganakOka; co.Vendeg = tanulo.Vendeg; co.SZKTV = tanulo.SZKTV; co.SZETV = tanulo.SZETVAgazat; co.OSZTV = tanulo.OSZTV; co.EgyebOrszagosDonto = tanulo.EgyebDonto; co.GyakorlatiSzintvizsgakAtlaga = tanulo.Szintvizsga; co.TechnikusiEvfolyam = tanulo.TechnikusiEvfolyam; co.EgyuttmukodesiMegallapodasos = tanulo.Egyuttmukodeses; co.KizarolagIskolaiKeretekKozott = tanulo.IskolaiKeretekKozott; co.TanuloEvfolyamTipus = tanulo.TanuloEvfolyamTipus; co.IsSzakmaiGyakorlatHiany = tanulo.IsSzakmaiGyakorlatHiany; co.TanterviJellemzoId = tanulo.TanterviJellemzoId; co.AgazatUjSzktTipusId = tanulo.AgazatUjSzktTipusId; co.SzakmaTipusId = tanulo.SzakmaTipusId; co.SzakmairanyTipusId = tanulo.SzakmairanyTipusId; co.AgazatiAlapvizsgaEredmenye = tanulo.AgazatiAlapvizsgaEredmenye; co.AgazatiAlapvizsgaEredmenyeSzazalek = tanulo.AgazatiAlapvizsgaEredmenyeSz; co.IsSzakkepzesiMunkaszerzodessel = tanulo.IsSzakkepzesiMunkaszerzodessel; co.DualisKepzohelyNeve = tanulo.DualisKepzohelyNeve; co.DualisKepzohelyAdoszama = tanulo.DualisKepzohelyAdoszama; co.SzakiranyNktTipusId = tanulo.SzakiranyNktTipusId; co.SzakkepesitesNktTipusId = tanulo.SzakkepesitesNktTipusId; co.TanulmanyiTeruletNktTipusId = tanulo.TanulmanyiTeruletNktTipusId; co.Is9kozul8ElozotanevbenVegezte = tanulo.Is9kozul8ElozotanevbenVegezte; co.IsKiemeltenTehetseges = tanulo.IsKiemeltenTehetseges; co.IsSzamitogepetOktCelraHasznal = tanulo.IsSzamitogepetOktCelraHasznal; co.IsSzabokyAdolfSzakkepODReszesul = tanulo.IsSzabokyAdolfSzakkepODReszesul; co.IsEgesznaposIskOktReszesul = tanulo.IsEgesznaposIskOktReszesul; co.MufajTipusId = tanulo.MufajTipusId; co.MuveszetiAgId = tanulo.MuveszetiAgId; co.TanszakTipusId = tanulo.TanszakTipusId; // Szocialis tanügy adatok co.IngyenesTankonyvEllatas = tanulo.IngyenesTankonvyEllatasa; co.JogviszonySzuneteltetese = tanulo.JogviszonyatSzunetelteto; co.RendszeresGyermekvedelmiKedvezmeny = tanulo.RendszeresGyermekvedelmiKedvezmeny; co.SzocialisTamogatas = tanulo.SzocialisTamogatas; co.TobbGyermnekIgazolasSzama = tanulo.TobbGyermekIgazolasSzama; co.TeritestFizeto = tanulo.TeritesiDijatFizeto; co.TartosGyogykezelesSzama = tanulo.TartosGyogykezelesSzama; co.TanuloiJogviszonnyalEltartott = tanulo.TanuloiJogviszonyosEltartottakSzama; co.TandijatFizeto = tanulo.TandijatFizeto; co.EtkezesiKedvezmeny = tanulo.EtkezesiKedvezmeny; co.BeilleszkedesiNehezseg = tanulo.BeilleszkedesiNehezseg; co.HatranyosHelyzet = tanulo.HatranyosHelyzetu; co.Tanuloszerzodeses = tanulo.TanuloSzerzodeses; co.PolgariSzerzodeses = tanulo.PolgariSzerzodeses; co.ElozoIntezmeny = tanulo.ElozoIntezmeny; co.SzakkepesitesenekSzama = tanulo.SzakkepesitesSzama; co.Evismetlo = tanulo.Evismetlo; co.Veszelyeztetett = tanulo.Veszelyeztetett; co.IntezetiNevelt = tanulo.AllamiGondozott; co.KollegiumiEllatasu = tanulo.KollegiumiEllatasos; co.TestnevelesTipusa = tanulo.TestnevelesTipusa; co.DiaksportkorTag = tanulo.Diaksportkoros; co.MenedekJoggalRendelkezo = tanulo.MenedekjoggalRendelkezo; co.IsSikeresAgazatiVizsga = tanulo.IsSikeresAgazatiVizsga; co.IsAtlagSzakkepzesi = tanulo.IsAtlagSzakkepzesi; co.IsBeszamitasosTanulo = tanulo.IsBeszamitasos; co.IsBeszamitasosFixSzazalek = tanulo.IsBeszamitasosFixSzazalek; co.IsExternatusiEllatasban = tanulo.IsExternatusiEllatasban; co.IsNapkoziotthoniEllatasban = tanulo.IsNapkoziotthoniEllatasban; co.IsRendszeresGyermekvedelmi = tanulo.IsRendszeresGyermekvedelmi; co.IsOtthonNyujtottEllatas = tanulo.IsOtthoniEllatas; // BTM probléma //co.BeilleszkedesiProblema = tanulo.BeilleszkedesiProblemavalKuzd.HasValue && tanulo.BeilleszkedesiProblemavalKuzd.Value; //co.BTMLetszamsuly = tanulo.BTMLetszamSuly ?? 1; co.BTMProblema = tanulo.BTMProblemas; //co.TanulasiProblema = tanulo.TanulasiProblemavalKuzd.HasValue && tanulo.TanulasiProblemavalKuzd.Value; //co.BTMDiszgrafia = tanulo.TanulasiProblemaDiszgrafia ?? default(bool); //co.BTMDiszkalkulia = tanulo.TanulasiProblemavalKuzdDiszkalkulia ?? default(bool); //co.BTMDiszlexia = tanulo.TanulasiProblemavalKuzdDiszlexia ?? default(bool); //co.MagatartasiProblema = tanulo.MagatartasiProblemavalKuzd.HasValue && tanulo.MagatartasiProblemavalKuzd.Value; //co.BTMHatarozatOkmanyszama = tanulo.BTMHatarozatOkmanyszam; //co.BTMKiallitoIntezmeny = tanulo.BTMKiallitoIntezmeny; //co.BTMOkmanyErvenyessegKezdete = tanulo.BTMOkmanyErvenyessegKezdete; //co.BTMOkmanyErvenyessegVege = tanulo.BTMOkmanyErvenyessegVege; //co.BTMKontrollIdopont = tanulo.BTMKontrollIdopont; //co.BTMHatarozatTartalma = tanulo.BTMHatarozatTartalma; // SNI co.SajatosNevelesiIgenyu = tanulo.SajatosNevelesu; //co.HalmozottanFogyatekos = tanulo.HalmozottanFogyatekos.HasValue && tanulo.HalmozottanFogyatekos.Value; co.SNILetszamsuly = tanulo.SNILetszamSuly; //co.ErtelmiFogyatekos = tanulo.ErtelmiFogyatekos; //co.ErtelmiFogyatekosOkamnyszam = tanulo.ErtelmiFogyatekosOkmanyszam; //co.Hallasserult = tanulo.HallasSerult; //co.HallasserultOkmanyszam = tanulo.HallasSerultOkmanyszam; //co.Latasserult = tanulo.LatasSerult; //co.LatasserultOkmanyszam = tanulo.LatasSerultOkmanyszam; //co.MozgasserultOkmanyszam = tanulo.MozgasSerultOkmanyszam; //co.BeszedfogyatekosOkmanyszam = tanulo.BeszedfogyatekosOkmanyszam; //co.DiszgrafiaOkmanyszam = tanulo.DiszgrafiaOkmanyszam; //co.DiszkalkuliaOkmanyszam = tanulo.DiszkalkuliaOkmanyszam; //co.DiszlexiaOkmanyszam = tanulo.DiszlexiaOkmanyszam; var tanuloSniAdatok = tanulo.TanuloSni.SingleOrDefault(s => !s.Torolt); if (tanuloSniAdatok != null) { co.FogyatekossagTipusId = tanuloSniAdatok.FogyatekossagTipusId ?? (int)FogyatekossagTipusEnum.na; co.KiallitoSzakertoiBizottsagNeve = tanuloSniAdatok.KiallitoSzakBizottsagNeve; co.KiallitoSzakertoiBizottsagCime = tanuloSniAdatok.KiallitoSzakBizottsagCime; co.SzakvelemenySzama = tanuloSniAdatok.SzakvelemenySzama; co.KiallitasDatuma = tanuloSniAdatok.KiallitasDatuma; co.FelulvizsgalatTaneve = tanuloSniAdatok.FelulvizsgalatTaneve; co.TanuloSniId = tanuloSniAdatok.ID; } //co.BNOKod = tanulo.BNOKod; //co.ViselekdesNemVisszavezetheto = tanulo.ViselkedesNemOrganikusOkmanyszam; //co.ViselekdesVisszavezetheto = tanulo.ViselkedesOrganikusOkmanyszam; //co.MegismeroFunkcioNemVisszavezetheto = tanulo.MegismeroNemOrganikusOkmanyszam; //co.MegismeroFunkcioVisszavezetheto = tanulo.MegismeroOrganikusOkmanyszam; //co.SNIMeghatarozas = tanulo.SNIMeghatarozas; //co.SNIKiallitoIntezmeny = tanulo.SNIKiallitoIntezmeny; //co.SNIOkmanyErvenyessegKezdete = tanulo.SNIOkmanyErvenyessegKezdete; //co.SNIOkmanyErvenyessegVege = tanulo.SNIOkmanyErvenyessegVege; //co.SNIKontrollIdopontja = tanulo.SNIKontrollIdopont; //Fejlesztő foglalkozas co.FejlesztesreForditandoOraszam = tanulo.FejlesztoFoglalkozasOraszam; co.FejlesztesreKijelolt = tanulo.FejlesztesreKijelolt; co.FejlesztoFoglalkozas = tanulo.FejlesztoFoglalkozas; // Vallás co.Egyhazkozossege = tanulo.Egyhazkozossege; co.Vallasa = tanulo.Vallasa; // Sport co.Sportag = tanulo.Sportag; co.Sportklub = tanulo.Sportklub; co.SportedzoElerhetoseg = tanulo.SportedzoNeve; // SzirBeallitasok co.IsKuldhetoErettsegiSzRnek = tanulo.IsKuldhetoErettsegiSzRnek; co.IsKuldhetoMeresiSzRnek = tanulo.IsKuldhetoMeresiSzRnek; co.IsKuldhetoKozepFelveteliSzRnek = tanulo.IsKuldhetoKozepFelveteliSzRnek; co.IsDiakigazolvanyAtadhatoSzRnek = tanulo.IsDiakigazolvanyAtadhatoSzRnek; co.OsszKozossegiSzolgalatOraszam = tanulo.TanuloKozossegiSzolgalat.Where(x => !x.Torolt).Select(x => x.Oraszam ?? default).Sum(); return co; } private int? GetTanuloCsoportId(IDalHandler dalhandler, int tanuloId, int? osztalycsoportId, int? kovTanevId, bool isFromKIRImport, bool isSelectedTanevIsElozo = false) { int? result = null; var dal = dalhandler.Tanulo(GridParameters); DateTime? tanevElsoNapja = null; var temp = new TanevHelper(new DalHandlerConnectionType(ConnectionType, dalhandler)).GetTanevKezdete(); if (TanevId == kovTanevId || isSelectedTanevIsElozo) { tanevElsoNapja = temp; } if (!isFromKIRImport && (TanevId != kovTanevId) && (DateTime.Now < temp)) { tanevElsoNapja = temp; } var ds = dal.GetTanuloCsoportId(tanuloId, osztalycsoportId, tanevElsoNapja); if (ds.Tables.Count <= 0) { return null; } if (ds.Tables[0].Rows.Count > 0) { result = SDAConvert.ToInt32(ds.Tables[0].Rows[0]["ID"]); } return result; } private TanuloCsoportCO GetTanuloCsoport(IDalHandler dalhandler, int tanuloId, int? osztalycsoportId, int? kovTanevId, bool isFromKIRImport, bool isSelectedTanevIsElozo = false) { var tanuloCsoportId = GetTanuloCsoportId(dalhandler, tanuloId, osztalycsoportId, kovTanevId, isFromKIRImport, isSelectedTanevIsElozo); if (!tanuloCsoportId.HasValue) { return new TanuloCsoportCO(); } var tanuloCsoportDal = dalhandler.TanuloCsoport(); var dto = tanuloCsoportDal.Get(tanuloCsoportId.Value); return new TanuloCsoportCO { ID = dto.ID, BejegyDatum = dto.BejegyzesIdopontja, BelepDatum = dto.BelepesDatum, KilepDatum = dto.KilepesDatum, Megjegyzes = dto.Megjegyzes, BefogadoIntezmeny = dto.BefogadoIntezmeny, OsztalyCsoportId = dto.OsztalyCsoportId, JogviszonyTipusId = dto.JogviszonyTipusID, }; } public DataSet GetTanuloiAlapadatokGrid(int tanuloId, int osztalyCsoportId) { const int tableAlapadatok = 0; const int tableCimek = 1; const int tableEmailCim = 2; const int tableTelefonSzam = 3; var result = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); var ds = dal.GetTanuloiAlapadatokGrid(tanuloId, osztalyCsoportId, IntezmenyId, TanevId); var tanuloiGondviseloAdatokDataSet = dal.GetTanuloiGondviseloAdatokGrid(tanuloId, IntezmenyId, TanevId); var tanuloiAlapadatokDataSet = new DataSet(); var tanuloiAlapadatokDataTable = new DataTable(); var tanuloiAlapadatokDataRow = tanuloiAlapadatokDataTable.NewRow(); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("ID", typeof(int))); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("OktatasiAzonosito", typeof(string))); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("AnyjaNeve", typeof(string))); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("SzuletesiHely", typeof(string))); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("SzuletesiIdo", typeof(string))); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("CimText", typeof(string))); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("Telefonszam", typeof(string))); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("EmailCim", typeof(string))); tanuloiAlapadatokDataRow["OktatasiAzonosito"] = ds.Tables[tableAlapadatok].Rows[0].Field(0)?.ToString(); tanuloiAlapadatokDataRow["AnyjaNeve"] = ds.Tables[tableAlapadatok].Rows[0].Field(1)?.ToString(); var szuletesiHely = ds.Tables[tableAlapadatok].Rows[0].Field(4)?.ToString(); tanuloiAlapadatokDataRow["SzuletesiHely"] = !string.IsNullOrWhiteSpace(szuletesiHely) ? szuletesiHely : "-"; var szuletesiIdo = ds.Tables[tableAlapadatok].Rows[0].Field(5).ToShortDateString(); tanuloiAlapadatokDataRow["SzuletesiIdo"] = !string.IsNullOrWhiteSpace(szuletesiIdo) ? szuletesiIdo : "-"; var cimList = ds.Tables[tableCimek].AsEnumerable().Select(x => x[0].ToString()).ToList(); var tempCimString = string.Join(",
    ", cimList); tanuloiAlapadatokDataRow["CimText"] = !string.IsNullOrWhiteSpace(tempCimString) ? tempCimString : "-"; var emailCimList = ds.Tables[tableEmailCim].Rows.Cast().Select(x => x["EmailCim"].ToString()).ToList(); var tempEmailCimString = string.Join("
    ", emailCimList); tanuloiAlapadatokDataRow["EmailCim"] = !string.IsNullOrWhiteSpace(tempEmailCimString) ? tempEmailCimString : "-"; var telefonszamList = ds.Tables[tableTelefonSzam].Rows.Cast().Select(x => x["Telefonszam"].ToString()).ToList(); var tempTelefonszamString = string.Join("
    ", telefonszamList); tanuloiAlapadatokDataRow["Telefonszam"] = !string.IsNullOrWhiteSpace(tempTelefonszamString) ? tempTelefonszamString : "-"; tanuloiAlapadatokDataTable.Rows.Add(tanuloiAlapadatokDataRow); tanuloiAlapadatokDataSet.Tables.Add(tanuloiAlapadatokDataTable); return tanuloiAlapadatokDataSet; }); return result; } private DataSet GetTanuloiTanugyiadatokGrid(IDalHandler h, int tanuloId, int osztalyCsoportId) { var dal = h.Tanulo(); var ds = dal.GetTanuloiAlapadatokGrid(tanuloId, osztalyCsoportId, IntezmenyId, TanevId); var tanuloiAlapadatokDataSet = new DataSet(); var tanuloiAlapadatokDataTable = new DataTable(); var tanuloiAlapadatokDataRow = tanuloiAlapadatokDataTable.NewRow(); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("ID", typeof(int))); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("Torzslapszam", typeof(string))); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("Naplosorszam", typeof(string))); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("BeirasiNaploSorszam", typeof(string))); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("Evfolyam", typeof(string))); tanuloiAlapadatokDataTable.Columns.Add(new DataColumn("TanugyiAdatokID", typeof(int))); var torzslapszam = ds.Tables[0].Rows[0].Field(2)?.ToString(); tanuloiAlapadatokDataRow["Torzslapszam"] = !string.IsNullOrWhiteSpace(torzslapszam) ? torzslapszam : "-"; var naplosorszam = ds.Tables[0].Rows[0].Field(3)?.ToString(); tanuloiAlapadatokDataRow["Naplosorszam"] = !string.IsNullOrWhiteSpace(naplosorszam) ? naplosorszam : "-"; var beirasiNaploSorszam = ds.Tables[0].Rows[0].Field(6)?.ToString(); tanuloiAlapadatokDataRow["BeirasiNaploSorszam"] = !string.IsNullOrWhiteSpace(beirasiNaploSorszam) ? beirasiNaploSorszam : "-"; var evfolyam = ds.Tables[0].Rows[0].Field(7); tanuloiAlapadatokDataRow["Evfolyam"] = evfolyam.HasValue ? evfolyam.GetDisplayName(TanevId) : "-"; var tanugyiAdatokID = ds.Tables[0].Rows[0].Field(8); if (tanugyiAdatokID.HasValue) { tanuloiAlapadatokDataRow["TanugyiAdatokID"] = tanugyiAdatokID; } tanuloiAlapadatokDataTable.Rows.Add(tanuloiAlapadatokDataRow); tanuloiAlapadatokDataSet.Tables.Add(tanuloiAlapadatokDataTable); return tanuloiAlapadatokDataSet; } public DataSet GetTanuloiTanugyiadatokGrid(int tanuloId, int osztalyCsoportId) { return Dal.CustomConnection.Run(ConnectionType, h => { return GetTanuloiTanugyiadatokGrid(h, tanuloId, osztalyCsoportId); }); } public DataSet GetTanuloiEgyebAdatokGrid(int tanuloId, int? osztalyId) { var result = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); var ds = dal.GetTanuloiEgyebAdatokGrid(tanuloId, IntezmenyId, TanevId, osztalyId); var ds2 = dal.GetTanuloOsztalyCsoport(tanuloId, osztalyId ?? 0, DateTime.Now); var dt = ds.Tables[0]; dt.Columns.Add("IsMagantanuloSajatKeresere"); dt.Columns.Add("TankotelezettsegVegeText"); dt.Columns.Add("KilepettTanulo"); var rowList = dt.Rows.Cast().ToList(); foreach (var row in rowList) { var isMagantanulo = SDAConvert.ToBooleanFromTF(row["IsMagantanulo"]); var magantanulosagOka = SDAConvert.ToNullableInt32(row["MagantanulosagOka"]); string isMagantanuloSajatKeresereText; if (!isMagantanulo) { isMagantanuloSajatKeresereText = "-"; } else if (magantanulosagOka == (int)MagantanulosagOkaEnum.sajat_dontese_alapjan) { isMagantanuloSajatKeresereText = CommonResource.Igen; } else { isMagantanuloSajatKeresereText = CommonResource.Nem; } row["IsTankotelezett"] = SDAConvert.ToBooleanFromTF(row["IsTankotelezett"]) ? CommonResource.Igen : CommonResource.Nem; var tankotelezettsegVege = SDAConvert.ToDateTime(row["TankotelezettsegVege"]); row["TankotelezettsegVegeText"] = tankotelezettsegVege.HasValue ? tankotelezettsegVege.ToShortDateString() : "-"; var tajSzam = SDAConvert.ToString(row["TajSzam"]); row["TajSzam"] = !string.IsNullOrWhiteSpace(tajSzam) ? tajSzam : "-"; row["IsMagantanulo"] = isMagantanulo ? CommonResource.Igen : CommonResource.Nem; row["IsMagantanuloSajatKeresere"] = isMagantanuloSajatKeresereText; row["JogviszonyatSzunetelteto"] = SDAConvert.ToBooleanFromTF(row["JogviszonyatSzunetelteto"]) ? CommonResource.Igen : CommonResource.Nem; //TODO: Megcsinálni a KilepettTanulo-t!!! row["KilepettTanulo"] = ds2.Tables.Count > 0 && ds2.Tables[0].Rows.Count > 0 ? CommonResource.Nem : CommonResource.Igen; } return ds; }); return result; } public DataSet GetTanuloiGondviseloAdatokGrid(int tanuloId) { var result = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); var ds = dal.GetTanuloiGondviseloAdatokGrid(tanuloId, IntezmenyId, TanevId); var tanuloiGondviseloAdatokDataSet = new DataSet(); var tanuloiGondviseloAdatokDataTable = new DataTable(); tanuloiGondviseloAdatokDataTable.Columns.Add(new DataColumn("ID", typeof(int))); tanuloiGondviseloAdatokDataTable.Columns.Add(new DataColumn("GondviseloNeve", typeof(string))); tanuloiGondviseloAdatokDataTable.Columns.Add(new DataColumn("UtolsoBelepes", typeof(string))); tanuloiGondviseloAdatokDataTable.Columns.Add(new DataColumn("UtolsoBelepesMobil", typeof(string))); tanuloiGondviseloAdatokDataTable.Columns.Add(new DataColumn("CimText", typeof(string))); tanuloiGondviseloAdatokDataTable.Columns.Add(new DataColumn("EmailCim", typeof(string))); tanuloiGondviseloAdatokDataTable.Columns.Add(new DataColumn("Telefonszam", typeof(string))); foreach (DataRow row in ds.Tables[0].Rows) { if (ds.Tables[0].Rows.Cast().Any(x => x["TorvenyesKepviselo"].ToString() == "T")) { if (row.Field("TorvenyesKepviselo") == "T") { tanuloiGondviseloAdatokDataTable.Rows.Add(GondviseloAdatok(ds, tanuloiGondviseloAdatokDataTable, row)); } } else { tanuloiGondviseloAdatokDataTable.Rows.Add(GondviseloAdatok(ds, tanuloiGondviseloAdatokDataTable, row)); } } tanuloiGondviseloAdatokDataSet.Tables.Add(tanuloiGondviseloAdatokDataTable); return tanuloiGondviseloAdatokDataSet; }); return result; } private static DataRow GondviseloAdatok(DataSet ds, DataTable tanuloiGondviseloAdatokDataTable, DataRow row) { var tanuloiGondviseloAdatokDataRow = tanuloiGondviseloAdatokDataTable.NewRow(); tanuloiGondviseloAdatokDataRow["GondviseloNeve"] = row.Field("GondviseloNeve"); var utolsoBelepes = row.Field("UtolsoBelepes"); tanuloiGondviseloAdatokDataRow["UtolsoBelepes"] = utolsoBelepes.HasValue ? utolsoBelepes.ToShortDateString() : "-"; var utolsoBelepesMobil = row.Field("UtolsoBelepesMobil"); tanuloiGondviseloAdatokDataRow["UtolsoBelepesMobil"] = utolsoBelepesMobil.HasValue ? utolsoBelepesMobil.ToShortDateString() : "-"; var emailCim = row.Field("EmailCim"); tanuloiGondviseloAdatokDataRow["EmailCim"] = !string.IsNullOrWhiteSpace(emailCim) ? emailCim : "-"; var telefonszam = row.Field("Telefonszam"); tanuloiGondviseloAdatokDataRow["Telefonszam"] = !string.IsNullOrWhiteSpace(telefonszam) ? telefonszam : "-"; var cimList = ds.Tables[1].AsEnumerable().Where(x => x.Field("GondviseloId") == row.Field("GondviseloId")).Select(x => x["CimText"].ToString()).ToList(); var tempCimString = string.Join(",
    ", cimList); tanuloiGondviseloAdatokDataRow["CimText"] = !string.IsNullOrWhiteSpace(tempCimString) ? tempCimString : "-"; return tanuloiGondviseloAdatokDataRow; } public bool IsTanulo(int felhasznaloId) { return Dal.CustomConnection.Run(ConnectionType, h => h.Tanulo().IsTanulo(felhasznaloId)); } private void UpdateTanuloCimKovTanev(IDalHandler h, int? kovTanevId, int tanuloId) { //entityhandler-ben lenne a helye, de a mentés folyamatában a sorrendezés miatt, nem kerülhet még oda if (tanuloId > 0 && kovTanevId.HasValue && kovTanevId != TanevId) { h.Tanulo().FollowUpTanuloCim(IntezmenyId, TanevId, kovTanevId.Value, tanuloId); } } public static bool GetGondviseloHozzaferesGeneralasLathato() { //mindig véletlenszerű és oktatási azonosító szerint return true; } public static bool GetGondviseloJelszoGeneralasLathato() { //mindig véletlenszerű return true; } public static FelhasznaloiNevGeneralasModjaEnum GetFelhasznaloiNevGeneralasModja() { return FelhasznaloiNevGeneralasModjaEnum.Oktatasi_azonosito_alapjan; } public TanuloKeresesPCO ConvertCOToPCO(TanuloKeresesCO keresoProfil) { bool? vegzosParam = null; if (!string.IsNullOrWhiteSpace(keresoProfil.Vegzos)) { if (keresoProfil.Vegzos == "1") { vegzosParam = true; } else if (keresoProfil.Vegzos == "0") { vegzosParam = false; } } bool? sniParam = null; if (!string.IsNullOrWhiteSpace(keresoProfil.SNI)) { if (keresoProfil.SNI == "1") { sniParam = true; } else if (keresoProfil.SNI == "0") { sniParam = false; } } bool? btmParam = null; if (!string.IsNullOrWhiteSpace(keresoProfil.BTM)) { if (keresoProfil.BTM == "1") { btmParam = true; } else if (keresoProfil.BTM == "0") { btmParam = false; } } return new TanuloKeresesPCO { Nev = keresoProfil.Nev, SzuletesiIdoKezdet = keresoProfil.SzuletesiIdoKezdet, SzuletesiIdoVeg = keresoProfil.SzuletesiIdoVeg, AnyjaNeve = keresoProfil.AnyjaNeve, SzuletesiHely = keresoProfil.SzuletesiHely, OsztalyId = keresoProfil.OsztalyId, EvfolyamId = keresoProfil.EvfolyamId, Neme = keresoProfil.Neme, FelvetelEve = keresoProfil.FelvetelEve, Vegzos = vegzosParam, SNI = sniParam, BTM = btmParam, Aktiv = keresoProfil.Aktiv, FeladatellatasiHelyId = keresoProfil.FeladatellatasiHelyId, Torolt = keresoProfil.Torolt, OktatasiAzonosito = keresoProfil.OktatasiAzonosito, OsztalybaSoroltTantervNelkul = keresoProfil.OsztalybaSoroltTantervNelkul, NincsAllampolgarsag = keresoProfil.NincsAllampolgarsag, NincsAnyanyelv = keresoProfil.NincsAnyanyelv, NincsSzakmaCsoport = keresoProfil.NincsSzakmaCsoport, NincsNem = keresoProfil.NincsNem, TanevId = keresoProfil.TanevId, LekerdezesNapja = keresoProfil.LekerdezesNapja, HatranyosHelyzetId = keresoProfil.HatranyosHelyzetId, TanuloBelepesNelkul = keresoProfil.TanuloBelepesNelkul, FeladatKategoriaId = keresoProfil.FeladatKategoriaId, SearchMuveszetiAgId = keresoProfil.SearchMuveszetiAgId, ForOktober = keresoProfil.ForOktober, NincsOsztondijAlapAdat = keresoProfil.NincsOsztondijAlapAdat, NincsOsztondijUtalasAdat = keresoProfil.NincsOsztondijUtalasAdat, VanKettosOsztalybesorolas = keresoProfil.VanKettosOsztalybesorolas, IsAktivTanev = keresoProfil.IsAktivTanev, TanterviJellegSearchId = keresoProfil.TanterviJellegSearchId, IsFromSzervezet = keresoProfil.IsFromSzervezet, SzervezetId = keresoProfil.SzervezetId, SzervezetNev = keresoProfil.SzervezetNev, SzervezetAzonosito = keresoProfil.SzervezetAzonosito, IntezmenyId = keresoProfil.IntezmenyId, }; } private SzakkepzesiOsztondijakTanuloPCO ConvertSzakkepzesiJuttatasokCOToPCO(IDalHandler h, TanuloJuttatasKeresesCO co) { var juttatasHatarnap = new IntezmenyHelper(new DalHandlerConnectionType(ConnectionType, h)).GetIntezmenyiAdatok().JuttatasHatarnap; string osszevonas = null; // NOTE - a március havi utalási lista megjelenítésekor össze kell vonni a febr-i generált hónapos és az aktuális jogosultságot if (co.LekerdezesNapja >= new DateTime(co.LekerdezesNapja.Year, 2, juttatasHatarnap) && co.LekerdezesNapja < new DateTime(co.LekerdezesNapja.Year, 3, juttatasHatarnap)) { osszevonas = string.Format("{0}02", co.LekerdezesNapja.Year); } return new SzakkepzesiOsztondijakTanuloPCO() { TanevId = TanevId, TanuloNeve = co.TanuloNeve, OktatasiAzonosito = co.OktatasiAzonosito, EvfolyamId = co.EvfolyamId, FeladatKategoriaId = co.FeladatKategoriaId, LekerdezesNapja = co.LekerdezesNapja, Jogosultsag = SDAConvert.ToSDABoolean(co.Jogosultsag), JuttatasOsszege = co.JuttatasOsszege, OsztalyId = co.OsztalyId, IntezmenyId = IntezmenyId, JuttatasTipusId = co.JuttatasTipus, HonapOsszevonasok = osszevonas, TanuloTipus = co.TanuloTipus, }; } public EgyszeriPalyakezdesiJuttatasokTanuloPCO ConvertEgyszeriPalyakezdesiJuttatasokCOToPCO(TanuloEgyszeriPalyakezdesiJuttatasKeresesCO co) { return new EgyszeriPalyakezdesiJuttatasokTanuloPCO { TanevId = TanevId, TanuloNeve = co.TanuloNeve, OktatasiAzonosito = co.OktatasiAzonosito, EvfolyamId = co.EvfolyamId, IntezmenyId = IntezmenyId, JuttatasOsszege = co.JuttatasOsszege, OsztalyId = co.OsztalyId, SzakmaiVizsgaEredmenyeTol = co.SzakmaiVizsgaEredmenyeTol, SzakmaiVizsgaEredmenyeIg = co.SzakmaiVizsgaEredmenyeIg, SzakmaiVizsgaSzakkepesitesMegnevezese = co.SzakmaiVizsgaSzakkepesitesMegnevezese, FeladatKategoriaId = co.FeladatKategoriaId, JuttatasTipusId = co.JuttatasTipus, }; } public DataSet GetTanulokEsOsztalyok(BesorolasSearchCO co) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetTanulokEsOsztalyokCsoportokGrid(co.ConvertToPco(TanevId)); }); } public List GetTanulokEsOsztalyokGridItemCoList(BesorolasSearchCO co) { var ds = GetTanulokEsOsztalyok(co); var result = new List(); foreach (DataRow dataRow in ds.Tables[0].Rows) { var item = new BesorolasModOsztalyGridItemCo(dataRow); result.Add(item); } return result; } public DataSet GetKiirtTanulokEsOsztalyok(BesorolasSearchCO co) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetTanulokEsOsztalyokCsoportokGrid(co.ConvertToPco(TanevId, isKiirt: true)); }); } public List GetKiirtTanulokEsOsztalyokGridItemCoList(BesorolasSearchCO co) { var ds = GetKiirtTanulokEsOsztalyok(co); var result = new List(); foreach (DataRow dataRow in ds.Tables[0].Rows) { var item = new BesorolasModOsztalyGridItemCo(dataRow); result.Add(item); } return result; } public DataSet GetTanulokEsCsoportok(BesorolasSearchCO co) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetTanulokEsOsztalyokCsoportokGrid(co.ConvertToPco(TanevId), isCsoport: true); }); } public List GetTanulokEsCsoportokGridItemCoList(BesorolasSearchCO co) { var ds = GetTanulokEsCsoportok(co); var result = new List(); foreach (DataRow dataRow in ds.Tables[0].Rows) { var item = new BesorolasModCsoportGridItemCo(dataRow); result.Add(item); } return result; } public DataSet GetKiirtTanulokEsCsoportok(BesorolasSearchCO co) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetTanulokEsOsztalyokCsoportokGrid(co.ConvertToPco(TanevId, isKiirt: true), isCsoport: true); }); } public List GetKiirtTanulokEsCsoportokGridItemCoList(BesorolasSearchCO co) { var ds = GetKiirtTanulokEsCsoportok(co); var result = new List(); foreach (DataRow dataRow in ds.Tables[0].Rows) { var item = new BesorolasModCsoportGridItemCo(dataRow); result.Add(item); } return result; } public List GetTanuloCoList() { var dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.Tanulo().GetTanuloDataSet(TanevId)); var tanuloItemCoList = new List(); foreach (DataRow dataRow in dataSet.Tables[0].Rows) { TanuloItemCo tanuloItemCo; var tanuloId = SDAConvert.ToInt32(dataRow["Id"]); //NOTE: Csak akkor adunk hozzá új tanulót a listához, ha még nincs a listában, különben a már benne lévővel dolgozunk tovább! // Erre azért van szükség, mert a left join-ok miatt többször visszajöhet! if (tanuloItemCoList.All(x => x.Id != tanuloId)) { tanuloItemCo = new TanuloItemCo(dataRow); tanuloItemCoList.Add(tanuloItemCo); } else { tanuloItemCo = tanuloItemCoList.Single(x => x.Id == tanuloId); } var cimId = SDAConvert.ToNullableInt32(dataRow["CimId"]); var cimGondviseloId = SDAConvert.ToNullableInt32(dataRow["CimGondviseloId"]); //NOTE: Csak akkor adjuk hozzá a tanulóhoz címet, ha az létezik, nem gondviselőé és még nincs hozzáadva korábban! // Erre azért van szükség, mert a left join-ok miatt többször visszajöhet! if (cimId.IsEntityId() && !cimGondviseloId.IsEntityId() && tanuloItemCo.CimList.All(x => x.Id != cimId.Value)) { var cimItemCo = new CimItemCo(tanuloItemCo, dataRow); tanuloItemCo.CimList.Add(cimItemCo); } var emailId = SDAConvert.ToNullableInt32(dataRow["EmailId"]); var emailGondviseloId = SDAConvert.ToNullableInt32(dataRow["EmailGondviseloId"]); //NOTE: Csak akkor adjuk hozzá a tanulóhoz az email-t, ha az létezik, nem gondviselőé és még nincs hozzáadva korábban! // Erre azért van szükség, mert a left join-ok miatt többször visszajöhet! if (emailId.IsEntityId() && !emailGondviseloId.IsEntityId() && tanuloItemCo.EmailList.All(x => x.Id != emailId.Value)) { var emailItemCo = new EmailItemCo(tanuloItemCo, dataRow); tanuloItemCo.EmailList.Add(emailItemCo); } tanuloItemCo.SetCimProperties(); var telefonId = SDAConvert.ToNullableInt32(dataRow["TelefonId"]); var telefonGondviseloId = SDAConvert.ToNullableInt32(dataRow["TelefonGondviseloId"]); //NOTE: Csak akkor adjuk hozzá a tanulóhoz a telefon-t, ha az létezik, nem gondviselőé és még nincs hozzáadva korábban! // Erre azért van szükség, mert a left join-ok miatt többször visszajöhet! if (telefonId.IsEntityId() && !telefonGondviseloId.IsEntityId() && tanuloItemCo.TelefonList.All(x => x.Id != telefonId.Value)) { var telefonItemCo = new TelefonItemCo(tanuloItemCo, dataRow); tanuloItemCo.TelefonList.Add(telefonItemCo); } } return tanuloItemCoList; } public List SearchTanuloForKir(FelhasznaloKirSearchCo tanuloKirSearchCo, int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); var kirTanuloList = dal.SearchTanuloForKir(tanuloKirSearchCo, TanevId, tanuloId); var allandoLakcimList = dal.GetKirTanuloCim(IntezmenyId, TanevId, kirTanuloList.Select(x => x.Id), CimTipusEnum.allando_lakcim); var tartozkodasiCimList = dal.GetKirTanuloCim(IntezmenyId, TanevId, kirTanuloList.Select(x => x.Id), CimTipusEnum.tartozkodasi_hely); kirTanuloList.ForEach(tanulo => { var allandoLakcim = allandoLakcimList.Find(cim => cim.FelhasznaloId == tanulo.Id); tanulo.AllandoLakcim = allandoLakcim; allandoLakcimList.Remove(allandoLakcim); var tartozkodasiCim = tartozkodasiCimList.Find(cim => cim.FelhasznaloId == tanulo.Id); tanulo.TartozkodasiCim = tartozkodasiCim; tartozkodasiCimList.Remove(tartozkodasiCim); }); return kirTanuloList; }); } public KirTanuloAdatCo GetTanuloAdatokForKir(int id) { var tanulo = new KirTanuloAdatCo(); Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); tanulo = KirTanuloAdatCo.EntityToCo(dal.Get(id)); }); return tanulo; } public void UpdateTanuloFromKir(KirTanuloAdatCo kirTanuloAdatCo) { Dal.CustomConnection.Run(ConnectionType, h => { try { var dal = h.Tanulo(GridParameters); ITanulo tanulo = kirTanuloAdatCo.Id.IsEntityId() ? dal.Get(kirTanuloAdatCo.Id) : tanulo = dal.Get(); tanulo.OktatasiAzonosito = kirTanuloAdatCo.OktatasiAzonosito; tanulo.Neme = (int)kirTanuloAdatCo.Nem; tanulo.NevSorrend = kirTanuloAdatCo.NevSorrend; tanulo.Elotag = Extensions.NameExtensions.CleanElotag(kirTanuloAdatCo.Elotag); tanulo.Vezeteknev = kirTanuloAdatCo.Vezeteknev; tanulo.Utonev = kirTanuloAdatCo.Utonev; tanulo.NyomtatasiNev = Extensions.NameExtensions.GetNevSorrendben("F", tanulo.Elotag, tanulo.Vezeteknev, tanulo.Utonev); tanulo.KeresesiNev = CommonUtilsDal.KopaszNev(tanulo.NyomtatasiNev); tanulo.SzuletesiNevSorrend = kirTanuloAdatCo.SzuletesiNevSorrend; tanulo.SzuletesiNevElotag = null; tanulo.SzuletesiVezeteknev = !kirTanuloAdatCo.SzuletesiNevSorrend ? kirTanuloAdatCo.SzuletesiVezeteknev.Trim() : kirTanuloAdatCo.SzuletesiUtonev.Trim(); tanulo.SzuletesiUtonev = !kirTanuloAdatCo.SzuletesiNevSorrend ? kirTanuloAdatCo.SzuletesiUtonev.Trim() : kirTanuloAdatCo.SzuletesiVezeteknev.Trim(); tanulo.SzuletesiNev = Extensions.NameExtensions.GetNevSorrendben("F", tanulo.SzuletesiNevElotag, tanulo.SzuletesiVezeteknev, tanulo.SzuletesiUtonev); tanulo.AnyjaNeveSorrend = kirTanuloAdatCo.AnyjaNeveSorrend; tanulo.AnyjaNeveElotag = null; tanulo.AnyjaVezetekneve = !kirTanuloAdatCo.AnyjaNeveSorrend ? kirTanuloAdatCo.AnyjaVezetekNeve.Trim() : kirTanuloAdatCo.AnyjaUtoneve.Trim(); tanulo.AnyjaUtoneve = !kirTanuloAdatCo.AnyjaNeveSorrend ? kirTanuloAdatCo.AnyjaUtoneve.Trim() : kirTanuloAdatCo.AnyjaVezetekNeve.Trim(); tanulo.AnyjaNeve = Extensions.NameExtensions.GetNevSorrendben("F", tanulo.AnyjaNeveElotag, tanulo.AnyjaVezetekneve, tanulo.AnyjaUtoneve); tanulo.SzuletesiHely = kirTanuloAdatCo.SzuletesiHely; if (kirTanuloAdatCo.SzuletesiDatum.HasValue) { tanulo.SzuletesiDatum = kirTanuloAdatCo.SzuletesiDatum.Value; } if (kirTanuloAdatCo.SzuletesiOrszag != 0) { tanulo.SzuletesiOrszag = kirTanuloAdatCo.SzuletesiOrszag; } if (kirTanuloAdatCo.Allampolgarsag != 0) { tanulo.Allampolgarsaga = kirTanuloAdatCo.Allampolgarsag; } if (kirTanuloAdatCo.Allampolgarsag2 != 0) { tanulo.Allampolgarsaga2 = kirTanuloAdatCo.Allampolgarsag2; } var tanuloCsoportId = GetTanuloCsoport(h, kirTanuloAdatCo.Id, null, null, true).ID; if (!tanuloCsoportId.HasValue) { tanulo.JogviszonyatSzunetelteto = kirTanuloAdatCo.JogviszonyStatusza; if (kirTanuloAdatCo.JogviszonyKezdete.HasValue) { tanulo.NyilvantartasKezdete = kirTanuloAdatCo.JogviszonyKezdete.Value; } tanulo.JogviszonyVarhatoBefejezese = kirTanuloAdatCo.JogviszonyVarBefejezese; tanulo.Vendeg = kirTanuloAdatCo.Vendegtanulo; tanulo.Magantanulo = kirTanuloAdatCo.Magantanulo; } if (dal.CheckOktatasiAzonosito(tanulo.OktatasiAzonosito, tanulo.TanevId, tanulo.ID)) { throw new Exceptions.OktatasiAzonositoExistsException(tanulo.OktatasiAzonosito); } dal.FullUpdate(tanulo); } catch (UniqueKeyViolationException ex) { throw new UniqueKeyViolationException(ErrorResource.AMegadottOktatasiAzonositoVagyFelhasznalonevMarLetezik, ex); } catch (Exception) { throw; } }); } public int InsertTanuloFromKir(KirTanuloAdatCo kirTanuloAdatCo) { return Dal.CustomConnection.Run(ConnectionType, h => { try { var tanuloDal = h.Tanulo(); var tanulo = tanuloDal.Get(); tanulo.OktatasiAzonosito = kirTanuloAdatCo.OktatasiAzonosito; tanulo.Neme = (int)kirTanuloAdatCo.Nem; tanulo.NevSorrend = kirTanuloAdatCo.NevSorrend; tanulo.Elotag = Extensions.NameExtensions.CleanElotag(kirTanuloAdatCo.Elotag); tanulo.Vezeteknev = kirTanuloAdatCo.Vezeteknev; tanulo.Utonev = kirTanuloAdatCo.Utonev; tanulo.NyomtatasiNev = Extensions.NameExtensions.GetNevSorrendben("F", tanulo.Elotag, tanulo.Vezeteknev, tanulo.Utonev); tanulo.KeresesiNev = CommonUtilsDal.KopaszNev(tanulo.NyomtatasiNev); tanulo.SzuletesiNevSorrend = kirTanuloAdatCo.SzuletesiNevSorrend; tanulo.SzuletesiNevElotag = null; tanulo.SzuletesiVezeteknev = !kirTanuloAdatCo.SzuletesiNevSorrend ? kirTanuloAdatCo.SzuletesiVezeteknev.Trim() : kirTanuloAdatCo.SzuletesiUtonev.Trim(); tanulo.SzuletesiUtonev = !kirTanuloAdatCo.SzuletesiNevSorrend ? kirTanuloAdatCo.SzuletesiUtonev.Trim() : kirTanuloAdatCo.SzuletesiVezeteknev.Trim(); tanulo.SzuletesiNev = Extensions.NameExtensions.GetNevSorrendben("F", tanulo.SzuletesiNevElotag, tanulo.SzuletesiVezeteknev, tanulo.SzuletesiUtonev); tanulo.AnyjaNeveSorrend = kirTanuloAdatCo.AnyjaNeveSorrend; tanulo.AnyjaNeveElotag = null; tanulo.AnyjaVezetekneve = !kirTanuloAdatCo.AnyjaNeveSorrend ? kirTanuloAdatCo.AnyjaVezetekNeve.Trim() : kirTanuloAdatCo.AnyjaUtoneve.Trim(); tanulo.AnyjaUtoneve = !kirTanuloAdatCo.AnyjaNeveSorrend ? kirTanuloAdatCo.AnyjaUtoneve.Trim() : kirTanuloAdatCo.AnyjaVezetekNeve.Trim(); tanulo.AnyjaNeve = Extensions.NameExtensions.GetNevSorrendben("F", tanulo.AnyjaNeveElotag, tanulo.AnyjaVezetekneve, tanulo.AnyjaUtoneve); tanulo.SzuletesiHely = kirTanuloAdatCo.SzuletesiHely; if (kirTanuloAdatCo.SzuletesiDatum.HasValue) { tanulo.SzuletesiDatum = kirTanuloAdatCo.SzuletesiDatum.Value; } if (kirTanuloAdatCo.SzuletesiOrszag != 0) { tanulo.SzuletesiOrszag = kirTanuloAdatCo.SzuletesiOrszag; } if (kirTanuloAdatCo.Allampolgarsag != 0) { tanulo.Allampolgarsaga = kirTanuloAdatCo.Allampolgarsag; } if (kirTanuloAdatCo.Allampolgarsag2 != 0) { tanulo.Allampolgarsaga2 = kirTanuloAdatCo.Allampolgarsag2; } if (h.Tanulo().CheckOktatasiAzonosito(tanulo.OktatasiAzonosito, tanulo.TanevId, tanulo.ID)) { throw new Exceptions.OktatasiAzonositoExistsException(tanulo.OktatasiAzonosito); } tanuloDal.Insert(tanulo); ITanuloTanugyiAdatok tanuloTanugyiAdatok; var tanuloTanugyiAdatokDal = h.TanuloTanugyiAdatokDal(); var tanuloCsoport = GetTanuloCsoport(h, kirTanuloAdatCo.Id, null, null, true); if (tanuloCsoport.ID > 0) { tanuloTanugyiAdatok = h.TanuloCsoport().Get(tanuloCsoport.ID.Value).TanuloTanugyiAdatok; tanuloTanugyiAdatok.JogviszonyatSzunetelteto = kirTanuloAdatCo.JogviszonyStatusza; if (kirTanuloAdatCo.JogviszonyKezdete.HasValue) { tanuloTanugyiAdatok.NyilvantartasKezdete = kirTanuloAdatCo.JogviszonyKezdete.Value; } tanuloTanugyiAdatok.JogviszonyVarhatoBefejezese = kirTanuloAdatCo.JogviszonyVarBefejezese; tanuloTanugyiAdatok.Vendeg = kirTanuloAdatCo.Vendegtanulo; tanuloTanugyiAdatok.Magantanulo = kirTanuloAdatCo.Magantanulo; tanuloTanugyiAdatok.TanevId = TanevId; tanuloTanugyiAdatokDal.Insert(tanuloTanugyiAdatok); } return tanulo.ID; } catch (UniqueKeyViolationException ex) { throw new UniqueKeyViolationException(ErrorResource.AMegadottOktatasiAzonositoVagyFelhasznalonevMarLetezik, ex); } catch (Exception) { throw; } }); } public string GetGondviseloEgyediAzonosito(int gondviseloId) { return Dal.CustomConnection.Run(ConnectionType, h => h.Gondviselo().Get(gondviseloId).EgyediAzonosito); } public (int?, int?) GetDefaultEgyeniCsoportAndVezeto(int tanuloId, int osztalyId, bool isKovTanev) { int? id = null; int? csoportVezetoId = null; var amiEgyeniCsoportok = Constants.AMIEgyeniCsoportok; var ds = Dal.CustomConnection.Run(ConnectionType, (h) => { DateTime? kovTanevElsoNapja = null; if (isKovTanev) { kovTanevElsoNapja = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h)).GetTanevKezdete(); } return h.Csoport().GetEgyeniCsoportData(tanuloId, osztalyId, TanevId, amiEgyeniCsoportok, isKovTanev, kovTanevElsoNapja); }); foreach (DataRow row in ds.Tables[0].Rows) { id = SDAConvert.ToNullableInt32(row["Id"]); csoportVezetoId = SDAConvert.ToNullableInt32(row["CsoportVezetoId"]); break; } return (id, csoportVezetoId); } public (int?, int?) GetDefaultAMINemEgyeniOsztalyCsoportAndVezeto(int tanuloId) { int? id = null; int? vezetoId = null; var ds = Dal.CustomConnection.Run(ConnectionType, (h) => h.OsztalyCsoport().GetOsztalyCsoportok(TanevId, (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas, true, tanuloIds: new List { tanuloId })); foreach (DataRow row in ds.Tables[0].Rows) { if (SDAConvert.ToBoolean(row["IsCsoport_BOOL"])) { var csoportTipus = SDAConvert.ToNullableInt32(row["CsoportTipus"]); if (!csoportTipus.HasValue || !Constants.AMIEgyeniCsoportok.Contains(csoportTipus.Value)) { id = SDAConvert.ToNullableInt32(row["OsztalyCsoportId"]); vezetoId = SDAConvert.ToNullableInt32(row["CsoportVezetoId"]); break; } } else { id = SDAConvert.ToNullableInt32(row["OsztalyCsoportId"]); vezetoId = SDAConvert.ToNullableInt32(row["OsztalyfonokId"]); break; } } return (id, vezetoId); } public string GetTanuloNev(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => h.Tanulo().Get(tanuloId).NyomtatasiNev); } public static void EugyErtesitesTanuloOsztalyBesorolasStatuszValtozasrol(TanuloOsztalyBesorolasStatuszValtozasAdatCO tanuloOsztalyBesorolasStatuszValtozasAdatCO, string intezmenyAzonosito) { var config = (EugyintezesClientConfiguration)ConfigurationManager.GetSection("EugyintezesClientConfiguration"); var jsonData = JsonConvert.SerializeObject(tanuloOsztalyBesorolasStatuszValtozasAdatCO); BackgroundJob.Enqueue((a) => a.TanuloOsztalyBesorolasStatuszValtozas(null, config.BaseUrl, config.ApiKey, intezmenyAzonosito, jsonData)); } public string GetValidationTextByTanuloIds(List pSorolasNelkuliTanulok) { var warningMessage = string.Empty; Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); foreach (var item in pSorolasNelkuliTanulok) { var oTanulo = dal.Get(item); warningMessage += string.Format(ErrorResource.A0TanuloNincsOsztalybaSorolva, oTanulo.NyomtatasiNev) + Constants.General.Sortores; } }); return warningMessage; } public string GetTanuloEvfolyamValidationTextByTanuloIds(List pTanulokOsztalyParos) { var warningMessage = string.Empty; Dal.CustomConnection.Run(ConnectionType, h => { var osztalyDal = h.Osztaly(); var tanuloDal = h.Tanulo(); foreach (var item in pTanulokOsztalyParos) { var ids = item.Split('-'); if (ids.Length == 2) { var osztalyId = SDAConvert.ToInt32(ids[1]); var tanuloId = SDAConvert.ToInt32(ids[0]); if (osztalyId.IsEntityId() && tanuloId.IsEntityId()) { var osztaly = osztalyDal.Get(osztalyId); List osszevontEvfolyamTipusIds = EnumExtensions.GetEvfolyamTipusDictionaryItems(TanevId, true).Select(x => x.Id).ToList(); bool isOsszevontEvfolyamTipus = osszevontEvfolyamTipusIds.Any(x => x == osztaly?.EvfolyamTipusa); if (!isOsszevontEvfolyamTipus) { var oTanulo = tanuloDal.Get(tanuloId); warningMessage += string.Format(ErrorResource.A0TanuloNemOsszevontOsztalybaSorolt, oTanulo.NyomtatasiNev) + Constants.General.Sortores; } } } } }); return warningMessage; } public bool GondviseloValidation(int? id, int tanuloId, string gondviseloNeve, int rokonsagiFok) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(); var tanulo = dal.Get(tanuloId); if (tanulo.Gondviselo.Any(x => (x.RokonsagFoka == rokonsagiFok) && x.Nev.Equals(gondviseloNeve, StringComparison.OrdinalIgnoreCase) && (!id.HasValue || (x.ID != id.Value)) && !x.Torolt)) { return false; } return true; }); } public bool HasDuplicatedGondviselo(int tanuloId) { var ds = GetGondviselok(tanuloId); var duplicates = ds.Tables[0].AsEnumerable().GroupBy(x => new { Nev = x.Field("Nev"), RokonsagFoka = x.Field("RokonsagFoka") }).Where(c => c.Skip(1).Any()).ToList(); return duplicates.Any(); } public bool CheckLetezikGondviseloAllandoLakcim(int tanuloId) { var gondviseloCimek = GetGondviseloCimek(tanuloId); var letezikAllandoLakcim = gondviseloCimek.Tables[0].AsEnumerable().Any(r => r.Field("CimTipus") == (int)CimTipusEnum.allando_lakcim); return letezikAllandoLakcim; } public List GondviselokAlapertelmezettCimmel(int tanuloId) { var gondviseloCimek = GetGondviseloCimek(tanuloId); var letezikAllandoLakcim = gondviseloCimek.Tables[0].AsEnumerable().Where(r => r.Field("Alapertelmezett_BOOL")).Select(r => r.Field("GondviseloId")).ToList(); return letezikAllandoLakcim; } public bool HasGondviseloAlapertelmezettCim(int gondviseloId) { var gondviseloCimek = GetGondviseloCimekByGondviselo(gondviseloId); var letezikAlapertelmezettLakcim = gondviseloCimek.Tables[0].AsEnumerable().Any(r => r.Field("Alapertelmezett_BOOL")); return letezikAlapertelmezettLakcim; } public bool IsGondviseloAlapertelmezettCim(int gondviseloId, int cimId) { var gondviseloCimek = GetGondviseloCimekByGondviselo(gondviseloId); var isAlapertelmezettLakcim = gondviseloCimek.Tables[0].AsEnumerable().Any(r => r.Field("Alapertelmezett_BOOL") && r.Field("ID") == cimId); return isAlapertelmezettLakcim; } public DataSet CheckModosuloKorabbiMulasztasok(TanuloFelmentesCO co) { var mulasztasDataSet = new DataSet(); if (co.Kezdete.Value < DateTime.Now && co.OraMentesites) { var vegDatum = co.Vege ?? DateTime.Now; var tantargyIdList = co.TantargyId.HasValue ? new List() { co.TantargyId.Value } : co.TantargyIdList.ToList().Select(int.Parse).ToList(); var mulasztasList = Dal.CustomConnection.Run(ConnectionType, h => h.MulasztasDal().GetTanuloNemUresTantargyiMulasztasaiIdoszakban(co.TanuloId.Value, tantargyIdList, co.Kezdete.Value, vegDatum)).Tables[0].AsEnumerable().ToList(); var mulasztasTantargyIdList = mulasztasList.Select(x => x.Field("TantargyId")).Distinct().ToList(); var mulasztasDataTable = new DataTable { Columns = { { "ID", typeof(int) }, { "Tantargyak", typeof(string) }, { "IgazolasraVaroKeses", typeof(string) }, { "IgazolasraVaroHianyzas", typeof(string) }, { "IgazoltKeses", typeof(string) }, { "IgazoltHianyzas", typeof(string) }, { "IgazolatlanKeses", typeof(string) }, { "IgazolatlanHianyzas", typeof(string) } }, }; foreach (var tantargyId in mulasztasTantargyIdList) { var tantargyMulasztasAdatList = mulasztasList.Where(x => x.Field("TantargyId") == tantargyId); var tantargyNev = tantargyMulasztasAdatList.First(x => x.Field("TantargyId") == tantargyId).Field("TantargyNev"); var kesesList = tantargyMulasztasAdatList.Where(x => x.Field("Mulasztastipusa") == (int)MulasztasTipusEnum.keses).ToList(); var hianyzasList = tantargyMulasztasAdatList.Where(x => x.Field("Mulasztastipusa") != (int)MulasztasTipusEnum.keses && x.Field("Mulasztastipusa") != (int)MulasztasTipusEnum.jelenlet).ToList(); AddDataRowToDataTable(tantargyNev, kesesList, hianyzasList, mulasztasDataTable); } mulasztasDataSet.Tables.Add(mulasztasDataTable); } return mulasztasDataSet; } private void AddDataRowToDataTable(string tantargyNev, List kesesList, List hianyzasList, DataTable mulasztasDataTable) { var igazoltKesesList = kesesList.Where(x => x.Field("Igazolt") == "T").ToList(); var igazolatlanKesesList = kesesList.Where(x => x.Field("Igazolt") == "F").ToList(); var igazolandoKesesList = kesesList.Where(x => string.IsNullOrWhiteSpace(x.Field("Igazolt"))).ToList(); var igazoltHianyzasList = hianyzasList.Where(x => x.Field("Igazolt") == "T").ToList(); var igazolatlanHianyzasList = hianyzasList.Where(x => x.Field("Igazolt") == "F").ToList(); var igazolandoHianyzasList = hianyzasList.Where(x => string.IsNullOrWhiteSpace(x.Field("Igazolt"))).ToList(); DataRow row; row = mulasztasDataTable.NewRow(); row["Tantargyak"] = tantargyNev; row["IgazolasraVaroKeses"] = $"{igazolandoKesesList.Count} ({igazolandoKesesList.Sum(x => x.Field("KesesPercben"))})"; row["IgazolasraVaroHianyzas"] = $"{igazolandoHianyzasList.Count}"; row["IgazoltKeses"] = $"{igazoltKesesList.Count} ({igazoltKesesList.Sum(x => x.Field("KesesPercben"))})"; row["IgazoltHianyzas"] = $"{igazoltHianyzasList.Count}"; row["IgazolatlanKeses"] = $"{igazolatlanKesesList.Count} ({igazolatlanKesesList.Sum(x => x.Field("KesesPercben"))})"; row["IgazolatlanHianyzas"] = $"{igazolatlanHianyzasList.Count}"; mulasztasDataTable.Rows.Add(row); } public int GetTanuloAmiOsztalyainakSzama(int tanuloId, DateTime? datum) { var ds = Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Tanulo(GridParameters); return dal.GetTanuloOsztaly(tanuloId, datum, OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas); }); return ds.Tables[0].Rows.Count; } public List GetTanuloOsztalyIdList(int tanuloId) { var dataSet = Dal.CustomConnection.Run(ConnectionType, h => { var datum = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h)).GetDatumInTanev(); return h.Tanulo().GetTanuloOsztaly(tanuloId, datum, null); }); var result = dataSet.Tables[0].AsEnumerable() .Select(dataRow => dataRow.Field("ID")).ToList(); return result; } private JuttatasraNemJogosultOkaEnum IsJuttatasraJogosult(IDalHandler h, TanuloAdatCO tanuloAdatCo, int juttatasHatarnap) { var ret = JuttatasraNemJogosultOkaEnum.NincsOka; if (tanuloAdatCo.Jogviszony != JogviszonyTipusEnum.tanuloi_jogviszony.AsInt()) { ret |= JuttatasraNemJogosultOkaEnum.NemTanuloiJogviszonyaVan; } if (!tanuloAdatCo.ID.HasValue || !IsJuttatasraJogosultByDate(h, tanuloAdatCo.ID.Value, juttatasHatarnap)) { ret |= JuttatasraNemJogosultOkaEnum.AVizsgaltHonapbanNemVoltTanuloiJogviszonya; } if (tanuloAdatCo.IsMasodikVagyTobbedikSzakmatSzerzo) { ret |= JuttatasraNemJogosultOkaEnum.MasodikVagyTobbesSzakmatSzerzo; } if (tanuloAdatCo.Evismetlo) { ret |= JuttatasraNemJogosultOkaEnum.Evismetlo; } if (GetIgazolatlanMulasztasokSzama(h, tanuloAdatCo.ID.Value, juttatasHatarnap) > Constants.MinMaxValues.MaxIgazolatlanJuttatasokhoz) { ret |= JuttatasraNemJogosultOkaEnum.IgazolatlanMulasztasokSzama; } if (tanuloAdatCo.Tanuloszerzodeses || tanuloAdatCo.IsSzakkepzesiMunkaszerzodessel) { ret |= JuttatasraNemJogosultOkaEnum.DualisOktatas; } if (tanuloAdatCo.IsTechnikaOsztaly) { ret |= JuttatasraNemJogosultOkaEnum.TechnikaiOsztalyTagja; } if (tanuloAdatCo.Vendeg) { ret |= JuttatasraNemJogosultOkaEnum.VendegTanulo; } if (tanuloAdatCo.JogviszonySzuneteltetese) { ret |= JuttatasraNemJogosultOkaEnum.JogviszonySzuneteltetese; } if (tanuloAdatCo.KeresztfelevesOsztalyTagja) { ret |= JuttatasraNemJogosultOkaEnum.KeresztfelevesOsztalyTagja; } if (tanuloAdatCo.IsOsztondijbolKizarva) { ret |= JuttatasraNemJogosultOkaEnum.OsztondijbolKizarva; } if (!IsSzakmajegyzekSzerintiKepzes(tanuloAdatCo) && !IsSzktBeallitasNelkulIsJogosultEvfolyam(tanuloAdatCo) && !tanuloAdatCo.IsBeszamitasosTanulo) { ret |= JuttatasraNemJogosultOkaEnum.NemSzakmajegyzekSzerintiKepzes; } if (!tanuloAdatCo.IsIngyenesKepzes) { ret |= JuttatasraNemJogosultOkaEnum.NemIngyenesKepzesenResztvevo; } ////Csak a féléves első félévénél jöhet ilyen hiba //if ((!GetIsEvesByEvfolyam(tanuloAdatCo)) && (tanuloAdatCo.VeglegesAtlag.HasValue && (tanuloAdatCo.VeglegesAtlag < Constants.MinMaxValues.MinOsztondijAtlag))) //{ // ret |= JuttatasraNemJogosultOkaEnum.AtlagMinimumAlatt; //} return ret; } private bool IsJuttatasraJogosultByDate(IDalHandler h, int tanuloId, int juttatasHatarnap) { var tanevCo = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h)).GetTanevInfo(); var vizsgaltHonap = GetJuttatasVizsgaltHonap(tanevCo, juttatasHatarnap, DateTime.Today); var vizsgaltIdoszakKezdete = new DateTime(vizsgaltHonap.Year, vizsgaltHonap.Month - ((vizsgaltHonap.Month == 10) ? 1 : 0), 1); var vizsgaltIdoszakVege = vizsgaltHonap; var dal = h.TanuloCsoport(); return dal.IsTanuloJogviszonyKetDatumKozott(TanevId, tanuloId, vizsgaltIdoszakKezdete, vizsgaltIdoszakVege); } private int GetIgazolatlanMulasztasokSzama(IDalHandler h, int tanuloId, int juttatasHatarnap) { var ds = GetMulasztasok(tanuloId); var tanevCo = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h)).GetTanevInfo(); var vizsgaltHonap = GetJuttatasVizsgaltHonap(tanevCo, juttatasHatarnap, DateTime.Today); var vizsgaltIdoszakKezdete = tanevCo.KezdoNap; var vizsgaltIdoszakVege = vizsgaltHonap.AddDays(-juttatasHatarnap); var igazolatlanMulasztasokSzama = ds.Tables[0].AsEnumerable().Count(x => (x.Field("Datum") >= vizsgaltIdoszakKezdete) && (x.Field("Datum") <= vizsgaltIdoszakVege) && (x.Field("MulasztasTipusa") == (int)MulasztasTipusEnum.hianyzas) && (!x.Field("IsIgazolt_BOOL") ?? false)); return igazolatlanMulasztasokSzama; } public static DateTime GetJuttatasVizsgaltHonap(TanevCO tanevCo, int juttatasHatarnap, DateTime lekerdezesNapja) { var tanevNapjai = Enumerable.Range(0, 1 + tanevCo.UtolsoNap.Subtract(tanevCo.KezdoNap).Days).Select(offset => tanevCo.KezdoNap.AddDays(offset)).ToArray(); var vizsgalatiNapok = tanevNapjai.Where(x => x.Day == juttatasHatarnap && (x.Month > 9 || x.Month < 7) && (x.Month != 2)).ToArray(); var vizsgalatNapja = vizsgalatiNapok.FirstOrDefault(x => x > lekerdezesNapja); if (vizsgalatNapja == default) { vizsgalatNapja = vizsgalatiNapok[vizsgalatiNapok.Length - 1]; } return vizsgalatNapja; } private bool IsSzakmajegyzekSzerintiKepzes(TanuloAdatCO co) { return (co.AgazatUjSzktTipusId.HasValue && co.AgazatUjSzktTipusId.Value != (int)AgazatUjSzktTipusEnum.na) || (co.SzakmaTipusId.HasValue && co.SzakmaTipusId.Value != (int)SzakmaTipusEnum.na); } private bool IsSzktBeallitasNelkulIsJogosultEvfolyam(TanuloAdatCO co) { var evfolyam = co.IsOsszevontOsztaly ? co.TanuloEvfolyamTipus : co.OsztalyEvfolyamTipus; if (!evfolyam.HasValue) { evfolyam = (int)EvfolyamTipusEnum.na; } switch (evfolyam.Value) { case (int)EvfolyamTipusEnum.dobbanto_elokeszito: case (int)EvfolyamTipusEnum.muhelyiskola_osztaly: case (int)EvfolyamTipusEnum._9_orientacios_evfolyam: return true; default: return false; } } //private bool GetIsEvesByEvfolyam(TanuloAdatCO co) //{ // var evfolyam = co.IsOsszevontOsztaly ? co.TanuloEvfolyamTipus : co.OsztalyEvfolyamTipus; // if (!evfolyam.HasValue) // { // evfolyam = (int)EvfolyamTipusEnum.na; // //throw new ApplicationException(TanuloResource.NincsEvfolyamMegadvaSeTanulonalSeOsztalynal); // } // switch (evfolyam.Value) // { // case (int)EvfolyamTipusEnum.ksz_11_4_es_szintu_szakkepzo_iskola_kozismeret_nelkuli: // case (int)EvfolyamTipusEnum._1_13_5_os_szintu_technikum: // return false; // default: // return true; // } //} public bool IsFelevnelValtosByOsztalyAndTanulo(int osztalyId, int tanuloId) { var tanuloAdatCo = new TanuloAdatCO(); Dal.CustomConnection.Run(ConnectionType, h => { var tanuloCsoport = GetTanuloCsoport(h, tanuloId, osztalyId, null, false); if (tanuloCsoport.OsztalyCsoportId.IsEntityId()) { var osztaly = h.Osztaly().Get(osztalyId); List osszevontEvfolyamTipusIds = EnumExtensions.GetEvfolyamTipusDictionaryItems(TanevId, true).Select(x => x.Id).ToList(); bool isOsszevontEvfolyamTipus = osszevontEvfolyamTipusIds.Any(x => x == osztaly?.EvfolyamTipusa); if (isOsszevontEvfolyamTipus) { tanuloAdatCo.IsOsszevontOsztaly = true; } tanuloAdatCo.OsztalyEvfolyamTipus = osztaly?.EvfolyamTipusa; var tanuloTanugyiAdatok = h.TanuloCsoport().Get(tanuloCsoport.ID.Value).TanuloTanugyiAdatok; tanuloAdatCo.TanuloEvfolyamTipus = tanuloTanugyiAdatok.TanuloEvfolyamTipusId; } else { var tanulo = h.Tanulo().Get(tanuloId); tanuloAdatCo.TanuloEvfolyamTipus = tanulo?.TanuloEvfolyamTipus; } }); return IsFelevnelValtosByEvfolyam(tanuloAdatCo); } private bool IsFelevnelValtosByEvfolyam(TanuloAdatCO co) { var evfolyam = co.IsOsszevontOsztaly ? co.TanuloEvfolyamTipus : co.OsztalyEvfolyamTipus; if (!evfolyam.HasValue) { evfolyam = (int)EvfolyamTipusEnum.na; //throw new ApplicationException(TanuloResource.NincsEvfolyamMegadvaSeTanulonalSeOsztalynal); } switch (evfolyam.Value) { case (int)EvfolyamTipusEnum.ksz_11_4_es_szintu_szakkepzo_iskola_kozismeret_nelkuli: case (int)EvfolyamTipusEnum._1_13_5_os_szintu_technikum: return true; default: return false; } } private (int szazalek, bool isAtlagFuggo, bool isFelevesValtasos) GetOsztondijAlapSzazalek(IDalHandler h, TanuloAdatCO co) { if (co.IsBeszamitasosTanulo) { return (co.IsBeszamitasosFixSzazalek ? 10 : GetAtlagSzazalek(co.VeglegesAtlag), false, false); } //var felevnelValtasEvfolyamok = new List { EvfolyamTipusEnum.ksz_11_4_es_szintu_szakkepzo_iskola_kozismeret_nelkuli.AsInt(), EvfolyamTipusEnum._1_13_5_os_szintu_technikum.AsInt() }; var evfolyam = co.IsOsszevontOsztaly ? co.TanuloEvfolyamTipus : co.OsztalyEvfolyamTipus; if (!evfolyam.HasValue) { evfolyam = (int)EvfolyamTipusEnum.na; //throw new ApplicationException(TanuloResource.NincsEvfolyamMegadvaSeTanulonalSeOsztalynal); } var azonositoKod = h.AdatszotarDAL().GetAdatszotarById(evfolyam.Value, IntezmenyId, TanevId).Tables[0].Rows[0]["Code"].ToString(); //// ha félévnél váltás van, akkor módosítjuk az azonosítót //var elsoFelevVege = new TanevrendHelper(ConnectionType).GetNapDate(NapTipusEnum.elso_felev_vege); //if (DateTime.Now > elsoFelevVege && felevnelValtasEvfolyamok.Contains(evfolyam.Value)) //{ // azonositoKod = "003"; //} if (IsFelevnelValtosByEvfolyam(co)) { if (co.IsSikeresAgazatiVizsga) { if (co.IsAtlagSzakkepzesi) { return (GetAtlagSzazalek(co.VeglegesAtlag), false, true); } return (16, false, true); } return (azonositoKod == "001" ? 8 : azonositoKod == "002" ? 16 : 0, false, true); } var isAtlagFuggo = azonositoKod == "003"; switch (azonositoKod) { case "001": return (8, isAtlagFuggo, false); case "002": return (16, isAtlagFuggo, false); case "003": return (GetAtlagSzazalek(co.VeglegesAtlag), isAtlagFuggo, false); case "004": return (8, isAtlagFuggo, false); case "005": return (8, isAtlagFuggo, false); default: return (0, isAtlagFuggo, false); } } private static int GetAtlagSzazalek(double? atlag) { if (atlag >= 2.00f && atlag < 3.00f) { return 8; } if (atlag >= 3.00f && atlag < 4.00f) { return 25; } if (atlag >= 4.00f && atlag <= 4.49f) { return 42; } if (atlag > 4.49f) { return 59; } return 0; } private List GetNemJogosultsagOkaList(int? nemJogosultOka) where T : Enum { var ret = new List(); if (!nemJogosultOka.HasValue) { return ret; } var values = Enum.GetNames(typeof(T)); var mask = 0x1; for (var i = 1; i < values.Length; i++) { if ((nemJogosultOka & mask) != 0) { var val = (T)Enum.Parse(typeof(T), values[i]); ret.Add(val.GetDisplayName(TanevId)); } mask <<= 1; } return ret; } private int GetEPJSzazalek(double erdemjegy) { if (erdemjegy >= 2.00f && erdemjegy < 3.00f) { return 80; } if (erdemjegy >= 3.00f && erdemjegy < 4.00f) { return 110; } if (erdemjegy >= 4.00f && erdemjegy <= 4.49f) { return 145; } if (erdemjegy > 4.49f) { return 180; } return 0; } public (int, int) GetSzakkepzesiJuttatasokTanulokDashboardAdatok() { int nemRendelkezikOsztondijAlapAdattal, nemRendelkezikOsztondijUtalasAdattal; nemRendelkezikOsztondijAlapAdattal = nemRendelkezikOsztondijUtalasAdattal = 0; var ds = Dal.CustomConnection.Run(ConnectionType, h => h.Tanulo().GetSzakkepzesiJuttatasokTanulokDashboardAdatok(TanevId)); foreach (var row in ds.Tables[0].AsEnumerable()) { if (string.IsNullOrWhiteSpace(row.Field("TanuloNeve")) || string.IsNullOrWhiteSpace(row.Field("AnyjaNeve")) || string.IsNullOrWhiteSpace(row.Field("SzuletesiHely")) || !row.Field("SzuletesiIdo").HasValue || string.IsNullOrWhiteSpace(row.Field("OktatasiAzonosito")) || string.IsNullOrWhiteSpace(row.Field("Osztaly")) || !row.Field("Evfolyam").HasValue) { nemRendelkezikOsztondijAlapAdattal++; } if (row.Field("IsJogosult_BOOL").HasValue && row.Field("IsJogosult_BOOL").Value && (string.IsNullOrWhiteSpace(row.Field("Bankszamlaszam")) || !row.Field("BankszamlaTulajdonosa").HasValue || string.IsNullOrWhiteSpace(row.Field("BankszamlaTulajdonosNeve")) || !row.Field("OsztondijOsszege").HasValue || (row.Field("OsztondijOsszege").HasValue && row.Field("OsztondijOsszege").Value <= 0) || string.IsNullOrWhiteSpace(row.Field("TajSzam")))) { nemRendelkezikOsztondijUtalasAdattal++; } } return (nemRendelkezikOsztondijAlapAdattal, nemRendelkezikOsztondijUtalasAdattal); } public BankszamlaIgenylesCo GetBankszamlaIgenylesData(int tanuloId, string urlHost) { return Dal.CustomConnection.Run(ConnectionType, dalHandler => { var tanuloDal = dalHandler.Tanulo(); var bankszamlaIgenylesDataSet = tanuloDal.GetBankszamlaIgenylesData(TanevId, tanuloId); var tanuloOsztalyDataSet = tanuloDal.GetTanuloOsztaly(tanuloId, DateTime.Now); var tanuloOsztalyEvfolyamTipusIdList = new List(); foreach (DataRow tanuloOsztalyDataRow in tanuloOsztalyDataSet.Tables[0].Rows) { tanuloOsztalyEvfolyamTipusIdList.Add(SDAConvert.ToInt32(tanuloOsztalyDataRow["EvfolyamTipusId"])); } var isTanuloIgenyelhetBankszamlatByOsztalyEvfolyamTipus = Constants.BankszamlatIgenyelhetoTanuloOsztalyEvfolyamTipusIdList.Intersect(tanuloOsztalyEvfolyamTipusIdList).Any(); var bankszamlaIgenylesCo = new BankszamlaIgenylesCo { IsTanuloIgenyelhetBankszamlatByOsztalyEvfolyamTipus = isTanuloIgenyelhetBankszamlatByOsztalyEvfolyamTipus, UrlHost = urlHost }; if (bankszamlaIgenylesDataSet.Tables[0].Rows.Count > 0) { var bankszamlaIgenylesDataRow = bankszamlaIgenylesDataSet.Tables[0].Rows[0]; bankszamlaIgenylesCo.EgyediAzonosito = SDAConvert.ToGuid(bankszamlaIgenylesDataRow["EgyediAzonosito"]); bankszamlaIgenylesCo.SzuletesiIdo = SDAConvert.ToDateTime(bankszamlaIgenylesDataRow["SzuletesiIdo"]).Value; bankszamlaIgenylesCo.Bankszamlaszam = SDAConvert.ToString(bankszamlaIgenylesDataRow["Bankszamlaszam"]); } return bankszamlaIgenylesCo; }); } public void SaveJogviszonySzuneteltetes(int tanuloId, int? osztalyId, DateTime kezdet, DateTime vege, int? kovTanevId) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.JogviszonySzuneteltetesDal(); var jvsz = dal.Get(null); if (osztalyId.HasValue) { var ds = GetTanuloiTanugyiadatokGrid(h, tanuloId, osztalyId.Value); jvsz.TanuloTanugyiAdatokId = ds.Tables[0].Rows[0].Field("TanugyiAdatokID"); } jvsz.Kezdete = kezdet; jvsz.Vege = vege; jvsz.TanuloId = tanuloId; dal.Insert(jvsz); }); } public void DeleteJogviszonySzuneteltetes(int id) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.JogviszonySzuneteltetesDal(); dal.Delete(id); }); } public (int? tanuloId, List osztalyai, List c) GetTanuloElozoEvesTanuloEsOsztalyCsoportjai(int tanuloId, int keresettEv, List kiveveFeladatKategotiak = null) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Felhasznalo(); var oktatasiAzonosito = dal.GetFelhasznaloOktatasiAzonosito(tanuloId); var keresettEvTanuloId = dal.GetFelhasznaloByOktatasiAzonositoAndTanev(oktatasiAzonosito, keresettEv); if (!keresettEvTanuloId.HasValue) { return (tanuloId: null, osztalyai: null, csoportjai: null); } var tanevDal = h.TanevDal(); var tanevDS = tanevDal.GetTanevData(keresettEv); var utolsoNap = tanevDS.Tables[0].Rows[0].Field("UtolsoNap"); var ocsDal = h.OsztalyCsoport(); var ocsDS = ocsDal.GetOsztalyCsoportok(keresettEv, null, false, isFromSzervezet: false, null, new List { keresettEvTanuloId.Value }); var forrasSorok = (kiveveFeladatKategotiak != null) ? ocsDS.Tables[0].AsEnumerable().Where(x => !kiveveFeladatKategotiak.Contains(x.Field("FeladatKategoriaId"))) : ocsDS.Tables[0].AsEnumerable(); var osztalyok = forrasSorok.Where(x => !x.Field("IsCsoport_BOOL")).Select(x => x.Field("OsztalyCsoportId")).ToList(); var csoportok = forrasSorok.Where(x => x.Field("IsCsoport_BOOL")).Select(x => x.Field("OsztalyCsoportId")).ToList(); return (tanuloId: keresettEvTanuloId, osztalyai: osztalyok, csoportjai: csoportok); }); } public string ValidateTanuloBesorolasTobbesModositas(TanuloCsoportCO tanuloCsoportCO, List tanuloCsoportIdList, bool isSzakkepzoIntezmeny, bool isSelectedTanev21_22OrLater, int? aktivTanevId, int? kovTanevId, bool isUtkozoOsztalyEllenorzes = false) { var hibaListaSzoveg = new StringBuilder(); var feladatEllatasiHelyHelper = new FeladatEllatasiHelyHelper(ConnectionType); var tanuloBesorolasTobbesModTanuloValidationCOItemList = GetBesorolasTobbesModTanuloValidationItems(tanuloCsoportIdList); var belepesDatumValidacioHibas = new List(); foreach (var tanuloBesorolasTobbesModTanuloValidationCOItem in tanuloBesorolasTobbesModTanuloValidationCOItemList) { var tobbesModBelepesDatumValidationIsOk = !(tanuloCsoportCO.BelepDatum.HasValue && tanuloBesorolasTobbesModTanuloValidationCOItem.KilepesDatum.HasValue && tanuloCsoportCO.BelepDatum > tanuloBesorolasTobbesModTanuloValidationCOItem.KilepesDatum); if (!tobbesModBelepesDatumValidationIsOk) { belepesDatumValidacioHibas.Add(tanuloBesorolasTobbesModTanuloValidationCOItem.Nev); } var vanUtkozes = false; var messages = new List(); var belepesDatumProblema = false; var szakkepesitesTipusError = false; if (isUtkozoOsztalyEllenorzes) { var (isUtkozik, errorMessage) = GetUtkozoOsztalyokErrorMessage(tanuloCsoportCO, tanuloBesorolasTobbesModTanuloValidationCOItem); vanUtkozes = isUtkozik; if (vanUtkozes) { messages.Add(errorMessage); } } var szakkepesitesTipusErrorMessage = ValidateBesorolasTobbesModositasSzakkepesitesTipus(tanuloBesorolasTobbesModTanuloValidationCOItem, tanuloCsoportCO, feladatEllatasiHelyHelper); if (!string.IsNullOrWhiteSpace(szakkepesitesTipusErrorMessage)) { szakkepesitesTipusError = true; messages.Add($"{szakkepesitesTipusErrorMessage} {tanuloBesorolasTobbesModTanuloValidationCOItem.Nev}"); } var osztalyCsoportbaSorolasHelper = new OsztalyCsoportbaSorolasHelper(ConnectionType, isSzakkepzoIntezmeny, isSelectedTanev21_22OrLater, aktivTanevId, kovTanevId); if (tanuloCsoportCO.BelepDatum.HasValue && tobbesModBelepesDatumValidationIsOk) { if (new OsztalyCsoportHelper(ConnectionType).IsOsztaly(tanuloBesorolasTobbesModTanuloValidationCOItem.OsztalyCsoportId)) { if (!osztalyCsoportbaSorolasHelper.CheckOsztalyBesorolasKezdetModositas(tanuloBesorolasTobbesModTanuloValidationCOItem.Id, tanuloCsoportCO.BelepDatum.Value, out var errorMessages)) { belepesDatumProblema = true; messages.AddRange(errorMessages); } } else { if (!osztalyCsoportbaSorolasHelper.CheckCsoportBesorolasKezdetModositas(tanuloBesorolasTobbesModTanuloValidationCOItem.Id, tanuloCsoportCO.BelepDatum.Value, out var errorMessages)) { belepesDatumProblema = true; messages.AddRange(errorMessages); } } } if (tobbesModBelepesDatumValidationIsOk && !vanUtkozes && !szakkepesitesTipusError && !belepesDatumProblema) { tanuloCsoportCO.ID = tanuloBesorolasTobbesModTanuloValidationCOItem.Id; UpdateTobbesTanuloBesorolas(tanuloCsoportCO, isSelectedTanev21_22OrLater); } else { hibaListaSzoveg.Append(string.Join("
    ", messages)).Append("
    "); } } if (belepesDatumValidacioHibas.Count > 0) { hibaListaSzoveg.AppendFormat("{0} {1}", OsztalyCsoportResource.AKovetkezoTanulokAdataiNemLettekFrissitveMertABelepesiDatumKesobbiAKilepesiDatumnal, string.Join(", ", belepesDatumValidacioHibas)); } return hibaListaSzoveg.ToString(); } private string ValidateBesorolasTobbesModositasSzakkepesitesTipus(BesorolasTobbesModTanuloValidationItemCo tanuloBesorolasTobbesModTanuloValidationCOItem, TanuloCsoportCO tanuloCsoportCO, FeladatEllatasiHelyHelper feladatEllatasiHelyHelper) { var errorMessage = string.Empty; var (isSzakkepesites, isNKTSzakkepzeses) = GetTanuloSzakKepesitesDetailsByTanulocsoportId(feladatEllatasiHelyHelper, tanuloBesorolasTobbesModTanuloValidationCOItem.Id); var isOkjsAdadBeallitva = tanuloCsoportCO.AgazatId.HasValue || tanuloCsoportCO.SzakmacsoportId.HasValue || tanuloCsoportCO.SzakkepesitesId.HasValue || tanuloCsoportCO.ReszSzakkepesitesId.HasValue; var isUjSzktAdatBeallitva = tanuloCsoportCO.AgazatUjSzktTipusId.HasValue || tanuloCsoportCO.SzakmaTipusId.HasValue || tanuloCsoportCO.SzakmairanyTipusId.HasValue; var isNktAdatBeallitva = tanuloCsoportCO.SzakiranyNktTipusId.HasValue || tanuloCsoportCO.SzakkepesitesNktTipusId.HasValue || tanuloCsoportCO.TanulmanyiTeruletNktTipusId.HasValue; //TODO : ERIK: Error Message még egyeztetés alatt kérés volt hogy kerüljön be így mielőtt kimegy javítjuk if (isUjSzktAdatBeallitva && !isSzakkepesites) { errorMessage = $@"SZKT adatokat állított be nem SZKT-s tanulónak. Tanuló neve: "; } if (isOkjsAdadBeallitva && !isSzakkepesites) { errorMessage = $@"OKJ adatokat állított be nem OKJ-s tanulónak. Tanuló neve: "; } if (isNktAdatBeallitva && !isNKTSzakkepzeses) { errorMessage = $@"NKT adatokat állított be nem NKT-s tanulónak. Tanuló neve: "; } return errorMessage; } public (bool IsIsSzakkepesites, bool IsNKTSzakkepzeses) GetTanuloSzakKepesitesDetailsByTanulocsoportIdList(IEnumerable list) { var helper = new FeladatEllatasiHelyHelper(ConnectionType); var data = new List<(bool isSzakkepzeses, bool isNktSzakkepzeses)>(); foreach (var tanulocsoportId in list) { var temp = GetTanuloSzakKepesitesDetailsByTanulocsoportId(helper, tanulocsoportId); if (temp.IsIsSzakkepesites && temp.IsNKTSzakkepzeses) { return (true, true); } data.Add(temp); } return (data.Any(x => x.isSzakkepzeses), data.Any(x => x.isNktSzakkepzeses)); } public (bool IsIsSzakkepesites, bool IsNKTSzakkepzeses) GetTanuloSzakKepesitesDetailsByTanulocsoportId(FeladatEllatasiHelyHelper helper, int? tanulocsoportId) { bool isSzakkepzeses = false, isNktSzakkepzeses = false; var tanuloCsoportJellemzo = helper.GetOsztalyJellemzoi(tanulocsoportId: tanulocsoportId); if (tanuloCsoportJellemzo[OsztalyJellemzoEnum.IsSzakkepzeses]) { isSzakkepzeses = true; } if (tanuloCsoportJellemzo[OsztalyJellemzoEnum.IsNKTSzakkepzeses]) { isNktSzakkepzeses = true; } return (isSzakkepzeses, isNktSzakkepzeses); } public bool IsTanuloApaczaiIgenylo(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { return h.Tanulo().Get(tanuloId).IsApaczaiIgenylo; }); } public bool IsTanuloApaczaiSzerzodeses(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { return h.Tanulo().Get(tanuloId).IsApaczaiSzerzodeses; }); } public bool CheckApaczaiMenuVisibility(bool isSelectedTanev20_21OrLater, bool isSelectedTanev21_22OrLater) { return Dal.CustomConnection.Run(ConnectionType, h => { var tanuloDal = h.Tanulo(); var tanulo = tanuloDal.Get(FelhasznaloId); var tanuloAdatok = GetTanuloiAdatok(h, FelhasznaloId, kovTanevId: null, isSelectedTanev20_21OrLater, isSelectedTanev21_22OrLater); //NOTE: ha a tanuló tanéve 2021/2022 , csak akkor jelenik meg a menüelem if ((tanulo.Tanev.Sorszam != 42 && tanulo.Tanev.Sorszam != 44) || tanuloAdatok.Evismetlo || tanuloAdatok.IsSzakkepzesiMunkaszerzodessel) { return false; } //Note ha a tanulo nem ApaczaiIgenylo es nem ApaczaiSzerzodeses akkor tovabb vizsgaljuk hogy olyan osztalyba van sorolasa amely az megengedett evfolyamlistaba (Constants.ApaczaiODJogosultEvfolyamTipusIdList) tartozik var tanulok = tanuloDal.GetTanuloOsztalyEvfolyam(TanevId, FelhasznaloId, Constants.ApaczaiODJogosultEvfolyamTipusIdList ?? new List(), datum: DateTime.Now < tanulo.Tanev.ElsoTanitasiNap ? tanulo.Tanev.ElsoTanitasiNap : DateTime.Now); return tanulok.Tables.Count > 0 && tanulok.Tables[0].Rows.Count > 0; }); } private (bool isUtkozik, string errorMessage) GetUtkozoOsztalyokErrorMessage(TanuloCsoportCO tanuloCsoportCO, BesorolasTobbesModTanuloValidationItemCo tanuloBesorolasTobbesModTanuloValidationCOItem) { var message = string.Empty; if (tanuloCsoportCO.BelepDatum.HasValue) { Enum.TryParse(new OsztalyCsoportHelper(ConnectionType).GetOsztalyCsoportFeladatKategoria(tanuloBesorolasTobbesModTanuloValidationCOItem.OsztalyCsoportId).ToString(), out OktNevelesiKategoriaEnum kategoria); message = GetUtkozoOsztalyok(tanuloBesorolasTobbesModTanuloValidationCOItem.TanuloId, tanuloCsoportCO.BelepDatum.Value, tanuloBesorolasTobbesModTanuloValidationCOItem.Id, kategoria); } return (!string.IsNullOrWhiteSpace(message), message); } public bool IsAllOsztalyAltalanosIskolaFeladatellatasiHely(List osztalyIdList) { if (osztalyIdList.Any()) { return Dal.CustomConnection.Run(ConnectionType, h => { return h.Tanulo().IsAllOsztalyAltalanosIskolaFeladatellatasiHely(osztalyIdList); }); } return false; } public DataSet GetTanulokOsztalyaiByTanuloIdp(IEnumerable tanuloIdps) { return Dal.CustomConnection.Run(ConnectionType, h => { return h.TanuloCsoport().GetTanulokOsztalyaiByTanuloIdp(TanevId, tanuloIdps); }); } public TanuloJegyzekAdatokCo GetTanuloJegyzekadatok(int tanuloCsoportId, int tanuloId, int osztalyCsoportId, bool isSelectedTanev20_21OrLater, bool isSelectedTanev21_22OrLater) { var jegyzekAdatok = new TanuloJegyzekAdatokCo(); var feladatEllatasiHelyHelper = new FeladatEllatasiHelyHelper(ConnectionType); var osztalyJellemzok = feladatEllatasiHelyHelper.GetOsztalyJellemzoi(tanulocsoportId: tanuloCsoportId); jegyzekAdatok.IsSzakkepzeses = osztalyJellemzok[OsztalyJellemzoEnum.IsSzakkepzeses]; jegyzekAdatok.IsNKTSzakkepzeses = isSelectedTanev20_21OrLater && osztalyJellemzok[OsztalyJellemzoEnum.IsNKTSzakkepzeses]; jegyzekAdatok.HasAktivOsztalybaSorolas = HasTanuloAktivOsztalybaSorolas(tanuloId); var osztalyAdatok = new OsztalyHelper(ConnectionType).GetClassById(osztalyCsoportId); jegyzekAdatok.IsMuveszetiSzakGimnazium = feladatEllatasiHelyHelper.GetFeladatEllatasiHelyAdatok(osztalyAdatok.FeladatEllatasiHelyId).OktatasiNevelesiFeladat == (int)OktatasiNevelesiFeladatEnum.MuveszetiSzakgimnazium; if (jegyzekAdatok.IsSzakkepzeses) { if (isSelectedTanev21_22OrLater || osztalyAdatok.AgazatUjSzktTipusId != (int)AgazatUjSzktTipusEnum.na) { jegyzekAdatok.IsAgazatUjSzktTipusModificationEnabled = true; } if (isSelectedTanev21_22OrLater || osztalyAdatok.SzakmaTipusId != (int)SzakmaTipusEnum.na) { jegyzekAdatok.IsSzakmaTipusModificationEnabled = true; } if (isSelectedTanev21_22OrLater || osztalyAdatok.SzakmairanyTipusId != (int)SzakmairanyTipusEnum.na) { jegyzekAdatok.IsSzakmairanyTipusModificationEnabled = true; } if (isSelectedTanev21_22OrLater || osztalyAdatok.SzakmacsoportId != (int)SzakmacsoportTipusEnum.Na) { jegyzekAdatok.IsSzakmacsoportModificationEnabled = true; } if (isSelectedTanev21_22OrLater || osztalyAdatok.AgazatId != (int)AgazatTipusEnum.Na) { jegyzekAdatok.IsAgazatModificationEnabled = true; } if (isSelectedTanev21_22OrLater || osztalyAdatok.SzakkepesitesId != (int)SzakkepesitesTipusEnum.Na) { jegyzekAdatok.IsSzakkepesitesModificationEnabled = true; } if (isSelectedTanev21_22OrLater || osztalyAdatok.ReszSzakkepesitesId != (int)ReszszakkepesitesTipusEnum.Na) { jegyzekAdatok.IsReszSzakkepesitesModificationEnabled = true; } if (isSelectedTanev21_22OrLater) { jegyzekAdatok.IsAgazatReszSzakmaTipusModificationEnabled = true; jegyzekAdatok.IsSzakmaReszSzakmaTipusModificationEnabled = true; jegyzekAdatok.IsReszSzakmaTipusModificationEnabled = true; } } if (jegyzekAdatok.IsNKTSzakkepzeses) { if (isSelectedTanev21_22OrLater || osztalyAdatok.TanulmanyiTeruletNktTipusId != (int)TanulmanyiTeruletNktTipusEnum.na) { jegyzekAdatok.IsTanulmanyiTeruletNktTipusModificationEnabled = true; } if (isSelectedTanev21_22OrLater || osztalyAdatok.SzakkepesitesNktTipusId != (int)SzakkepesitesNktTipusEnum.na) { jegyzekAdatok.IsSzakkepesitesNktTipusModificationEnabled = true; } if (isSelectedTanev21_22OrLater || osztalyAdatok.SzakiranyNktTipusId != (int)SzakiranyNktTipusEnum.na) { jegyzekAdatok.IsSzakiranyNktTipusModificationEnabled = true; } } return jegyzekAdatok; } public int GetTanulokEmailNelkulSzamJelszoResethez(List tanuloIds) { return Dal.CustomConnection.Run(ConnectionType, (h) => { return h.Tanulo().GetTanulokEmailNelkulJelszoResethez(TanevId, tanuloIds).Tables?[0].Rows.Count ?? 0; }); } private List GetTanulokEmailNelkulJelszoResethez(List tanuloIds) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var tanuloItemCoList = new List(); var tanulok = h.Tanulo().GetTanulokEmailNelkulJelszoResethez(TanevId, tanuloIds).Tables[0]; tanuloItemCoList.AddRange(tanulok.AsEnumerable().Select(x => new TanuloItemCo() { FelhasznaloNyomtatasiNev = SDAConvert.ToStringForExcelCell(x.Field("C_NYOMTATASINEV")), FelhasznaloOktatasiAzonosito = SDAConvert.ToStringForExcelCell(x.Field("C_OKTATASIAZONOSITO")), EmailCimTipusNev = EmailTipusEnum.Hivatalos.GetDisplayName(TanevId), IsAlapertelmezettEmailCim = IgenNemEnum.Igen.GetDisplayName(TanevId), })); return tanuloItemCoList; }); } public byte[] GetTanulokEmailNelkulJelszoResethezXlsx(List tanuloIds) { var coList = GetTanulokEmailNelkulJelszoResethez(tanuloIds); var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos(TanuloItemCo.TanulokElerhetosegiAdataikTemplateExportAttributeId, null); return SimpleExportLogic.GetExport(ImportExportTanulokElerhetosegiAdataikResource.ImportDefaultSheetName, simpleExportColumnCos, coList, TanevId).ToArray(); } public List GetOsztalyTanuloiGondviselokCoList(OsztalyTanuloiGondviselokSearchCo searchCo, bool isSzuperOsztalyfonok, bool isEvfolyamfelelos) { var result = new List(); var ds = GetOsztalyTanuloiGondviselokDataSet(searchCo.OsztalyIdSearch, searchCo.EllatottKoznevelesiFeladatTipusIdSearch, isSzuperOsztalyfonok, isEvfolyamfelelos); foreach (DataRow row in ds.Tables[0].Rows) { result.Add(new OsztalyTanuloiGondviselokGridItemCo(row)); } if (!string.IsNullOrWhiteSpace(searchCo.TanuloNevSearch)) { result = result.Where(x => x.TanuloNeve.ToLower().RemoveDiacritics().Contains(searchCo.TanuloNevSearch.ToLower().RemoveDiacritics())).ToList(); } if (searchCo.IsEmail.ToBool()) { result = result.Where(x => !string.IsNullOrWhiteSpace(x.Email)).ToList(); } if (searchCo.IsTelefonszam.ToBool()) { result = result.Where(x => !string.IsNullOrWhiteSpace(x.Telefonszam)).ToList(); } if (searchCo.IsTorvenyesKepviselo.HasValue) { result = result.Where(x => x.TorvenyesKepviselo_BOOL == searchCo.IsTorvenyesKepviselo.ToBool()).ToList(); } if (searchCo.IsBovitettJogosultsagu.HasValue) { result = result.Where(x => x.BovitettJogosultsag_BOOL == searchCo.IsBovitettJogosultsagu.ToBool()).ToList(); } return result; } private DataSet GetOsztalyTanuloiGondviselokDataSet(int? osztalyId, int? ellatottKoznevelesiFeladatId, bool isSzuperOsztalyfonok, bool isEvfolyamfelelos) { return Dal.CustomConnection.Run(ConnectionType, (h) => { return h.Tanulo().GetOsztalyTanuloiGondviselokDataSet(FelhasznaloId, IntezmenyId, TanevId, osztalyId, ellatottKoznevelesiFeladatId, isSzuperOsztalyfonok, isEvfolyamfelelos); }); } public bool IsTanuloEvfolyamTipusaLetezik(int tanuloId, IEnumerable evfolyamTipusIdList) { return Dal.CustomConnection.Run(ConnectionType, (h) => { return h.Tanulo().IsTanuloEvfolyamTipusaLetezik(tanuloId, IntezmenyId, TanevId, evfolyamTipusIdList); }); } public bool IsTanuloFeltarEvfolyamos() { return Dal.CustomConnection.Run(ConnectionType, h => { var tanuloDal = h.Tanulo(); var tanulok = tanuloDal.GetTanuloOsztalyEvfolyam(TanevId, FelhasznaloId, Constants.FeltarEvfolyamList, datum: DateTime.Now); return tanulok.Tables.Count > 0 && tanulok.Tables[0].Rows.Count > 0; }); } public OsztalyTanuloiGondviselokPopupCo GetGondviseloInfoPopUp(int gondviseloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var gondviselo = h.Gondviselo().Get(gondviseloId); var co = new OsztalyTanuloiGondviselokPopupCo(); co.FelhasznaloNev = gondviselo.FelhasznaloBelepes.FirstOrDefault(x => !x.Torolt)?.BejelentkezesiNev; co.UtolsoBelepes = gondviselo.FelhasznaloBelepes.FirstOrDefault(x => !x.Torolt)?.UtolsoBelepes; co.UtolsoBelepesMobil = gondviselo.FelhasznaloBelepes.FirstOrDefault(x => !x.Torolt)?.UtolsoBelepesMobil; co.EmailCimek.AddRange(gondviselo.Email.Where(x => !x.Torolt).OrderBy(x => x.Alapertelmezett).Select(x => (x.Alapertelmezett, x.EmailCim))); co.Telefonszamok.AddRange(gondviselo.Telefon.Where(x => !x.Torolt).OrderBy(x => x.Alapertelmezett).Select(x => (x.Alapertelmezett, x.TelefonSzam))); return co; }); } public MemoryStream GetOsztalyTanulokGondviseloiExcelExport(OsztalyTanuloiGondviselokSearchCo co, bool isSzuperOsztalyfonok, bool isEvfolyamfelelos) { var dataSet = GetOsztalyTanuloiGondviselokDataSet(co.OsztalyIdSearch, co.EllatottKoznevelesiFeladatTipusIdSearch, isSzuperOsztalyfonok, isEvfolyamfelelos); var exportFile = new ExcelExportItem(); var columnIndex = 0; exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameTanuloNeve); exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameTanuloOsztalya); exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameGondviseloNeve); exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameFelhasznaloNevGondviseloFelhasznaloNeve); exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameRokonsagiFok); exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameTelefonszamGondviseloTelefonszama); exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameAlapertelmezettTelefonszam); exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameEmailCimGondviseloEmailCime); exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameAlapertelmezettEmailCim); exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameTorvenyesKepviselo); exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameBovitettJogosultsag); exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameUtolsoBelepes); exportFile.AddColumn(columnIndex++, ImportExportGondviseloResource.ImportHeaderNameUtolsoBelepesMobilon); var dt = dataSet.Tables[0]; var rowIndex = 2; if (dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { columnIndex = 0; exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["TanuloNeve"])); exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["TanuloOsztalya"])); exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["GondviseloNeve"])); exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["GondviseloBejelentkezesiNev"])); exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["RokonsagiFoka"])); exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["TelefonSzam"])); exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["IsAlapertelmezettTelefonSzam_BNAME"])); exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["Email"])); exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["IsAlapertelmezettEmail_BNAME"])); exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["IsTorvenyesKepviselo_BNAME"])); exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["IsBovitettJogosultsag_BNAME"])); exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["UtolsoBelepes"])); exportFile.AddCell(rowIndex, columnIndex++, SDAConvert.ToString(row["UtolsoBelepesMobil"])); rowIndex++; } } return new ExcelExportManager().CreateExcelExport(new List { exportFile }); } public bool IsTanulonakVanAlapertelmezettEmailCime(int felhasznaloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var felhasznalo = h.Felhasznalo().Get(felhasznaloId); return felhasznalo.Email.Any(x => !x.Torolt && !x.IsHibasanMegadva && !x.GondviseloId.IsEntityId() && x.Alapertelmezett); }); } public bool IsTanulonakVanAlapertelmezettTelefonszama(int felhasznaloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var felhasznalo = h.Felhasznalo().Get(felhasznaloId); return felhasznalo.Telefon.Any(x => !x.Torolt && !x.GondviseloId.IsEntityId() && x.Alapertelmezett); }); } public bool IsTankotelezettsegetTeljesito(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var tanulo = h.Tanulo().Get(tanuloId); return tanulo.Tankotelezett; }); } public void SaveTanuloJogviszony(JogviszonyCo jogviszonyCo, int? kovTanevId) { Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.TbJogviszonyDal(); var tbJogviszony = dal.Get(jogviszonyCo.ID); tbJogviszony.TanuloId = jogviszonyCo.TanuloId; tbJogviszony.JogvKeletkezeseJogcimTipusId = jogviszonyCo.JogviszonyKeletkezesenekJogcimeId; tbJogviszony.JogvMegszuneseJogcimTipusId = jogviszonyCo.JogviszonyMegszunesenekJogcimeId; tbJogviszony.TbJogviszonyTipusId = jogviszonyCo.JogviszonyTipusId; tbJogviszony.Kezdete = jogviszonyCo.Kezdete; tbJogviszony.Vege = jogviszonyCo.Vege; tbJogviszony.Megjegyzes = jogviszonyCo.Megjegyzes; tbJogviszony.IsAktiv = jogviszonyCo.IsAktiv; if (jogviszonyCo.ID.HasValue) { dal.Update(tbJogviszony, kovTanevId); } else { tbJogviszony.TanevId = TanevId; dal.Insert(tbJogviszony, kovTanevId); } }); } public void TanuloJogviszonyMegszuntetese(JogviszonyCo jogviszonyCo, int? kovTanevId) { Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.TbJogviszonyDal(); var tbJogviszony = dal.Get(jogviszonyCo.ID); tbJogviszony.JogvMegszuneseJogcimTipusId = jogviszonyCo.JogviszonyMegszunesenekJogcimeId; tbJogviszony.Vege = tbJogviszony.Kezdete > jogviszonyCo.Vege.Value ? tbJogviszony.Kezdete : jogviszonyCo.Vege; tbJogviszony.IsAktiv = false; dal.Update(tbJogviszony, kovTanevId); }); } public List GetTanuloJogviszonyAdatokCoList(TanuloJogviszonyAdatokSearchCO searchCo) { return Dal.CustomConnection.Run(ConnectionType, h => { var result = new List(); var ds = h.Tanulo().GetTanuloJogviszonyAdatok(TanevId, IntezmenyId); foreach (DataRow dataRow in ds.Tables[0].Rows) { var itemCo = new TanuloJogviszonyAdatItemCo(dataRow); result.Add(itemCo); } if (!string.IsNullOrWhiteSpace(searchCo.TanuloNev)) { result = result.Where(x => x.TanuloNev.ToLower().Contains(searchCo.TanuloNev.ToLower())).ToList(); } if (!string.IsNullOrWhiteSpace(searchCo.OktatasiAzonosito)) { result = result.Where(x => x.OktatasiAzonosito == searchCo.OktatasiAzonosito).ToList(); } if (searchCo.OsztalyId.IsEntityId()) { //NOTE: Ha osztályra szűrünk result = result.Where(x => x.OsztalyId.HasValue && x.OsztalyId.Value == searchCo.OsztalyId.Value).ToList(); } else if (searchCo.OsztalyId.HasValue && searchCo.OsztalyId.Value.Equals(-1)) { //NOTE: Ha olyan tanulókra szűrünk ahol nincs osztály result = result.Where(x => !x.OsztalyId.HasValue).ToList(); } if (searchCo.JogviszonyKezdeteDateFrom.HasValue) { result = result.Where(x => x.JogviszonyKezdeteDate.HasValue && x.JogviszonyKezdeteDate.Value >= searchCo.JogviszonyKezdeteDateFrom.Value).ToList(); } if (searchCo.JogviszonyKezdeteDateTo.HasValue) { result = result.Where(x => x.JogviszonyKezdeteDate.HasValue && x.JogviszonyKezdeteDate.Value <= searchCo.JogviszonyKezdeteDateTo.Value).ToList(); } if (searchCo.JogviszonyKeletkezesenekJogcimeId.HasValue) { result = result.Where(x => x.JogviszonyKeletkezesenekJogcimeId.HasValue && x.JogviszonyKeletkezesenekJogcimeId.Value == searchCo.JogviszonyKeletkezesenekJogcimeId.Value).ToList(); } if (searchCo.JogviszonyMegszunesenekJogcimeId.HasValue) { result = result.Where(x => x.JogviszonyMegszunesenekJogcimeId.HasValue && x.JogviszonyMegszunesenekJogcimeId.Value == searchCo.JogviszonyMegszunesenekJogcimeId.Value).ToList(); } if (searchCo.JogviszonyVegeDateFrom.HasValue) { result = result.Where(x => x.JogviszonyVegeDate.HasValue && x.JogviszonyVegeDate.Value >= searchCo.JogviszonyVegeDateFrom.Value).ToList(); } if (searchCo.JogviszonyVegeDateTo.HasValue) { result = result.Where(x => x.JogviszonyVegeDate.HasValue && x.JogviszonyVegeDate.Value <= searchCo.JogviszonyVegeDateTo.Value).ToList(); } if (searchCo.JogviszonyTipusId.HasValue) { result = result.Where(x => x.JogviszonyTipusId.HasValue && x.JogviszonyTipusId.Value == searchCo.JogviszonyTipusId.Value).ToList(); } if (searchCo.JogviszonyStatuszId.HasValue && searchCo.JogviszonyStatuszId.Value != (int)JogviszonyStatuszEnum.Mind) { if (searchCo.JogviszonyStatuszId.Value == (int)JogviszonyStatuszEnum.Aktiv) { result = result.Where(x => x.IsJogviszonnyalRendelkezik).ToList(); } else { result = result.Where(x => !x.IsJogviszonnyalRendelkezik).ToList(); } } return result; }); } public List> GetOraTanuloi(int orarendiOraId) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var oraTanuloiDataSet = h.OrarendiOra().GetOraTanuloi(orarendiOraId); var tanulok = new List>(); if (oraTanuloiDataSet.Tables.Count > 0 && oraTanuloiDataSet.Tables[0].Rows.Count > 0) { tanulok = oraTanuloiDataSet.Tables[0].Rows.Cast().Select(dataRow => new Tuple(dataRow.Field("TanuloId"), dataRow.Field("TanuloNev"))).ToList(); } return tanulok; }); } public (List szervezetUtkozesTanuloNevek, List szakmaUtkozesTanuloNevek, List szakmairanyUtkozesTanuloNevek) GetTanuloSzervezetSzakmaUtkozes( List tanuloIds, int? kovTanevID, bool isSelectedTanev20_21OrLater, bool isSelectedTanev21_22OrLater, int? tanuloSzervezetId, int? szakmaTipusId, int? szakmairanyTipusId, TanuloAdatCO regiTanuloiAdatokCo = null) { var szervezetUtkozesTanuloNevek = new List(); var szakmaUtkozesTanuloNevek = new List(); var szakmairanyUtkozesTanuloNevek = new List(); foreach (var item in tanuloIds) { var regiAdatokCo = regiTanuloiAdatokCo ?? GetTanuloiAdatok(item, kovTanevID, isSelectedTanev20_21OrLater, isSelectedTanev21_22OrLater); if (regiAdatokCo != null && (((tanuloIds.Count == 1 || tanuloSzervezetId.HasValue) && tanuloSzervezetId != regiAdatokCo.SzervezetId) || (szakmaTipusId.HasValue && szakmaTipusId != regiAdatokCo.SzakmaTipusId) || (szakmairanyTipusId.HasValue && szakmairanyTipusId != regiAdatokCo.SzakmairanyTipusId)) ) { var tanuloNeve = Extensions.NameExtensions.GetNevSorrendben("F", regiAdatokCo.Elotag, regiAdatokCo.CsaladiNev, regiAdatokCo.UtoNev); var dualisKapcsolatok = new SzervezetHelper(ConnectionType) .GetEntitySzervezetList(item, "T_TANULO"); if ((tanuloIds.Count == 1 || tanuloSzervezetId.HasValue) && regiAdatokCo.SzervezetId != null && dualisKapcsolatok.Any(x => x.EntitasNev == "T_CSOPORT") && tanuloSzervezetId != regiAdatokCo.SzervezetId && dualisKapcsolatok.Any(x => x.EntitasNev != "T_TANULOTANUGYIADATOK")) { szervezetUtkozesTanuloNevek.Add(tanuloNeve); } if (szakmaTipusId.HasValue && szakmaTipusId != regiAdatokCo.SzakmaTipusId && dualisKapcsolatok.Any(x => x.EntitasNev == "T_CSOPORT")) { szakmaUtkozesTanuloNevek.Add(tanuloNeve); } if (szakmairanyTipusId.HasValue && szakmairanyTipusId != regiAdatokCo.SzakmairanyTipusId && dualisKapcsolatok.Any(x => x.EntitasNev == "T_CSOPORT")) { szakmairanyUtkozesTanuloNevek.Add(tanuloNeve); } } } return (szervezetUtkozesTanuloNevek, szakmaUtkozesTanuloNevek, szakmairanyUtkozesTanuloNevek); } public List GetSzakkepzesiMunkaszerzodesItemCoList(int tanuloId) { return Dal.CustomConnection.Run(ConnectionType, h => { var ds = h.Tanulo().GetSzakkepzesiMunkaszerzodesek(IntezmenyId, TanevId, tanuloId); return ds.Tables[0].AsEnumerable().Select(x => new SzakkepzesiMunkaszerzodesItemCo(x)).ToList(); }); } public void SaveOrUpdateSzakkepzesiMunkaszerzodes(int? id, int tanuloId, DateTime kezdete, DateTime vege, int szervezetId) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.SzakkepzesiMunkaszerzodesDAL(); var szakkepzesiMunkaszerzodes = dal.Get(id); szakkepzesiMunkaszerzodes.SzervezetId = szervezetId; szakkepzesiMunkaszerzodes.Kezdete = kezdete; szakkepzesiMunkaszerzodes.Vege = vege; if (!id.IsEntityId()) { var tanuloTanugyiAdatokId = h.Tanulo().Get(tanuloId).OsztalyCsoport.Single(x => !x.Torolt && x.TanuloTanugyiAdatok != null && x.BelepesDatum <= DateTime.Now && (!x.KilepesDatum.HasValue || x.KilepesDatum > DateTime.Now) && x.OsztalyCsoport.FeladatKategoriaId.HasValue && x.OsztalyCsoport.FeladatKategoriaId.Value == (int)OktNevelesiKategoriaEnum.NevelesOktatas).TanuloTanugyiAdatok.ID; szakkepzesiMunkaszerzodes.TanuloTanugyiAdatokId = tanuloTanugyiAdatokId; dal.Insert(szakkepzesiMunkaszerzodes); } else { dal.FullUpdate(szakkepzesiMunkaszerzodes); } }); } public void DeleteAllSzakkepzesiMunkaszerzodesByTanuloId(int tanuloId) { var tanuloMunkaszerzodesList = tanuloId.IsEntityId() ? new TanuloHelper(ConnectionType).GetSzakkepzesiMunkaszerzodesItemCoList(tanuloId) : new List(); if (tanuloMunkaszerzodesList.Any()) { tanuloMunkaszerzodesList.ForEach(t => { DeleteSzakkepzesiMunkaszerzodes(t.Id); }); } } public void DeleteSzakkepzesiMunkaszerzodes(int id) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.SzakkepzesiMunkaszerzodesDAL(); var szakkepzesiMunkaszerzodes = dal.Get(id); dal.Delete(szakkepzesiMunkaszerzodes); }); } private void LetoltottAdatokVizsgalataEsModositasaExportElott(DataTable dataTable) { foreach (DataRow row in dataTable.Rows) { // KRETA2-12629 - Korábbi verzióban a Jogviszony kezdete nem volt kötelező így a mentésnél 1900.01.01-es dátumok kerültek a DB-be, a ticketben kérték, hogy ne legyenek ilyen dátumok exportálás során a megadott oszlopban // Később ha a DB oldal javítva lesz/vagy minden tanuló kap érvényes Jogviszony kezdete dátumot a funkció akár eltávolítható if (dataTable.Columns.Contains(TanuloResource.JogviszonyKezdete) && (string)row[TanuloResource.JogviszonyKezdete] == "1900.01.01") { row[TanuloResource.JogviszonyKezdete] = ""; } } } } }