7685 lines
376 KiB
C#
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] = "";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|