kreta/Kreta.BusinessLogic/Helpers/TanuloHelper.cs
2024-03-13 00:33:46 +01:00

7685 lines
376 KiB
C#

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<EvfolyamTipusEnum>(TanevId) : osztaly.EvfolyamTipusa.GetDisplayName<EvfolyamTipusEnum>(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<string>("OsztalyCsoport"),
BelepesDatuma = dataRow.Field<DateTime>("BelepesDatuma"),
KilepesDatuma = dataRow.Field<DateTime?>("KilepesDatuma"),
TanuloNeve = dataRow.Field<string>("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<string>("OsztalyCsoport"),
BelepesDatuma = dataRow.Field<DateTime>("BelepesDatuma"),
KilepesDatuma = dataRow.Field<DateTime?>("KilepesDatuma"),
TanuloNeve = dataRow.Field<string>("TanuloNeve")
}).ToList();
if (result.Count == 0)
{
return null;
}
var sb = new StringBuilder(BesorolasResource.MarVanCsoportbaSorolas).Append("<ul>");
foreach (var r in result)
{
sb.Append("<li>");
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("</li>");
}
return sb.Append("</ul>").ToString();
}
public string GetDiakigazolvanyszamByTanulo(int tanuloId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.Tanulo();
return dal.GetDiakigazolvanyszamByTanulo(tanuloId, TanevId);
});
}
public List<string> 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<string>("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<int> 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<int> { 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<string>("Nev"),
RokonsagFoka = x.Field<int>("RokonsagFoka")
}).Where(c => c.Count() > 1).ToList();
var hibas = ds.Tables[0].AsEnumerable().Where(r => duplicates.Any(d => d.Key.Nev == r.Field<string>("Nev") && d.Key.RokonsagFoka == r.Field<int>("RokonsagFoka")));
foreach (var g in hibas)
{
g["Hibas"] = 'T';
}
}
return ds;
});
}
public List<TanuloJogviszonyGridItemCo> 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<TanuloJogviszonyGridItemCo>();
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
{
var item = new TanuloJogviszonyGridItemCo(dataRow);
result.Add(item);
}
return result;
});
}
public List<TanuloJogviszonyGridItemCo> GetJogviszonyByTanuloIdsAndJogvTipusId(List<int> tanuloIds)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.Tanulo(GridParameters);
var dataSet = dal.GetJogviszonyByTanuloIds(tanuloIds, TanevId, IntezmenyId);
var result = new List<TanuloJogviszonyGridItemCo>();
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<int> 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<TanuloGridItemCo> GetTanuloItemCoList(TanuloKeresesCO searchModel)
{
var dataSet = TanuloKereses(searchModel);
var result = new List<TanuloGridItemCo>();
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<TanuloGridItemCo> TanuloGridFilter(List<TanuloGridItemCo> 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<TanuloSzakkepzesiOsztondijakItemCo> GetSzakkepzesiOsztondijCoList(TanuloSzakkepzesiOsztondijakKeresesCO keresoProfil)
{
var coList = GetSzakkepzesiJuttatasCoList<TanuloSzakkepzesiOsztondijakItemCo, JuttatasraNemJogosultOkaEnum>(keresoProfil);
IEnumerable<TanuloSzakkepzesiOsztondijakItemCo> 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<TanuloEgyszeriPalyakezdesiJuttatasItemCo> GetEgyszeriPalyakezdesiJuttatasCoList(TanuloEgyszeriPalyakezdesiJuttatasKeresesCO keresoProfil)
{
var coList = GetSzakkepzesiJuttatasCoList<TanuloEgyszeriPalyakezdesiJuttatasItemCo, EpJuttatasraNemJogosultOkaEnum>(keresoProfil);
IEnumerable<TanuloEgyszeriPalyakezdesiJuttatasItemCo> 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<TanuloApaczaiTanuloListaItemCo> GetApaczaiTanuloiListaCoList(TanuloiListaSearchCo keresoProfil)
{
var coList = GetSzakkepzesiJuttatasCoList<TanuloApaczaiTanuloListaItemCo, JuttatasraNemJogosultOkaEnum>(keresoProfil);
IEnumerable<TanuloApaczaiTanuloListaItemCo> ret;
ret = coList;
return ret.ToList();
}
private List<T> GetSzakkepzesiJuttatasCoList<T, TU>(TanuloJuttatasKeresesCO keresoProfil) where T : IItemCoMustFill, new() where TU : System.Enum
{
var coList = new List<T>();
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<TU>(row.Field<int?>("NemJogosultsagOka")).Select(x => "<li>" + x + "</li>").ToList();
lista.Insert(0, "<ul class=\"nemjogosultsagoka\">");
lista.Add("</ul>");
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<string>(nameof(TanuloResource.Elotag)));
exportFile.AddCell(rowIndex, columnIndex++, item.Field<string>(nameof(TanuloResource.Vezeteknev)));
exportFile.AddCell(rowIndex, columnIndex++, item.Field<string>(nameof(TanuloResource.UtoNev)));
exportFile.AddCell(rowIndex, columnIndex++, item.Field<string>(nameof(TanuloResource.OktatasiAzonosito)));
exportFile.AddCell(rowIndex, columnIndex++, item.Field<string>($"{nameof(TanuloResource.KuldhetoErettsegiSzRnek)}_BNAME"));
exportFile.AddCell(rowIndex, columnIndex++, item.Field<string>($"{nameof(TanuloResource.KuldhetoMeresiSzRnek)}_BNAME"));
exportFile.AddCell(rowIndex, columnIndex++, item.Field<string>($"{nameof(TanuloResource.KuldhetoKozepFelveteliSzRnek)}_BNAME"));
exportFile.AddCell(rowIndex, columnIndex++, item.Field<string>($"{nameof(TanuloResource.DiakigazolvanyAtadhatoSzRnek)}_BNAME"));
rowIndex++;
}
return new ExcelExportManager().CreateExcelExport(new List<ExcelExportItem> { 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<string, string> 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<string, string> 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<DataRow>().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<string, string> GetTanuloElerhetosegekTel(int tanuloId)
{
var ds = Dal.CustomConnection.Run(ConnectionType, h => h.Tanulo(GridParameters).GetTanuloElerhetosegekTel(tanuloId, TanevId));
return LogicUtil.CreateDropdownContent(ds, "Id", "Text");
}
public IDictionary<string, string> GetTanuloElerhetosegekEmail(int tanuloId)
{
var ds = Dal.CustomConnection.Run(ConnectionType, h => h.Tanulo(GridParameters).GetTanuloElerhetosegekEmail(tanuloId, TanevId));
return LogicUtil.CreateDropdownContent(ds, "Id", "Text");
}
public IDictionary<string, string> 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<string, string> 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<int> { 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<int> 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<EvfolyamTipusEnum>(TanevId) : osztaly.EvfolyamTipusa.GetDisplayName<EvfolyamTipusEnum>(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<JuttatasraNemJogosultOkaEnum>(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<EpJuttatasraNemJogosultOkaEnum>(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<NyugdijTipusEnum>(TanevId) : string.Empty;
if (munkaugyiAdatok.NyugdijKezdet.HasValue)
{
co.MentorNyugdijKezdete = munkaugyiAdatok.NyugdijKezdet.Value;
}
}
co.MentorBankszamlaSzam = alkalmazottDto.Bankszamlaszam;
co.MentorBankszamlaTulajdonosa = alkalmazottDto.BankszamlaTulajdonosTipus.GetDisplayName<BankszamlaTulajdonosTipusEnum>(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<OrszagTipusEnum>(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<OrszagTipusEnum>(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<EmailTipusEnum>(TanevId);
}
var telefon = alkalmazottDto.Telefon.FirstOrDefault(x => x.Alapertelmezett && !x.Torolt);
if (telefon != null)
{
co.MentorTelefonSzam = telefon.TelefonSzam;
co.MentorTelefonTipus = telefon.TelefonTipusa.GetDisplayName<TelefonTipusEnum>(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<string>("OsztalyNev")}, ";
}
if (!string.IsNullOrWhiteSpace(osztalyok))
{
osztalyok = osztalyok.Substring(0, osztalyok.Length - 2);
}
return osztalyok;
}
public Dictionary<string, string> 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<string, string>();
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<int> 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<int> 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<string>();
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<string>(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<string>(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<T>(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<int?>("GondviseloId") == adat.GondviseloId && x.Field<string>("Alapertelmezett") == "T");
var tanuloAlapertelmezettCim = cimList.Find(x => x.Field<int?>("GondviseloId") == null && x.Field<string>("Alapertelmezett") == "T");
if (tanuloAlapertelmezettCim == null)
{
tanuloAlapertelmezettCim = cimList.Find(x => x.Field<int?>("GondviseloId") == null);
}
gondviseloCim.IranyitoSzam = tanuloAlapertelmezettCim.Field<string>("Iranyitoszam");
gondviseloCim.Varos = tanuloAlapertelmezettCim.Field<string>("Telepules");
gondviseloCim.Kozterulet = tanuloAlapertelmezettCim.Field<string>("Kozterulet");
gondviseloCim.KozteruletJellegeNev = tanuloAlapertelmezettCim.Field<string>("KozteruletJellegNev");
gondviseloCim.Hazszam = tanuloAlapertelmezettCim.Field<string>("Hazszam");
gondviseloCim.Emelet = tanuloAlapertelmezettCim.Field<string>("Emelet");
gondviseloCim.Ajto = tanuloAlapertelmezettCim.Field<string>("Ajto");
gondviseloCim.CimTipusa = tanuloAlapertelmezettCim.Field<int>("TipusId");
gondviseloCim.Orszag = tanuloAlapertelmezettCim.Field<int?>("Orszag") ?? (int)OrszagTipusEnum.Magyarorszag;
gondviseloCim.Alapertelmezett = gondviseloAlapertelmezettCim == null && tanuloAlapertelmezettCim.Field<string>("Alapertelmezett") == "T";
adat.CimTipus = tanuloAlapertelmezettCim.Field<int?>("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<string> ids, DateTime aktTanevSzept1Datum)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.Tanulo(GridParameters);
dal.UpdateTanuloCsoportBesorolasDatum(ids, FelhasznaloId, aktTanevSzept1Datum);
});
}
public List<BesorolasTobbesModTanuloValidationItemCo> GetBesorolasTobbesModTanuloValidationItems(List<int> tanuloCsoportIdArray)
{
var dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.Tanulo().GetBesorolasTobbesModTanuloValidationItems(tanuloCsoportIdArray));
var result = new List<BesorolasTobbesModTanuloValidationItemCo>();
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<TanuloAdatlapCache>();
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<TanuloAdatlapCache>();
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<BankszamlaTulajdonosTipusEnum>(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<BankszamlaTulajdonosTipusEnum>(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<string>("Nev");
var szulido = row[0].Field<DateTime>("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<int>("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<int> 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<int> 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<string>();
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<IFelhasznaloBelepes> ?? 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<string>(0)?.ToString();
tanuloiAlapadatokDataRow["AnyjaNeve"] = ds.Tables[tableAlapadatok].Rows[0].Field<string>(1)?.ToString();
var szuletesiHely = ds.Tables[tableAlapadatok].Rows[0].Field<string>(4)?.ToString();
tanuloiAlapadatokDataRow["SzuletesiHely"] = !string.IsNullOrWhiteSpace(szuletesiHely) ? szuletesiHely : "-";
var szuletesiIdo = ds.Tables[tableAlapadatok].Rows[0].Field<DateTime?>(5).ToShortDateString();
tanuloiAlapadatokDataRow["SzuletesiIdo"] = !string.IsNullOrWhiteSpace(szuletesiIdo) ? szuletesiIdo : "-";
var cimList = ds.Tables[tableCimek].AsEnumerable().Select(x => x[0].ToString()).ToList();
var tempCimString = string.Join(",<br />", cimList);
tanuloiAlapadatokDataRow["CimText"] = !string.IsNullOrWhiteSpace(tempCimString) ? tempCimString : "-";
var emailCimList = ds.Tables[tableEmailCim].Rows.Cast<DataRow>().Select(x => x["EmailCim"].ToString()).ToList();
var tempEmailCimString = string.Join("<br />", emailCimList);
tanuloiAlapadatokDataRow["EmailCim"] = !string.IsNullOrWhiteSpace(tempEmailCimString) ? tempEmailCimString : "-";
var telefonszamList = ds.Tables[tableTelefonSzam].Rows.Cast<DataRow>().Select(x => x["Telefonszam"].ToString()).ToList();
var tempTelefonszamString = string.Join("<br />", 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<string>(2)?.ToString();
tanuloiAlapadatokDataRow["Torzslapszam"] = !string.IsNullOrWhiteSpace(torzslapszam) ? torzslapszam : "-";
var naplosorszam = ds.Tables[0].Rows[0].Field<int?>(3)?.ToString();
tanuloiAlapadatokDataRow["Naplosorszam"] = !string.IsNullOrWhiteSpace(naplosorszam) ? naplosorszam : "-";
var beirasiNaploSorszam = ds.Tables[0].Rows[0].Field<string>(6)?.ToString();
tanuloiAlapadatokDataRow["BeirasiNaploSorszam"] = !string.IsNullOrWhiteSpace(beirasiNaploSorszam) ? beirasiNaploSorszam : "-";
var evfolyam = ds.Tables[0].Rows[0].Field<int?>(7);
tanuloiAlapadatokDataRow["Evfolyam"] = evfolyam.HasValue ? evfolyam.GetDisplayName<EvfolyamTipusEnum>(TanevId) : "-";
var tanugyiAdatokID = ds.Tables[0].Rows[0].Field<int?>(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<DataRow>().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<DataRow>().Any(x => x["TorvenyesKepviselo"].ToString() == "T"))
{
if (row.Field<string>("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<string>("GondviseloNeve");
var utolsoBelepes = row.Field<DateTime?>("UtolsoBelepes");
tanuloiGondviseloAdatokDataRow["UtolsoBelepes"] = utolsoBelepes.HasValue ? utolsoBelepes.ToShortDateString() : "-";
var utolsoBelepesMobil = row.Field<DateTime?>("UtolsoBelepesMobil");
tanuloiGondviseloAdatokDataRow["UtolsoBelepesMobil"] = utolsoBelepesMobil.HasValue ? utolsoBelepesMobil.ToShortDateString() : "-";
var emailCim = row.Field<string>("EmailCim");
tanuloiGondviseloAdatokDataRow["EmailCim"] = !string.IsNullOrWhiteSpace(emailCim) ? emailCim : "-";
var telefonszam = row.Field<string>("Telefonszam");
tanuloiGondviseloAdatokDataRow["Telefonszam"] = !string.IsNullOrWhiteSpace(telefonszam) ? telefonszam : "-";
var cimList = ds.Tables[1].AsEnumerable().Where(x => x.Field<int>("GondviseloId") == row.Field<int>("GondviseloId")).Select(x => x["CimText"].ToString()).ToList();
var tempCimString = string.Join(",<br />", 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<BesorolasModOsztalyGridItemCo> GetTanulokEsOsztalyokGridItemCoList(BesorolasSearchCO co)
{
var ds = GetTanulokEsOsztalyok(co);
var result = new List<BesorolasModOsztalyGridItemCo>();
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<BesorolasModOsztalyGridItemCo> GetKiirtTanulokEsOsztalyokGridItemCoList(BesorolasSearchCO co)
{
var ds = GetKiirtTanulokEsOsztalyok(co);
var result = new List<BesorolasModOsztalyGridItemCo>();
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<BesorolasModCsoportGridItemCo> GetTanulokEsCsoportokGridItemCoList(BesorolasSearchCO co)
{
var ds = GetTanulokEsCsoportok(co);
var result = new List<BesorolasModCsoportGridItemCo>();
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<BesorolasModCsoportGridItemCo> GetKiirtTanulokEsCsoportokGridItemCoList(BesorolasSearchCO co)
{
var ds = GetKiirtTanulokEsCsoportok(co);
var result = new List<BesorolasModCsoportGridItemCo>();
foreach (DataRow dataRow in ds.Tables[0].Rows)
{
var item = new BesorolasModCsoportGridItemCo(dataRow);
result.Add(item);
}
return result;
}
public List<TanuloItemCo> GetTanuloCoList()
{
var dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.Tanulo().GetTanuloDataSet(TanevId));
var tanuloItemCoList = new List<TanuloItemCo>();
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<KirTanulo> 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<int> { 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<IEugyintezesJob>((a) => a.TanuloOsztalyBesorolasStatuszValtozas(null, config.BaseUrl, config.ApiKey, intezmenyAzonosito, jsonData));
}
public string GetValidationTextByTanuloIds(List<int> 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<string> 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<int> 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<string>("Nev"),
RokonsagFoka = x.Field<int>("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<int>("CimTipus") == (int)CimTipusEnum.allando_lakcim);
return letezikAllandoLakcim;
}
public List<int> GondviselokAlapertelmezettCimmel(int tanuloId)
{
var gondviseloCimek = GetGondviseloCimek(tanuloId);
var letezikAllandoLakcim = gondviseloCimek.Tables[0].AsEnumerable().Where(r => r.Field<bool>("Alapertelmezett_BOOL")).Select(r => r.Field<int>("GondviseloId")).ToList();
return letezikAllandoLakcim;
}
public bool HasGondviseloAlapertelmezettCim(int gondviseloId)
{
var gondviseloCimek = GetGondviseloCimekByGondviselo(gondviseloId);
var letezikAlapertelmezettLakcim = gondviseloCimek.Tables[0].AsEnumerable().Any(r => r.Field<bool>("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<bool>("Alapertelmezett_BOOL") && r.Field<int>("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<int>() { 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<int>("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<int>("TantargyId") == tantargyId);
var tantargyNev = tantargyMulasztasAdatList.First(x => x.Field<int>("TantargyId") == tantargyId).Field<string>("TantargyNev");
var kesesList = tantargyMulasztasAdatList.Where(x => x.Field<int>("Mulasztastipusa") == (int)MulasztasTipusEnum.keses).ToList();
var hianyzasList = tantargyMulasztasAdatList.Where(x => x.Field<int>("Mulasztastipusa") != (int)MulasztasTipusEnum.keses && x.Field<int>("Mulasztastipusa") != (int)MulasztasTipusEnum.jelenlet).ToList();
AddDataRowToDataTable(tantargyNev, kesesList, hianyzasList, mulasztasDataTable);
}
mulasztasDataSet.Tables.Add(mulasztasDataTable);
}
return mulasztasDataSet;
}
private void AddDataRowToDataTable(string tantargyNev, List<DataRow> kesesList, List<DataRow> hianyzasList, DataTable mulasztasDataTable)
{
var igazoltKesesList = kesesList.Where(x => x.Field<string>("Igazolt") == "T").ToList();
var igazolatlanKesesList = kesesList.Where(x => x.Field<string>("Igazolt") == "F").ToList();
var igazolandoKesesList = kesesList.Where(x => string.IsNullOrWhiteSpace(x.Field<string>("Igazolt"))).ToList();
var igazoltHianyzasList = hianyzasList.Where(x => x.Field<string>("Igazolt") == "T").ToList();
var igazolatlanHianyzasList = hianyzasList.Where(x => x.Field<string>("Igazolt") == "F").ToList();
var igazolandoHianyzasList = hianyzasList.Where(x => string.IsNullOrWhiteSpace(x.Field<string>("Igazolt"))).ToList();
DataRow row;
row = mulasztasDataTable.NewRow();
row["Tantargyak"] = tantargyNev;
row["IgazolasraVaroKeses"] = $"{igazolandoKesesList.Count} ({igazolandoKesesList.Sum(x => x.Field<int>("KesesPercben"))})";
row["IgazolasraVaroHianyzas"] = $"{igazolandoHianyzasList.Count}";
row["IgazoltKeses"] = $"{igazoltKesesList.Count} ({igazoltKesesList.Sum(x => x.Field<int>("KesesPercben"))})";
row["IgazoltHianyzas"] = $"{igazoltHianyzasList.Count}";
row["IgazolatlanKeses"] = $"{igazolatlanKesesList.Count} ({igazolatlanKesesList.Sum(x => x.Field<int>("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<int> 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<int>("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<DateTime>("Datum") >= vizsgaltIdoszakKezdete) && (x.Field<DateTime>("Datum") <= vizsgaltIdoszakVege) && (x.Field<int>("MulasztasTipusa") == (int)MulasztasTipusEnum.hianyzas) && (!x.Field<bool?>("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<int> 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<int> { 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<string> GetNemJogosultsagOkaList<T>(int? nemJogosultOka) where T : Enum
{
var ret = new List<string>();
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<string>("TanuloNeve")) || string.IsNullOrWhiteSpace(row.Field<string>("AnyjaNeve")) || string.IsNullOrWhiteSpace(row.Field<string>("SzuletesiHely")) ||
!row.Field<DateTime?>("SzuletesiIdo").HasValue || string.IsNullOrWhiteSpace(row.Field<string>("OktatasiAzonosito")) || string.IsNullOrWhiteSpace(row.Field<string>("Osztaly")) ||
!row.Field<int?>("Evfolyam").HasValue)
{
nemRendelkezikOsztondijAlapAdattal++;
}
if (row.Field<bool?>("IsJogosult_BOOL").HasValue && row.Field<bool?>("IsJogosult_BOOL").Value &&
(string.IsNullOrWhiteSpace(row.Field<string>("Bankszamlaszam")) || !row.Field<int?>("BankszamlaTulajdonosa").HasValue || string.IsNullOrWhiteSpace(row.Field<string>("BankszamlaTulajdonosNeve")) ||
!row.Field<int?>("OsztondijOsszege").HasValue || (row.Field<int?>("OsztondijOsszege").HasValue && row.Field<int?>("OsztondijOsszege").Value <= 0) || string.IsNullOrWhiteSpace(row.Field<string>("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<int>();
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<int>("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<int> osztalyai, List<int> c) GetTanuloElozoEvesTanuloEsOsztalyCsoportjai(int tanuloId, int keresettEv, List<int> 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<DateTime>("UtolsoNap");
var ocsDal = h.OsztalyCsoport();
var ocsDS = ocsDal.GetOsztalyCsoportok(keresettEv, null, false, isFromSzervezet: false, null, new List<int> { keresettEvTanuloId.Value });
var forrasSorok = (kiveveFeladatKategotiak != null) ? ocsDS.Tables[0].AsEnumerable().Where(x => !kiveveFeladatKategotiak.Contains(x.Field<int>("FeladatKategoriaId"))) : ocsDS.Tables[0].AsEnumerable();
var osztalyok = forrasSorok.Where(x => !x.Field<bool>("IsCsoport_BOOL")).Select(x => x.Field<int>("OsztalyCsoportId")).ToList();
var csoportok = forrasSorok.Where(x => x.Field<bool>("IsCsoport_BOOL")).Select(x => x.Field<int>("OsztalyCsoportId")).ToList();
return (tanuloId: keresettEvTanuloId, osztalyai: osztalyok, csoportjai: csoportok);
});
}
public string ValidateTanuloBesorolasTobbesModositas(TanuloCsoportCO tanuloCsoportCO, List<int> 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<string>();
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<string>();
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("<br/>", messages)).Append("<br/>");
}
}
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<int?> 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<int>(), 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<int> osztalyIdList)
{
if (osztalyIdList.Any())
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
return h.Tanulo().IsAllOsztalyAltalanosIskolaFeladatellatasiHely(osztalyIdList);
});
}
return false;
}
public DataSet GetTanulokOsztalyaiByTanuloIdp(IEnumerable<Guid> 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<int> tanuloIds)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
return h.Tanulo().GetTanulokEmailNelkulJelszoResethez(TanevId, tanuloIds).Tables?[0].Rows.Count ?? 0;
});
}
private List<TanuloItemCo> GetTanulokEmailNelkulJelszoResethez(List<int> tanuloIds)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var tanuloItemCoList = new List<TanuloItemCo>();
var tanulok = h.Tanulo().GetTanulokEmailNelkulJelszoResethez(TanevId, tanuloIds).Tables[0];
tanuloItemCoList.AddRange(tanulok.AsEnumerable().Select(x => new TanuloItemCo()
{
FelhasznaloNyomtatasiNev = SDAConvert.ToStringForExcelCell(x.Field<string>("C_NYOMTATASINEV")),
FelhasznaloOktatasiAzonosito = SDAConvert.ToStringForExcelCell(x.Field<string>("C_OKTATASIAZONOSITO")),
EmailCimTipusNev = EmailTipusEnum.Hivatalos.GetDisplayName(TanevId),
IsAlapertelmezettEmailCim = IgenNemEnum.Igen.GetDisplayName(TanevId),
}));
return tanuloItemCoList;
});
}
public byte[] GetTanulokEmailNelkulJelszoResethezXlsx(List<int> tanuloIds)
{
var coList = GetTanulokEmailNelkulJelszoResethez(tanuloIds);
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<TanuloItemCo>(TanuloItemCo.TanulokElerhetosegiAdataikTemplateExportAttributeId, null);
return SimpleExportLogic.GetExport(ImportExportTanulokElerhetosegiAdataikResource.ImportDefaultSheetName, simpleExportColumnCos, coList, TanevId).ToArray();
}
public List<OsztalyTanuloiGondviselokGridItemCo> GetOsztalyTanuloiGondviselokCoList(OsztalyTanuloiGondviselokSearchCo searchCo, bool isSzuperOsztalyfonok, bool isEvfolyamfelelos)
{
var result = new List<OsztalyTanuloiGondviselokGridItemCo>();
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<int> 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<ExcelExportItem> { 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<TanuloJogviszonyAdatItemCo> GetTanuloJogviszonyAdatokCoList(TanuloJogviszonyAdatokSearchCO searchCo)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var result = new List<TanuloJogviszonyAdatItemCo>();
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<Tuple<int, string>> GetOraTanuloi(int orarendiOraId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var oraTanuloiDataSet = h.OrarendiOra().GetOraTanuloi(orarendiOraId);
var tanulok = new List<Tuple<int, string>>();
if (oraTanuloiDataSet.Tables.Count > 0 && oraTanuloiDataSet.Tables[0].Rows.Count > 0)
{
tanulok = oraTanuloiDataSet.Tables[0].Rows.Cast<DataRow>().Select(dataRow =>
new Tuple<int, string>(dataRow.Field<int>("TanuloId"), dataRow.Field<string>("TanuloNev"))).ToList();
}
return tanulok;
});
}
public (List<string> szervezetUtkozesTanuloNevek, List<string> szakmaUtkozesTanuloNevek, List<string> szakmairanyUtkozesTanuloNevek) GetTanuloSzervezetSzakmaUtkozes(
List<int> tanuloIds, int? kovTanevID, bool isSelectedTanev20_21OrLater, bool isSelectedTanev21_22OrLater,
int? tanuloSzervezetId, int? szakmaTipusId, int? szakmairanyTipusId, TanuloAdatCO regiTanuloiAdatokCo = null)
{
var szervezetUtkozesTanuloNevek = new List<string>();
var szakmaUtkozesTanuloNevek = new List<string>();
var szakmairanyUtkozesTanuloNevek = new List<string>();
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<SzakkepzesiMunkaszerzodesItemCo> 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<SzakkepzesiMunkaszerzodesItemCo>();
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] = "";
}
}
}
}
}