2008 lines
95 KiB
C#
2008 lines
95 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.Classes.ComboBox;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
|
using Kreta.BusinessLogic.Logic.TanuloErtekeles;
|
|
using Kreta.BusinessLogic.Utils;
|
|
using Kreta.Client.Leltar;
|
|
using Kreta.Client.Leltar.Request;
|
|
using Kreta.Core;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.Core.Enum;
|
|
using Kreta.Core.Exceptions;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Resources;
|
|
using SDA.DataProvider;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class TanarHelper : LogicBase
|
|
{
|
|
public TanarHelper(IConnectionType connectionType) : base(connectionType) { }
|
|
|
|
public bool AddOrUpdateTeacher(ILeltarClient leltarClient, TanarAdatCO data, bool update, bool isSzirIntezmeny, bool isActivTanev, bool? isKlebelsbergKozpontOrNSZFH = null, int alkalmazottId = -1, bool kellFollowUp = true, bool isFromSzervezet = false, bool isDualis = false)
|
|
{
|
|
var isLeltarSyncSuccess = true;
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
try
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
var emailDal = h.Email();
|
|
var felhasznaloBelepesDal = h.FelhasznaloBelepes();
|
|
var szerepkorDal = h.Szerepkor();
|
|
var cimDal = h.Cim();
|
|
var telefonDal = h.Telefon();
|
|
var tanarDal = h.TanarDal();
|
|
var feladatellatasiHelyDal = h.FeladatEllatasiHelyDal();
|
|
var munkaugyiAdatDal = h.AlkalmazottMunkaugyiAdatokDal();
|
|
var felhasznaloDal = h.Felhasznalo();
|
|
IAlkalmazott alkalmazott = null;
|
|
if (update)
|
|
{
|
|
alkalmazott = alkalmazottDal.Get(alkalmazottId);
|
|
}
|
|
else
|
|
{
|
|
alkalmazott = alkalmazottDal.Get();
|
|
}
|
|
|
|
alkalmazott.OktatasiAzonosito = data.OktatasiAzonosito;
|
|
alkalmazott.IsOktAzonNelkul = data.IsOktatasiAzonositoNelkul;
|
|
alkalmazott.Neme = (int)data.Nem;
|
|
|
|
alkalmazott.NevSorrend = false;
|
|
alkalmazott.Elotag = Extensions.NameExtensions.CleanElotag(data.Elotag);
|
|
alkalmazott.Vezeteknev = data.MunkavallaloCsaladiNev;
|
|
alkalmazott.Utonev = data.MunkavallaloUtonev;
|
|
alkalmazott.NyomtatasiNev = Extensions.NameExtensions.GetNevSorrendben("F", alkalmazott.Elotag, alkalmazott.Vezeteknev, alkalmazott.Utonev);
|
|
alkalmazott.KeresesiNev = CommonUtilsDal.KopaszNev(alkalmazott.NyomtatasiNev);
|
|
|
|
alkalmazott.SzuletesiNevSorrend = data.SzuletesiNevSorrend;
|
|
alkalmazott.SzuletesiNevElotag = Extensions.NameExtensions.CleanElotag(data.SzuletesiNevElotag);
|
|
alkalmazott.SzuletesiVezeteknev = !data.SzuletesiNevSorrend ? data.SzuletesiCsaladiNev.ReplaceMultipleSpacesAndTrim() : data.SzuletesiUtonev.ReplaceMultipleSpacesAndTrim();
|
|
alkalmazott.SzuletesiUtonev = !data.SzuletesiNevSorrend ? data.SzuletesiUtonev.ReplaceMultipleSpacesAndTrim() : data.SzuletesiCsaladiNev.ReplaceMultipleSpacesAndTrim();
|
|
alkalmazott.SzuletesiNev = Extensions.NameExtensions.GetNevSorrendben("F", alkalmazott.SzuletesiNevElotag, alkalmazott.SzuletesiVezeteknev, alkalmazott.SzuletesiUtonev);
|
|
|
|
alkalmazott.AnyjaNeveSorrend = data.AnyjaNeveSorrend;
|
|
alkalmazott.AnyjaNeveElotag = Extensions.NameExtensions.CleanElotag(data.AnyjaNeveElotag);
|
|
alkalmazott.AnyjaVezetekneve = !data.AnyjaNeveSorrend ? data.AnyjaCsaladiNeve.ReplaceMultipleSpacesAndTrim() : data.AnyjaUtoneve.ReplaceMultipleSpacesAndTrim();
|
|
alkalmazott.AnyjaUtoneve = !data.AnyjaNeveSorrend ? data.AnyjaUtoneve.ReplaceMultipleSpacesAndTrim() : data.AnyjaCsaladiNeve.ReplaceMultipleSpacesAndTrim();
|
|
alkalmazott.AnyjaNeve = Extensions.NameExtensions.GetNevSorrendben("F", alkalmazott.AnyjaNeveElotag, alkalmazott.AnyjaVezetekneve, alkalmazott.AnyjaUtoneve);
|
|
|
|
alkalmazott.SzuletesiDatum = data.SzuletesiIdo;
|
|
alkalmazott.SzuletesiHely = data.SzuletesiHely;
|
|
alkalmazott.IgazolvanySzam = data.IgazolvanySzam;
|
|
alkalmazott.IgazolvanyTipusa = data.IgazolvanyTipus.HasValue ? (int)data.IgazolvanyTipus : (int)IgazolvanyTipusEnum.na;
|
|
alkalmazott.Allampolgarsaga = data.Allampolgarsag ?? (int)AllampolgarsagEnum.magyar;
|
|
alkalmazott.Allampolgarsaga2 = data.Allampolgarsag2;
|
|
alkalmazott.SzuletesiOrszag = data.SzuletesiOrszag ?? (int)OrszagTipusEnum.Magyarorszag;
|
|
alkalmazott.NyilvantartasKezdete = data.AlkalmazasKezdete ?? DateTime.Now;
|
|
alkalmazott.Foallas = data.Foallasu;
|
|
alkalmazott.Szakvizsga = data.Szakvizsga;
|
|
alkalmazott.SzakertoiVizsgaelnoki = data.SzakertoiVagyVizsgaelnokiTevekenysegu;
|
|
alkalmazott.Tovabbkepzes = data.SzakmaiTovabbkepzes;
|
|
alkalmazott.Diakolimpia = data.DiakolimpiaiJog;
|
|
alkalmazott.KozossegiSzolgalatKezelo = data.KozossegiSzolgalatKezelo;
|
|
alkalmazott.LepKezelo = data.LEPModulKezelo;
|
|
alkalmazott.AdoazonositoJel = data.AdoazonositoJel;
|
|
alkalmazott.TAJSzam = data.TajSzam;
|
|
alkalmazott.Megjegyzes = data.Megjegyzes;
|
|
alkalmazott.IsKuldhetoPedMinositesSzRnek = data.IsKuldhetoPedMinositesSzRnek;
|
|
//alkalmazott.SZTSZKod = data.SZTSZKod; // Központi tölti!!!
|
|
alkalmazott.AllandoHelyettesitesre = data.AllandoHelyettesitesre;
|
|
alkalmazott.IsHrKezelo = data.IsHrKezelo;
|
|
alkalmazott.IsSzakOktatasertFelelos = data.IsSzakiranyuOktatasertFelelos;
|
|
alkalmazott.IsDualisKepzohelyiOktato = data.IsDualisKepzohelyiOktato;
|
|
alkalmazott.Anyanyelve = data.Anyanyelve ?? (int)AnyanyelvEnum.magyar;
|
|
alkalmazott.HasEfopEszkoz = data.HasEfopEszkoz;
|
|
|
|
var kelleFelhasznaloBelepestLetrehozni = false;
|
|
var trimmedBejelentkezesiNev = data.BelepesiNev.ReplaceMultipleSpacesAndTrim();
|
|
|
|
var connectionType = new DalHandlerConnectionType(ConnectionType, h);
|
|
var felhasznaloBelepesHelper = new FelhasznaloBelepesHelper(connectionType);
|
|
|
|
if (update)
|
|
{
|
|
alkalmazottDal.Update(alkalmazott);
|
|
|
|
if (!string.IsNullOrWhiteSpace(trimmedBejelentkezesiNev))
|
|
{
|
|
var belepes = alkalmazott.FelhasznaloBelepes.SingleOrDefault(b => !b.Torolt);
|
|
if (belepes != null && belepes.BejelentkezesiNev != trimmedBejelentkezesiNev)
|
|
{
|
|
belepes.BejelentkezesiNev = trimmedBejelentkezesiNev;
|
|
belepes.TanevId = TanevId;
|
|
felhasznaloBelepesDal.Update(belepes);
|
|
}
|
|
else if (alkalmazott.FelhasznaloBelepes.All(x => x.Torolt))
|
|
{
|
|
kelleFelhasznaloBelepestLetrehozni = !isSzirIntezmeny;
|
|
}
|
|
|
|
if (!kelleFelhasznaloBelepestLetrehozni && !string.IsNullOrWhiteSpace(data.Jelszo))
|
|
{
|
|
felhasznaloBelepesHelper.ChangeUserPassword(trimmedBejelentkezesiNev, data.Jelszo);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (!data.BetoltetlenAllashely)
|
|
{
|
|
kelleFelhasznaloBelepestLetrehozni = !isSzirIntezmeny;
|
|
}
|
|
|
|
alkalmazott.TanevId = TanevId;
|
|
alkalmazottDal.Insert(alkalmazott, kellFollowUp && !data.FollowUpolniId.HasValue);
|
|
|
|
if (isActivTanev)
|
|
{
|
|
h.Felhasznalo().UpdateProfile(alkalmazott.ID, null);
|
|
}
|
|
}
|
|
|
|
if (kelleFelhasznaloBelepestLetrehozni)
|
|
{
|
|
var alapertelmezettJelszo = string.IsNullOrWhiteSpace(data.Jelszo) ? $"{alkalmazott.SzuletesiDatum:yyyyMMdd}" : data.Jelszo;
|
|
|
|
if (!string.IsNullOrWhiteSpace(trimmedBejelentkezesiNev))
|
|
{
|
|
felhasznaloBelepesHelper.GrantLogin(alkalmazott.ID, trimmedBejelentkezesiNev, alapertelmezettJelszo);
|
|
}
|
|
}
|
|
|
|
var feluletiJogosultsagSzint = data.JogosultsagiSzint ?? new List<int>();
|
|
|
|
HandleLeltarJogosultsagSync(leltarClient, h, alkalmazott, feluletiJogosultsagSzint, ref isLeltarSyncSuccess);
|
|
|
|
szerepkorDal.RemoveAll(alkalmazott);
|
|
|
|
foreach (var jog in feluletiJogosultsagSzint)
|
|
{
|
|
var szerepkor = szerepkorDal.Get(tanarDal.GetSzerepkorId(jog, TanevId));
|
|
if (!alkalmazott.Szerepkor.Contains(szerepkor) && szerepkor.SzerepkorTipus != (int)SzerepkorTipusEnum.Ellenorzo)
|
|
{
|
|
szerepkorDal.AddAlkalmazottSzerepkor(alkalmazott, szerepkor);
|
|
}
|
|
}
|
|
|
|
// munkaügyi adatok
|
|
var munkaugyi = alkalmazott.MunkaugyiAdatok.FirstOrDefault(x => !x.Torolt);
|
|
|
|
var ujmunkaugyi = false;
|
|
var isKKOrNSZFH = isKlebelsbergKozpontOrNSZFH ?? false;
|
|
if (munkaugyi == null)
|
|
{
|
|
munkaugyi = munkaugyiAdatDal.Get();
|
|
ujmunkaugyi = true;
|
|
}
|
|
|
|
if (data.MunkaidoKedvezmenyOraszam.HasValue)
|
|
{
|
|
munkaugyi.MunkaidoKedvezmenyOraszam = data.MunkaidoKedvezmenyOraszam.Value;
|
|
}
|
|
|
|
if (!data.MunkaidoKedvezmenyOraszam.HasValue)
|
|
{
|
|
munkaugyi.MunkaidoKedvezmenyOraszam = null;
|
|
}
|
|
|
|
munkaugyi.EgyebTevekenysegekTipusId = data.EgyebTevekenysegekTipusId;
|
|
munkaugyi.IsInternetetOktCelraHasznal = data.IsInternetetOktCelraHasznal;
|
|
munkaugyi.IsInformatKepIsmRendelkezik = data.IsInformatKepIsmRendelkezik;
|
|
munkaugyi.IsIktEszkozoketLgalabb40Hasznal = data.IsIktEszkozoketLgalabb40Hasznal;
|
|
munkaugyi.Nyugdijas = data.Nyugdijas;
|
|
|
|
if (data.BesorolasiFokozat.HasValue)
|
|
{
|
|
munkaugyi.SzakertoMesterpedagogus = data.BesorolasiFokozat.Value == (int)BesorolasiFokozatTipusEnum.mesterpedagogus && data.SzakertoMesterpedagogusKutatotanar;
|
|
munkaugyi.IsSzakertoKutatotanar = data.BesorolasiFokozat.Value == (int)BesorolasiFokozatTipusEnum.kutatotanar && data.SzakertoMesterpedagogusKutatotanar;
|
|
}
|
|
else
|
|
{
|
|
munkaugyi.SzakertoMesterpedagogus = false;
|
|
munkaugyi.IsSzakertoKutatotanar = false;
|
|
}
|
|
|
|
var munkakor = false;
|
|
|
|
if (data.MunkaKor.HasValue)
|
|
{
|
|
if (data.FoglalkoztatasTipusa == (int)FoglalkoztatasTipusaEnum.Oraado && !data.TartosHelyettesites)
|
|
{
|
|
munkakor = true;
|
|
munkaugyi.PedagogusStatusza = (int)PedagogusStatuszEnum.oraado;
|
|
}
|
|
else if (!data.TartosHelyettesites)
|
|
{
|
|
munkakor = true;
|
|
}
|
|
|
|
munkaugyi.MunkakorTipusa = (int)data.MunkaKor;
|
|
}
|
|
else
|
|
{
|
|
munkaugyi.MunkakorTipusa = (int)MunkakorTipusEnum.na;
|
|
}
|
|
|
|
munkaugyi.IsVezetopedagogus = data.VezetoPedagogusVezetoOvodaPedagogus;
|
|
|
|
munkaugyi.MunkaviszonyTipusa = data.FoglalkoztatasiJogviszony ?? (int)MunkaviszonyTipusEnum.na;
|
|
if (data.AlkalmazasKezdete.HasValue && data.AlkalmazasVege.HasValue)
|
|
{
|
|
if (data.AlkalmazasKezdete <= data.AlkalmazasVege)
|
|
{
|
|
munkaugyi.AlkalmazasKezdete = data.AlkalmazasKezdete;
|
|
munkaugyi.AlkalmazasMegszunese = data.AlkalmazasVege;
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(ErrorResource.AlkalmazasKezdeteDatumNemLehetNagyobbMintAVege);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
munkaugyi.AlkalmazasKezdete = data.AlkalmazasKezdete;
|
|
munkaugyi.AlkalmazasMegszunese = data.AlkalmazasVege;
|
|
}
|
|
|
|
munkaugyi.BetoltetlenAllashely = data.BetoltetlenAllashely;
|
|
munkaugyi.IsKulsoAlkalmazott = data.IsKulsoAlkalmazott;
|
|
munkaugyi.UtazoGyogypedagogus = data.UtazoGyogypedagogus;
|
|
munkaugyi.CsokkentettMunkaidos = data.CsokkentettMunkaidos;
|
|
munkaugyi.TartosHelyettesites = data.TartosHelyettesites;
|
|
munkaugyi.FoglalkoztatasTipus = data.FoglalkoztatasTipusa;
|
|
munkaugyi.Attanito = data.Attanito;
|
|
munkaugyi.AttanitoMasIntezmenynel = data.AttanitoMasIntezmeny;
|
|
munkaugyi.IsAttanitoSzCnBelul = data.IsAttanitoSzCnBelul;
|
|
//munkaugyi.Szabadallashely = data.SzabadAllashely;
|
|
munkaugyi.TanevId = TanevId;
|
|
munkaugyi.IsOktatoiFeladatok = data.OktatoiFeladatokatIsEllat;
|
|
munkaugyi.IsOsztalyfonok = data.IsOsztalyfonok;
|
|
munkaugyi.DualisKepzohelyNeve = data.DualisKepzohelyNeve;
|
|
munkaugyi.DualisKepzohelyAdoszama = data.DualisKepzohelyAdoszama;
|
|
if (data.SzervezetId.HasValue)
|
|
{
|
|
munkaugyi.SzervezetId = data.SzervezetId.Value;
|
|
}
|
|
munkaugyi.IsApaczaiMentor = data.IsApaczaiMentor;
|
|
|
|
if (data.TartosHelyettesites)
|
|
{
|
|
munkaugyi.PedagogusStatusza = (int)PedagogusStatuszEnum.tartosan_tavollevo;
|
|
}
|
|
|
|
munkaugyi.MunkaidoKedvezmenyOka = data.MunkaidoKedvezmenyOka;
|
|
|
|
if (data.BesorolasiFokozat.HasValue)
|
|
{
|
|
munkaugyi.BesorolasiFokozat = data.BesorolasiFokozat.Value;
|
|
}
|
|
else
|
|
{
|
|
munkaugyi.BesorolasiFokozat = null;
|
|
}
|
|
|
|
if (data.VezetoiOraszamOka.HasValue)
|
|
{
|
|
munkaugyi.VezetoiOraszamok = data.VezetoiOraszamOka.Value;
|
|
}
|
|
|
|
if (data.FoglalkoztatasTipusa.HasValue && data.VezetoiOraszamOka.HasValue && (isKKOrNSZFH && (data.FoglalkoztatasTipusa.Value == (int)FoglalkoztatasTipusaEnum.Oraado || data.VezetoiOraszamOka.Value != (int)VezetoiOraszamokTipusEnum.Nincs)) || !isKKOrNSZFH)
|
|
{
|
|
if (data.Oraszam.HasValue)
|
|
{
|
|
munkaugyi.KotelezoOraszam = data.Oraszam.Value;
|
|
|
|
if (!data.BetoltetlenAllashely)
|
|
{
|
|
if (data.Oraszam.Value >= 22 && !munkakor && !data.TartosHelyettesites && (data.BesorolasiFokozat.HasValue && data.BesorolasiFokozat.Value != (int)BesorolasiFokozatTipusEnum.mesterpedagogus))
|
|
{
|
|
munkaugyi.PedagogusStatusza = (int)PedagogusStatuszEnum.teljes_munkaidos;
|
|
}
|
|
else if (data.Oraszam.Value < 22 && !munkakor && !data.TartosHelyettesites)
|
|
{
|
|
munkaugyi.PedagogusStatusza = (int)PedagogusStatuszEnum.reszmunkaidos;
|
|
}
|
|
}
|
|
}
|
|
else if (!data.IsDualisKepzohelyiOktato)
|
|
{
|
|
throw new BlException(ErrorResource.AKotelezoOraszamMezoMegadasaKotelezoAMunkaugyiAdatokTabFulon);
|
|
}
|
|
}
|
|
|
|
if (data.FoglalkoztatasTipusa.HasValue && isKKOrNSZFH && data.FoglalkoztatasTipusa.Value == (int)FoglalkoztatasTipusaEnum.Reszmunkaidos)
|
|
{
|
|
if (data.ReszmunkaidosSzazalek.HasValue)
|
|
{
|
|
munkaugyi.ReszmunkaidoSzazalek = data.ReszmunkaidosSzazalek;
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(ErrorResource.AReszmunkaidoSzazalekMezoMegadasaKotelezoAMunkaugyiAdatokTabFulon);
|
|
}
|
|
}
|
|
|
|
// NOTE: Ha van kiválasztva következő tanéves felhely, akkor azzal végezzük el először a mentést, hogy az followup-olódjon
|
|
// a következő tanéves felhasználóhoz
|
|
if (data.FeladatellatasiHelyKovTanev.HasValue)
|
|
{
|
|
if (data.FeladatellatasiHelyKovTanev != munkaugyi.FeladatEllatasiHelyId)
|
|
{
|
|
var feladatellatasiHely = feladatellatasiHelyDal.Get(data.FeladatellatasiHelyKovTanev.Value);
|
|
munkaugyi.FeladatEllatasiHely = feladatellatasiHely;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (data.FeladatellatasiHely.IsEntityId() && data.FeladatellatasiHely != munkaugyi.FeladatEllatasiHelyId)
|
|
{
|
|
var feladatellatasiHely = feladatellatasiHelyDal.Get(data.FeladatellatasiHely.Value);
|
|
munkaugyi.FeladatEllatasiHely = feladatellatasiHely;
|
|
}
|
|
}
|
|
|
|
if (data.FoglalkoztatasTipusa.HasValue
|
|
&& data.VezetoiOraszamOka.HasValue
|
|
&& data.FoglalkoztatasTipusa.Value != (int)FoglalkoztatasTipusaEnum.Oraado
|
|
&& data.VezetoiOraszamOka.Value == (int)VezetoiOraszamokTipusEnum.Nincs)
|
|
{
|
|
munkaugyi.KotelezoOraszam = new SystemSettingsHelper(connectionType).GetSystemSettingValue<double>(RendszerBeallitasTipusEnum.Egy_statuszra_juto_kotelezo_oraszam);
|
|
}
|
|
if (ujmunkaugyi)
|
|
{
|
|
munkaugyi.Alkalmazott = alkalmazott;
|
|
munkaugyiAdatDal.Insert(munkaugyi);
|
|
}
|
|
else
|
|
{
|
|
munkaugyiAdatDal.FullUpdate(munkaugyi);
|
|
}
|
|
|
|
// Módosításnál az előző értéket nem törölte
|
|
|
|
if (!update) //Csak insert esetén fusson le!
|
|
{
|
|
if (!isDualis)
|
|
{
|
|
var isUpdateCim = true;
|
|
var cim = alkalmazott.Cim.FirstOrDefault(x => x.CimTipusa == (int)CimTipusEnum.allando_lakcim && !x.Torolt);
|
|
if (cim == null)
|
|
{
|
|
cim = cimDal.Get();
|
|
isUpdateCim = false;
|
|
cim.FelhasznaloId = alkalmazott.ID;
|
|
}
|
|
|
|
cim.Ajto = data.Ajto;
|
|
cim.CimTipusa = (int)CimTipusEnum.allando_lakcim;
|
|
cim.Emelet = data.Emelet;
|
|
cim.Hazszam = data.Hazszam;
|
|
cim.IranyitoSzam = data.Iranyitoszam;
|
|
cim.Kozterulet = data.KozteruletNeve;
|
|
cim.KozteruletJellegeNev = data.KozteruletJellegeNev ?? KozteruletJellegEnum.na.GetDisplayName(TanevId);
|
|
cim.Orszag = data.Orszag ?? (int)OrszagTipusEnum.Magyarorszag;
|
|
cim.Varos = data.HelysegNeve;
|
|
cim.TanevId = TanevId;
|
|
cim.Alapertelmezett = data.AlapertelmezettCim;
|
|
|
|
if (isUpdateCim)
|
|
{
|
|
cimDal.Update(cim);
|
|
}
|
|
else
|
|
{
|
|
cimDal.Insert(cim);
|
|
cimDal.AddFelhasznaloCim(alkalmazott, cim);
|
|
}
|
|
}
|
|
|
|
if (!alkalmazott.Email.Any(x => !x.Torolt && !x.IsPublic) && data.Email != null)
|
|
{
|
|
var email = emailDal.Get();
|
|
email.EmailCim = data.Email;
|
|
email.EmailTipusa = data.EmailTipus ?? (int)EmailTipusEnum.Hivatalos;
|
|
email.TanevId = TanevId;
|
|
email.Alapertelmezett = true;
|
|
email.IsPublic = false;
|
|
emailDal.Insert(email);
|
|
emailDal.AddFelhasznaloEmail(alkalmazott, email);
|
|
}
|
|
else if (alkalmazott.Email.Any(x => x.Alapertelmezett && !x.Torolt && !x.IsPublic) && update)
|
|
{
|
|
|
|
var email = alkalmazott.Email.First(x => x.Alapertelmezett && !x.Torolt && !x.IsPublic);
|
|
|
|
if (!email.EmailCim.Equals(data.Email))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(data.Email))
|
|
{
|
|
email.EmailCim = data.Email;
|
|
emailDal.Update(email);
|
|
}
|
|
}
|
|
}
|
|
|
|
var needDeleteAlapertelmezettTelefon = false;
|
|
if (!string.IsNullOrWhiteSpace(data.Telefon) && !update)
|
|
{
|
|
var telefon = telefonDal.Get();
|
|
telefon.Alapertelmezett = true;
|
|
telefon.FelhasznaloId = alkalmazott.ID;
|
|
telefon.TelefonSzam = data.Telefon;
|
|
telefon.TelefonTipusa = data.TelefonTipus.Value;
|
|
telefon.TanevId = TanevId;
|
|
telefon.IsPublic = false;
|
|
telefonDal.Insert(telefon);
|
|
telefonDal.AddFelhasznaloTelefon(alkalmazott, telefon);
|
|
}
|
|
else if (string.IsNullOrWhiteSpace(data.Telefon) && update)
|
|
{
|
|
var telefon = alkalmazott.Telefon.FirstOrDefault(x => x.Alapertelmezett && !x.Torolt && !x.IsPublic);
|
|
|
|
if (telefon != null && telefon.ID > 0)
|
|
{
|
|
telefonDal.Delete(telefon.ID);
|
|
}
|
|
|
|
var telefon2 = alkalmazott.Telefon.FirstOrDefault(x => !x.Alapertelmezett && !x.Torolt && !x.IsPublic);
|
|
|
|
if (telefon2 != null && !string.IsNullOrWhiteSpace(data.Telefon2))
|
|
{
|
|
needDeleteAlapertelmezettTelefon = true;
|
|
telefon2.TelefonSzam = data.Telefon2;
|
|
telefon2.TelefonTipusa = data.TelefonTipus2.Value;
|
|
telefon2.Alapertelmezett = true;
|
|
telefonDal.Update(telefon2);
|
|
}
|
|
}
|
|
else if (alkalmazott.Telefon.Any(x => x.Alapertelmezett && !x.Torolt && !x.IsPublic) && update)
|
|
{
|
|
var telefon = alkalmazott.Telefon.First(x => x.Alapertelmezett && !x.Torolt && !x.IsPublic);
|
|
telefon.TelefonSzam = data.Telefon;
|
|
telefon.TelefonTipusa = data.TelefonTipus.Value;
|
|
telefonDal.Update(telefon);
|
|
}
|
|
else if (!alkalmazott.Telefon.Any(x => x.Alapertelmezett && !x.Torolt && !x.IsPublic) && !string.IsNullOrWhiteSpace(data.Telefon))
|
|
{
|
|
var telefon = telefonDal.Get();
|
|
telefon.Alapertelmezett = true;
|
|
telefon.FelhasznaloId = alkalmazott.ID;
|
|
telefon.TelefonSzam = data.Telefon;
|
|
telefon.TelefonTipusa = data.TelefonTipus.Value;
|
|
telefon.TanevId = TanevId;
|
|
telefon.IsPublic = false;
|
|
telefonDal.Insert(telefon);
|
|
telefonDal.AddFelhasznaloTelefon(alkalmazott, telefon);
|
|
}
|
|
|
|
if (!needDeleteAlapertelmezettTelefon)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(data.Telefon2) && !update)
|
|
{
|
|
var telefon2 = telefonDal.Get();
|
|
telefon2.Alapertelmezett = false;
|
|
telefon2.FelhasznaloId = alkalmazott.ID;
|
|
telefon2.TelefonSzam = data.Telefon2;
|
|
telefon2.TelefonTipusa = data.TelefonTipus2.Value;
|
|
telefon2.TanevId = TanevId;
|
|
telefon2.IsPublic = false;
|
|
telefonDal.Insert(telefon2);
|
|
telefonDal.AddFelhasznaloTelefon(alkalmazott, telefon2);
|
|
}
|
|
else if (string.IsNullOrWhiteSpace(data.Telefon2) && update)
|
|
{
|
|
var telefon = alkalmazott.Telefon.FirstOrDefault(x => !x.Alapertelmezett && !x.Torolt && !x.IsPublic);
|
|
|
|
if (telefon != null && telefon.ID > 0)
|
|
{
|
|
telefonDal.Delete(telefon.ID);
|
|
}
|
|
|
|
}
|
|
else if (alkalmazott.Telefon.Any(x => !x.Alapertelmezett && !x.Torolt && !x.IsPublic) && update)
|
|
{
|
|
var telefon = alkalmazott.Telefon.First(x => !x.Alapertelmezett && !x.Torolt && !x.IsPublic);
|
|
telefon.TelefonSzam = data.Telefon2;
|
|
telefon.TelefonTipusa = data.TelefonTipus2.Value;
|
|
telefonDal.Update(telefon);
|
|
}
|
|
else if (!alkalmazott.Telefon.Any(x => !x.Alapertelmezett && !x.Torolt && !x.IsPublic) && !string.IsNullOrWhiteSpace(data.Telefon2))
|
|
{
|
|
var telefon2 = telefonDal.Get();
|
|
|
|
telefon2.Alapertelmezett = !alkalmazott.Telefon.Any(x => x.Alapertelmezett && !x.Torolt && !x.IsPublic);
|
|
telefon2.FelhasznaloId = alkalmazott.ID;
|
|
telefon2.TelefonSzam = data.Telefon2;
|
|
telefon2.TelefonTipusa = data.TelefonTipus2.Value;
|
|
telefon2.TanevId = TanevId;
|
|
telefon2.IsPublic = false;
|
|
telefonDal.Insert(telefon2);
|
|
telefonDal.AddFelhasznaloTelefon(alkalmazott, telefon2);
|
|
}
|
|
}
|
|
}
|
|
|
|
alkalmazottDal.Update(alkalmazott, !data.FollowUpolniId.HasValue);
|
|
|
|
// NOTE: ha van következő tanéves felhely be van állítva, akkor az aktív éves felhelyet visszaírjuk úgy, hogy ne followup-
|
|
// olódjon
|
|
if (data.FeladatellatasiHelyKovTanev.IsEntityId() && data.FeladatellatasiHely.IsEntityId())
|
|
{
|
|
var feladatellatasiHely = feladatellatasiHelyDal.Get(data.FeladatellatasiHely.Value);
|
|
alkalmazott = alkalmazottDal.Get(alkalmazott.ID);
|
|
alkalmazott.MunkaugyiAdatok.First(x => !x.Torolt).FeladatEllatasiHely = feladatellatasiHely;
|
|
alkalmazottDal.Update(alkalmazott, false);
|
|
}
|
|
if (data.FollowUpolniId.HasValue)
|
|
{
|
|
felhasznaloDal.OktAzon4TAlapjanFollowUp((int)Validation4TEnum.Alkalmazott, alkalmazott.ID, data.FollowUpolniId.Value);
|
|
}
|
|
|
|
// TODO: Ez KRETA2-12005 task-nak a hotfix-e.
|
|
// Ezt az egész részt refaktorizálni kell, mert akár 3-szor is update-elünk és/vagy FollowUp-olunk egy alkalmazott mentésekor.
|
|
alkalmazottDal.FollowUpById(alkalmazott.ID);
|
|
}
|
|
catch (UniqueKeyViolationException)
|
|
{
|
|
throw new UniqueKeyViolationException(ErrorResource.AMegadottOktatasiAzonositoVagyFelhasznalonevMarLetezik);
|
|
}
|
|
});
|
|
return isLeltarSyncSuccess;
|
|
}
|
|
|
|
private void HandleLeltarJogosultsagSync(ILeltarClient leltarClient, IDalHandler dalHandler, IAlkalmazott alkalmazott, List<int> feluletiJogosultsagSzint, ref bool isLeltarSyncSuccess)
|
|
{
|
|
var leltarConcernedId = (int)SzerepkorTipusEnum.LeltarConcerned;
|
|
var alkalmazottSzerepkorIds = alkalmazott.Szerepkor.Select(sz => sz.SzerepkorTipus.Value);
|
|
var isLeltarSyncNeeded = alkalmazottSzerepkorIds.Difference(feluletiJogosultsagSzint).Contains(leltarConcernedId);
|
|
if (isLeltarSyncNeeded)
|
|
{
|
|
var isLeltarSzerepkorDelete = alkalmazottSzerepkorIds.Contains(leltarConcernedId);
|
|
var request = CreateLeltarKretaUserSyncRequest(dalHandler, alkalmazott, isLeltarSzerepkorDelete);
|
|
var leltarSyncResult = leltarClient.KretaUserSync(request);
|
|
isLeltarSyncSuccess = leltarSyncResult;
|
|
|
|
// Ha nem sikerült a szinkron leltár oldalon,
|
|
if (!leltarSyncResult)
|
|
{
|
|
// és töröltük volna a jogosultságot,
|
|
if (isLeltarSzerepkorDelete)
|
|
{
|
|
// akkor hozzáadjuk a felületről érkezőekhez.
|
|
feluletiJogosultsagSzint.Add(leltarConcernedId);
|
|
}
|
|
// és felvettük volna a jogosultságot,
|
|
else
|
|
{
|
|
// akkor elvesszük a felületről érkezőekhez.
|
|
feluletiJogosultsagSzint.Remove(leltarConcernedId);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private KretaUserSyncRequest CreateLeltarKretaUserSyncRequest(IDalHandler dalHandler, IAlkalmazott alkalmazott, bool isLeltarSzerepkorDelete)
|
|
{
|
|
var roles = isLeltarSzerepkorDelete ? new string[] { } : new string[] { "LELTAR_CONCERNED" };
|
|
var intezmenyNev = dalHandler.IntezmenyDal().GetIntezmenyNevById(IntezmenyId, TanevId);
|
|
var jogosultsagotSzerkesztoSzemelyNev = dalHandler.Felhasznalo().Get(FelhasznaloId).NyomtatasiNev;
|
|
var munkaugyiAdatok = alkalmazott.MunkaugyiAdatok.Single(ma => !ma.Torolt);
|
|
var funkcioTerulet = dalHandler.FeladatEllatasiHelyDal().Get(munkaugyiAdatok.FeladatEllatasiHelyId).MukodesiHely.Funkcioterulet;
|
|
return new KretaUserSyncRequest
|
|
{
|
|
IdpEgyediAzonosito = alkalmazott.IdpEgyediAzonosito.ToString(),
|
|
Roles = roles,
|
|
LoginNev = SetLeltarRequestNaParameter(alkalmazott.FelhasznaloBelepes.SingleOrDefault(b => !b.Torolt)?.BejelentkezesiNev),
|
|
Azonosito = SetLeltarRequestNaParameter(alkalmazott.AdoazonositoJel),
|
|
MegjelenitesiNev = alkalmazott.NyomtatasiNev,
|
|
Beosztas = munkaugyiAdatok.MunkakorTipusa.Value.GetDisplayName<MunkakorTipusEnum>(TanevId),
|
|
IntezmenyNeve = intezmenyNev,
|
|
FunkcioTerulet = SetLeltarRequestNaParameter(funkcioTerulet),
|
|
SztszKod = SetLeltarRequestNaParameter(alkalmazott.SZTSZKod),
|
|
KretaRendszerAzonosito = IntezmenyAzonosito,
|
|
JogosultsagotSzerkesztoSzemelyNev = jogosultsagotSzerkesztoSzemelyNev
|
|
};
|
|
}
|
|
|
|
private string SetLeltarRequestNaParameter(string parameter)
|
|
{
|
|
const string NA = nameof(NA);
|
|
|
|
return !string.IsNullOrWhiteSpace(parameter) ? parameter : NA;
|
|
}
|
|
|
|
public IDictionary<string, string> GetTanarok(string baseText = null, bool oktatasiAzonositoval = false, bool isForMentor = false, bool isCsoportnelkuli = false, int? aktualisCsoportvezetoId = null)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
return LogicUtil.CreateDropdownContent(h.TanarDal().GetTanarokForDDL(oktatasiAzonositoval, TanevId, isForMentor, isCsoportnelkuli, aktualisCsoportvezetoId), "ID", "Nev", baseText, sort: false);
|
|
});
|
|
}
|
|
|
|
public IDictionary<string, string> GetTeachersNameList(bool kellKeremValasszon = true, bool oktatasiAzonositoval = false)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var result = LogicUtil.CreateDropdownContent(h.TanarDal().GetTeacherNames(oktatasiAzonositoval: oktatasiAzonositoval), "ID", "Nev", null, false); //Kérem válasszon...
|
|
if (!kellKeremValasszon)
|
|
{
|
|
result.Remove("");
|
|
}
|
|
|
|
return result;
|
|
});
|
|
}
|
|
|
|
public IDictionary<string, string> GetAlkalmazottNevek(bool oktatasiAzonositoval = false, bool isFromSzervezet = false, int? szervezetId = null, int? szervezetekHalmaza = null)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal();
|
|
return LogicUtil.CreateDropdownContent(dal.GetAlkalmazottNames(TanevId, IntezmenyId, oktatasiAzonositoval, isFromSzervezet, szervezetId, szervezetekHalmaza), "ID", "Nev", null, false);
|
|
});
|
|
}
|
|
|
|
public IDictionary<string, string> GetTanarNevek(string baseText = "", bool oktatasiAzonositoval = false, bool csakNaploJogkorrel = false)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal();
|
|
return LogicUtil.CreateDropdownContent(dal.GetTeacherNames(oktatasiAzonositoval: oktatasiAzonositoval, tanevId: TanevId, csakNaploJogkorrel: csakNaploJogkorrel), "ID", "Nev", baseText, false);
|
|
});
|
|
}
|
|
|
|
public IDictionary<string, string> GetTanarokByTanitottOsztaly(int osztalyId, string baseText = null, bool oktatasiAzonositoval = false)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
return LogicUtil.CreateDropdownContent(h.TanarDal().GetTanarokByTanitottOsztalyForDDL(osztalyId, TanevId, oktatasiAzonositoval), "ID", "Nev", baseText, false);
|
|
});
|
|
}
|
|
|
|
public DataSet GetTanulotTanitoTanarok(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetTanulotTanitoTanarok(id);
|
|
});
|
|
}
|
|
|
|
public List<AlkalmazottErtekelesItemCo> GetTanarErtekelesCoList(int id)
|
|
{
|
|
DataSet dataSet = GetTanarErtekeles(id);
|
|
|
|
SetOsztalyzatText(dataSet);
|
|
|
|
var result = new List<AlkalmazottErtekelesItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new AlkalmazottErtekelesItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private DataSet GetTanarErtekeles(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetTeacherRating(id);
|
|
});
|
|
}
|
|
|
|
public List<AlkalmazottMegtartottTanoraItemCo> GetMegtartottTanoraCoList(int id)
|
|
{
|
|
DataSet dataSet = GetMegtartottOrak(id);
|
|
|
|
var result = new List<AlkalmazottMegtartottTanoraItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new AlkalmazottMegtartottTanoraItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private DataSet GetMegtartottOrak(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetHeldSubject(id);
|
|
});
|
|
}
|
|
|
|
public List<AlkalmazottTanmenetItemCo> GetTanarTanmenetCoList(int id)
|
|
{
|
|
DataSet dataSet = GetTanarTanmenet(id);
|
|
|
|
var result = new List<AlkalmazottTanmenetItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new AlkalmazottTanmenetItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private DataSet GetTanarTanmenet(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetTeacherSyllabus(id);
|
|
});
|
|
}
|
|
|
|
public List<AlkalmazottOrarendiOrakItemCo> GetTeacherSubjectsHoursCoList(int id)
|
|
{
|
|
DataSet dataSet = GetTeacherSubjectsHours(id);
|
|
|
|
var result = new List<AlkalmazottOrarendiOrakItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new AlkalmazottOrarendiOrakItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private DataSet GetTeacherSubjectsHours(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetTimeTableSubjects(id);
|
|
});
|
|
}
|
|
|
|
public List<AlkalmazottFoglalkozasItemCo> GetTeacherRoutinesCoList(int id)
|
|
{
|
|
DataSet dataSet = GetTeacherRoutines(id);
|
|
|
|
var result = new List<AlkalmazottFoglalkozasItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new AlkalmazottFoglalkozasItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private DataSet GetTeacherRoutines(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetTeacherRoutines(id);
|
|
});
|
|
}
|
|
|
|
public List<AlkalmazottElerhetosegCimItemCo> GetTeacherAddressDataCoList(int id)
|
|
{
|
|
DataSet dataSet = GetTeacherAddressData(id);
|
|
|
|
var result = new List<AlkalmazottElerhetosegCimItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new AlkalmazottElerhetosegCimItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private DataSet GetTeacherAddressData(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetTeacherAddressData(id);
|
|
});
|
|
}
|
|
|
|
public List<AlkalmazottElerhetosegEmailItemCo> GetTeacherEmailsCoList(int id)
|
|
{
|
|
DataSet dataSet = GetTeacherEmails(id);
|
|
|
|
var result = new List<AlkalmazottElerhetosegEmailItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new AlkalmazottElerhetosegEmailItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private DataSet GetTeacherEmails(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetTeacherEmails(id);
|
|
});
|
|
}
|
|
|
|
public List<AlkalmazottElerhetosegTelefonItemCo> GetTeacherPhonesCoList(int id)
|
|
{
|
|
DataSet dataSet = GetTeacherPhones(id);
|
|
|
|
var result = new List<AlkalmazottElerhetosegTelefonItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new AlkalmazottElerhetosegTelefonItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private DataSet GetTeacherPhones(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetTeacherPhones(id);
|
|
});
|
|
}
|
|
|
|
private double BukasAtlag(IDalHandler h)
|
|
{
|
|
return new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h)).GetSystemSettingValue<double>(RendszerBeallitasTipusEnum.Bukas_Veszelyre_Figyelmeztetes_Hatara);
|
|
}
|
|
|
|
public DataSet GetTanarTanulok(int? foglalkozasId, int? foglalkozasTipus, bool csakBukasraAllok, int? feladatKategoriaId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetTeacherStudents(FelhasznaloId, TanevId, foglalkozasId, foglalkozasTipus, BukasAtlag(h), csakBukasraAllok, feladatKategoriaId);
|
|
});
|
|
}
|
|
|
|
public DataSet GetTanarNemTanitottTanulok(int? osztalyCsoportID)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetTeacherNonStudents(FelhasznaloId, IntezmenyId, TanevId, osztalyCsoportID);
|
|
});
|
|
}
|
|
|
|
public List<AlkalmazottPedagogusEletpalyamodellItemCo> GetPedagogusEletpalyamodellCoList(int id)
|
|
{
|
|
DataSet dataSet = GetPedagogusEletpalyaModell(id);
|
|
|
|
var result = new List<AlkalmazottPedagogusEletpalyamodellItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new AlkalmazottPedagogusEletpalyamodellItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private DataSet GetPedagogusEletpalyaModell(int tanarId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal(GridParameters);
|
|
return dal.GetPedagogusEletpalyamodell(tanarId);
|
|
});
|
|
}
|
|
|
|
public List<VegzettsegItemCo> GetVegzettsegCoLst(int tanarId)
|
|
{
|
|
var ds = Dal.CustomConnection.Run(ConnectionType, h => h.TanarDal().GetVegzettseg(tanarId, TanevId));
|
|
var result = new List<VegzettsegItemCo>();
|
|
|
|
foreach (var dataRow in ds.Tables[0].AsEnumerable())
|
|
{
|
|
result.Add(new VegzettsegItemCo(dataRow));
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public List<AlkalmazottEszkozItemCo> GetEszkozokCoList(int id)
|
|
{
|
|
DataSet dataSet = GetAlkalmazottEszkozei(id);
|
|
|
|
var result = new List<AlkalmazottEszkozItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new AlkalmazottEszkozItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private DataSet GetAlkalmazottEszkozei(int userId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Alkalmazott(GridParameters);
|
|
return dal.GetAlkalmazottEszkozei(userId, TanevId, IntezmenyId);
|
|
});
|
|
}
|
|
|
|
/// INFO @DevKornel: Mobil használja
|
|
public TanarAdatCO GetTanarAdatok(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var oTanar = h.Alkalmazott().Get(id);
|
|
|
|
var tanarCo = new TanarAdatCO
|
|
{
|
|
Id = id
|
|
};
|
|
var oCim = oTanar.Cim.FirstOrDefault(X => X.CimTipusa == (int)CimTipusEnum.allando_lakcim && !X.Torolt);
|
|
if (oCim != null)
|
|
{
|
|
tanarCo.Ajto = oCim.Ajto;
|
|
tanarCo.Emelet = oCim.Emelet;
|
|
tanarCo.Hazszam = oCim.Hazszam;
|
|
tanarCo.Iranyitoszam = oCim.IranyitoSzam;
|
|
tanarCo.KozteruletJellegeNev = oCim.KozteruletJellegeNev;
|
|
tanarCo.KozteruletNeve = oCim.Kozterulet;
|
|
tanarCo.HelysegNeve = oCim.Varos;
|
|
tanarCo.Orszag = oCim.Orszag;
|
|
tanarCo.AlapertelmezettCim = oCim.Alapertelmezett;
|
|
}
|
|
var tanarMunkaugyiAdatok = oTanar.MunkaugyiAdatok.FirstOrDefault(x => !x.Torolt);
|
|
if (tanarMunkaugyiAdatok != null)
|
|
{
|
|
tanarCo.AlkalmazasKezdete = tanarMunkaugyiAdatok.AlkalmazasKezdete;
|
|
tanarCo.AlkalmazasVege = tanarMunkaugyiAdatok.AlkalmazasMegszunese;
|
|
tanarCo.FeladatellatasiHely = tanarMunkaugyiAdatok.FeladatEllatasiHelyId;
|
|
tanarCo.FoglalkoztatasiJogviszony = tanarMunkaugyiAdatok.MunkaviszonyTipusa;
|
|
tanarCo.Oraszam = tanarMunkaugyiAdatok.KotelezoOraszam;
|
|
|
|
if (tanarMunkaugyiAdatok.MunkaidoKedvezmenyOraszam != null)
|
|
{
|
|
tanarCo.MunkaidoKedvezmenyOraszam = tanarMunkaugyiAdatok.MunkaidoKedvezmenyOraszam;
|
|
}
|
|
|
|
tanarCo.MunkaKor = tanarMunkaugyiAdatok.MunkakorTipusa;
|
|
tanarCo.MunkaidoKedvezmenyOraszam = tanarMunkaugyiAdatok.MunkaidoKedvezmenyOraszam;
|
|
tanarCo.VezetoiOraszamOka = tanarMunkaugyiAdatok.VezetoiOraszamok;
|
|
tanarCo.ReszmunkaidosSzazalek = tanarMunkaugyiAdatok.ReszmunkaidoSzazalek;
|
|
tanarCo.Foallasu = oTanar.Foallas;
|
|
tanarCo.SzakertoMesterpedagogus = tanarMunkaugyiAdatok.SzakertoMesterpedagogus;
|
|
tanarCo.IsSzakertoKutatotanar = tanarMunkaugyiAdatok.IsSzakertoKutatotanar;
|
|
tanarCo.SzakertoMesterpedagogusKutatotanar = tanarMunkaugyiAdatok.SzakertoMesterpedagogus || tanarMunkaugyiAdatok.IsSzakertoKutatotanar;
|
|
tanarCo.VezetoPedagogusVezetoOvodaPedagogus = tanarMunkaugyiAdatok.IsVezetopedagogus;
|
|
tanarCo.BetoltetlenAllashely = tanarMunkaugyiAdatok.BetoltetlenAllashely;
|
|
tanarCo.IsKulsoAlkalmazott = tanarMunkaugyiAdatok.IsKulsoAlkalmazott;
|
|
//tanarCo.SzabadAllashely = tanarMunkaugyiAdatok.Szabadallashely;
|
|
tanarCo.TartosHelyettesites = tanarMunkaugyiAdatok.TartosHelyettesites;
|
|
tanarCo.Nyugdijas = tanarMunkaugyiAdatok.Nyugdijas;
|
|
tanarCo.FoglalkoztatasTipusa = tanarMunkaugyiAdatok.FoglalkoztatasTipus;
|
|
tanarCo.UtazoGyogypedagogus = tanarMunkaugyiAdatok.UtazoGyogypedagogus;
|
|
tanarCo.CsokkentettMunkaidos = tanarMunkaugyiAdatok.CsokkentettMunkaidos;
|
|
tanarCo.Attanito = tanarMunkaugyiAdatok.Attanito;
|
|
tanarCo.AttanitoMasIntezmeny = tanarMunkaugyiAdatok.AttanitoMasIntezmenynel;
|
|
tanarCo.IsAttanitoSzCnBelul = tanarMunkaugyiAdatok.IsAttanitoSzCnBelul;
|
|
tanarCo.EgyebTevekenysegekTipusId = tanarMunkaugyiAdatok.EgyebTevekenysegekTipusId;
|
|
tanarCo.IsOsztalyfonok = tanarMunkaugyiAdatok.IsOsztalyfonok;
|
|
tanarCo.IsInternetetOktCelraHasznal = tanarMunkaugyiAdatok.IsInternetetOktCelraHasznal;
|
|
tanarCo.IsInformatKepIsmRendelkezik = tanarMunkaugyiAdatok.IsInformatKepIsmRendelkezik;
|
|
tanarCo.IsIktEszkozoketLgalabb40Hasznal = tanarMunkaugyiAdatok.IsIktEszkozoketLgalabb40Hasznal;
|
|
/*if (!tanarMunkaugyiAdatok.PedagogusStatuszaIsNull)
|
|
{
|
|
tanarCO.PedagogusStatusza = tanarMunkaugyiAdatok.PedagogusStatusza;
|
|
}*/
|
|
if (tanarMunkaugyiAdatok.BesorolasiFokozat != null)
|
|
{
|
|
tanarCo.BesorolasiFokozat = tanarMunkaugyiAdatok.BesorolasiFokozat;
|
|
}
|
|
else
|
|
{
|
|
tanarCo.BesorolasiFokozat = (int)BesorolasiFokozatTipusEnum.na;
|
|
}
|
|
|
|
if (tanarMunkaugyiAdatok.SzervezetId.IsEntityId())
|
|
{
|
|
tanarCo.DualisKepzohelyNeve = tanarMunkaugyiAdatok.Szervezet.Nev;
|
|
tanarCo.DualisKepzohelyAdoszama = tanarMunkaugyiAdatok.Szervezet.Azonosito;
|
|
tanarCo.SzervezetId = tanarMunkaugyiAdatok.SzervezetId;
|
|
}
|
|
else
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(tanarMunkaugyiAdatok.DualisKepzohelyNeve) && !string.IsNullOrWhiteSpace(tanarMunkaugyiAdatok.DualisKepzohelyAdoszama))
|
|
{
|
|
var szervezetId = h.SzervezetDal().GetSzervezetIdNevAzonosito(TanevId, tanarMunkaugyiAdatok.DualisKepzohelyNeve, tanarMunkaugyiAdatok.DualisKepzohelyAdoszama);
|
|
tanarCo.DualisKepzohelyNeve = tanarMunkaugyiAdatok.DualisKepzohelyNeve;
|
|
tanarCo.DualisKepzohelyAdoszama = tanarMunkaugyiAdatok.DualisKepzohelyAdoszama;
|
|
tanarCo.SzervezetId = szervezetId;
|
|
}
|
|
else
|
|
{
|
|
tanarCo.DualisKepzohelyNeve = tanarMunkaugyiAdatok.SzervezetId.IsEntityId() ? tanarMunkaugyiAdatok.Szervezet.Nev : tanarMunkaugyiAdatok.DualisKepzohelyNeve;
|
|
tanarCo.DualisKepzohelyAdoszama = tanarMunkaugyiAdatok.SzervezetId.IsEntityId() ? tanarMunkaugyiAdatok.Szervezet.Azonosito : tanarMunkaugyiAdatok.DualisKepzohelyAdoszama;
|
|
}
|
|
}
|
|
|
|
tanarCo.MunkaidoKedvezmenyOka = tanarMunkaugyiAdatok.MunkaidoKedvezmenyOka;
|
|
tanarCo.OktatoiFeladatokatIsEllat = tanarMunkaugyiAdatok.IsOktatoiFeladatok;
|
|
tanarCo.IsApaczaiMentor = tanarMunkaugyiAdatok.IsApaczaiMentor;
|
|
tanarCo.IsNyugdijas = tanarMunkaugyiAdatok.IsNyugdijas;
|
|
tanarCo.NyugdijKezdet = tanarMunkaugyiAdatok.NyugdijKezdet;
|
|
tanarCo.NyugdijTipusId = tanarMunkaugyiAdatok.NyugdijTipus;
|
|
tanarCo.MunkaugyiAdatId = tanarMunkaugyiAdatok.ID;
|
|
}
|
|
tanarCo.Megjegyzes = oTanar.Megjegyzes;
|
|
tanarCo.AdoazonositoJel = oTanar.AdoazonositoJel;
|
|
tanarCo.TajSzam = oTanar.TAJSzam;
|
|
tanarCo.AnyjaNeveSorrend = oTanar.AnyjaNeveSorrend;
|
|
tanarCo.AnyjaNeveElotag = oTanar.AnyjaNeveElotag;
|
|
tanarCo.AnyjaCsaladiNeve = !oTanar.AnyjaNeveSorrend ? oTanar.AnyjaVezetekneve.ReplaceMultipleSpacesAndTrim() : oTanar.AnyjaUtoneve.ReplaceMultipleSpacesAndTrim();
|
|
tanarCo.AnyjaUtoneve = !oTanar.AnyjaNeveSorrend ? oTanar.AnyjaUtoneve.ReplaceMultipleSpacesAndTrim() : oTanar.AnyjaVezetekneve.ReplaceMultipleSpacesAndTrim();
|
|
tanarCo.Azonosito = oTanar.FelhasznaloBelepes.Where(x => !x.Torolt).ToList().Count > 0 ? oTanar.FelhasznaloBelepes.Single(x => !x.Torolt).BejelentkezesiNev : string.Empty;
|
|
tanarCo.Elotag = oTanar.Elotag;
|
|
tanarCo.Szakvizsga = oTanar.Szakvizsga;
|
|
tanarCo.SzakertoiVagyVizsgaelnokiTevekenysegu = oTanar.SzakertoiVizsgaelnoki;
|
|
tanarCo.SzakmaiTovabbkepzes = oTanar.Tovabbkepzes;
|
|
tanarCo.HasEfopEszkoz = oTanar.HasEfopEszkoz;
|
|
|
|
var osszesMunkaugyiAdatList = oTanar.MunkaugyiAdatok.Where(x => x.Torolt == false).Select(x => x.AlkalmazasMegszunese).ToList();
|
|
osszesMunkaugyiAdatList.AddRange(oTanar.TovabbiMunkaugyiAdatok.Where(x => x.Torolt == false).Select(x => x.AlkalmazasMegszunese).ToList());
|
|
tanarCo.ActiveStatusz = osszesMunkaugyiAdatList.Any(x => x == null || x > DateTime.Now);
|
|
|
|
if (oTanar.Email.Count > 0)
|
|
{
|
|
var email = oTanar.Email.FirstOrDefault(x => !x.Torolt && !x.IsPublic);
|
|
tanarCo.Email = email?.EmailCim;
|
|
}
|
|
|
|
tanarCo.IgazolvanySzam = oTanar.IgazolvanySzam;
|
|
tanarCo.IgazolvanyTipus = oTanar.IgazolvanyTipusa;
|
|
|
|
if (oTanar.Szerepkor.Count > 0)
|
|
{
|
|
tanarCo.JogosultsagiSzint = oTanar.Szerepkor.Select(x => x.SzerepkorTipus.Value).ToList();
|
|
}
|
|
|
|
tanarCo.Elotag = oTanar.Elotag;
|
|
tanarCo.MunkavallaloCsaladiNev = oTanar.Vezeteknev;
|
|
tanarCo.MunkavallaloUtonev = oTanar.Utonev;
|
|
tanarCo.Nem = oTanar.Neme;
|
|
tanarCo.OktatasiAzonosito = oTanar.OktatasiAzonosito;
|
|
tanarCo.IsOktatasiAzonositoNelkul = oTanar.IsOktAzonNelkul;
|
|
tanarCo.OMKod = oTanar.OMKod;
|
|
tanarCo.SzuletesiHely = oTanar.SzuletesiHely;
|
|
tanarCo.SzuletesiOrszag = oTanar.SzuletesiOrszag;
|
|
tanarCo.SzuletesiIdo = oTanar.SzuletesiDatum;
|
|
tanarCo.Allampolgarsag = oTanar.Allampolgarsaga;
|
|
tanarCo.Allampolgarsag2 = oTanar.Allampolgarsaga2;
|
|
tanarCo.SzuletesiNevSorrend = oTanar.SzuletesiNevSorrend;
|
|
tanarCo.SzuletesiCsaladiNev = !oTanar.SzuletesiNevSorrend ? oTanar.SzuletesiVezeteknev.ReplaceMultipleSpacesAndTrim() : oTanar.SzuletesiUtonev.ReplaceMultipleSpacesAndTrim();
|
|
tanarCo.SzuletesiUtonev = !oTanar.SzuletesiNevSorrend ? oTanar.SzuletesiUtonev.ReplaceMultipleSpacesAndTrim() : oTanar.SzuletesiVezeteknev.ReplaceMultipleSpacesAndTrim();
|
|
tanarCo.SzuletesiNevElotag = oTanar.SzuletesiNevElotag;
|
|
tanarCo.NyomtatasiNev = oTanar.NyomtatasiNev;
|
|
|
|
if (oTanar.Telefon.Count > 0)
|
|
{
|
|
var tAlap = oTanar.Telefon.FirstOrDefault(x => x.Alapertelmezett && !x.Torolt && !x.IsPublic);
|
|
tanarCo.Telefon = tAlap?.TelefonSzam;
|
|
tanarCo.TelefonTipus = tAlap != null ? tAlap.TelefonTipusa : (int)TelefonTipusEnum.Ismeretlen;
|
|
|
|
var tMasodik = oTanar.Telefon.FirstOrDefault(x => !x.Alapertelmezett && !x.Torolt && !x.IsPublic);
|
|
tanarCo.Telefon2 = tMasodik?.TelefonSzam;
|
|
tanarCo.TelefonTipus2 = tMasodik != null ? tMasodik.TelefonTipusa : (int)TelefonTipusEnum.Ismeretlen;
|
|
}
|
|
tanarCo.Anyanyelve = oTanar.Anyanyelve;
|
|
|
|
var temp = oTanar.FelhasznaloBelepes.FirstOrDefault(b => !b.Torolt);
|
|
if (temp != null)
|
|
{
|
|
tanarCo.BelepesiNev = temp.BejelentkezesiNev;
|
|
}
|
|
|
|
tanarCo.DiakolimpiaiJog = oTanar.Diakolimpia;
|
|
tanarCo.KozossegiSzolgalatKezelo = oTanar.KozossegiSzolgalatKezelo;
|
|
tanarCo.LEPModulKezelo = oTanar.LepKezelo;
|
|
tanarCo.SZTSZKod = oTanar.SZTSZKod;
|
|
tanarCo.SZTSZKod2 = oTanar.SZTSZKod2;
|
|
tanarCo.AllandoHelyettesitesre = oTanar.AllandoHelyettesitesre ?? false;
|
|
tanarCo.IsHrKezelo = oTanar.IsHrKezelo;
|
|
tanarCo.IsKuldhetoPedMinositesSzRnek = oTanar.IsKuldhetoPedMinositesSzRnek;
|
|
tanarCo.IsSzakiranyuOktatasertFelelos = oTanar.IsSzakOktatasertFelelos;
|
|
tanarCo.IsDualisKepzohelyiOktato = oTanar.IsDualisKepzohelyiOktato;
|
|
|
|
tanarCo.IsKozpontilagSzinkronizalt = oTanar.IsKozpontilagSzinkronizalt;
|
|
|
|
tanarCo.BankszamlaSzam = oTanar.Bankszamlaszam;
|
|
tanarCo.BankszamlaTulajdonos = oTanar.BankszamlaTulajdonosTipus;
|
|
tanarCo.BankszamlaTulajdonosNeve = oTanar.BankszamlatulajNeve;
|
|
tanarCo.SzamlavezetoBank = h.Felhasznalo().GetBankszamlaVezetoBankNeve(IntezmenyAzonosito, oTanar.Bankszamlaszam);
|
|
return tanarCo;
|
|
});
|
|
}
|
|
|
|
public DataRow GetProfil(Guid? userIdpUniqueId = null)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var tanarProfilDataSet = h.TanarDal().GetProfil(FelhasznaloId, TanevId, userIdpUniqueId);
|
|
if (tanarProfilDataSet.Tables[0].Rows.Count < 1)
|
|
{
|
|
throw new BlException(BlExceptionType.NemLetezoEntitas);
|
|
}
|
|
return tanarProfilDataSet.Tables[0].Rows[0];
|
|
});
|
|
}
|
|
|
|
public KirTanarAdatCo GetTanarAdatokForKir(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var oTanar = h.Alkalmazott().Get(id);
|
|
|
|
return KirTanarAdatCo.EntityToCo(oTanar);
|
|
});
|
|
}
|
|
|
|
public void UpdateTeacherFromKir(KirTanarAdatCo kirTanarAdatCo)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
try
|
|
{
|
|
var dal = h.Alkalmazott();
|
|
var alkalmazott = dal.Get(kirTanarAdatCo.Id.Value);
|
|
|
|
alkalmazott.OktatasiAzonosito = kirTanarAdatCo.OktatasiAzonosito;
|
|
alkalmazott.Neme = (int)kirTanarAdatCo.Nem;
|
|
|
|
alkalmazott.NevSorrend = kirTanarAdatCo.NevSorrend;
|
|
alkalmazott.Elotag = Extensions.NameExtensions.CleanElotag(kirTanarAdatCo.Elotag);
|
|
alkalmazott.Utonev = kirTanarAdatCo.MunkavallaloUtonev;
|
|
alkalmazott.Vezeteknev = kirTanarAdatCo.MunkavallaloCsaladiNev;
|
|
alkalmazott.NyomtatasiNev = Extensions.NameExtensions.GetNevSorrendben("F", alkalmazott.Elotag, alkalmazott.Vezeteknev, alkalmazott.Utonev);
|
|
alkalmazott.KeresesiNev = CommonUtilsDal.KopaszNev(alkalmazott.NyomtatasiNev);
|
|
|
|
alkalmazott.SzuletesiNevSorrend = kirTanarAdatCo.SzuletesiNevSorrend;
|
|
alkalmazott.SzuletesiVezeteknev = !kirTanarAdatCo.SzuletesiNevSorrend ? kirTanarAdatCo.SzuletesiCsaladiNev.ReplaceMultipleSpacesAndTrim() : kirTanarAdatCo.SzuletesiUtonev.ReplaceMultipleSpacesAndTrim();
|
|
alkalmazott.SzuletesiUtonev = !kirTanarAdatCo.SzuletesiNevSorrend ? kirTanarAdatCo.SzuletesiUtonev.ReplaceMultipleSpacesAndTrim() : kirTanarAdatCo.SzuletesiCsaladiNev.ReplaceMultipleSpacesAndTrim();
|
|
alkalmazott.SzuletesiNev = Extensions.NameExtensions.GetNevSorrendben("F", alkalmazott.SzuletesiNevElotag, alkalmazott.SzuletesiVezeteknev, alkalmazott.SzuletesiUtonev);
|
|
|
|
alkalmazott.AnyjaNeveSorrend = kirTanarAdatCo.AnyjaNeveSorrend;
|
|
alkalmazott.AnyjaVezetekneve = !kirTanarAdatCo.AnyjaNeveSorrend ? kirTanarAdatCo.AnyjaCsaladiNeve.ReplaceMultipleSpacesAndTrim() : kirTanarAdatCo.AnyjaUtoneve.ReplaceMultipleSpacesAndTrim();
|
|
alkalmazott.AnyjaUtoneve = !kirTanarAdatCo.AnyjaNeveSorrend ? kirTanarAdatCo.AnyjaUtoneve.ReplaceMultipleSpacesAndTrim() : kirTanarAdatCo.AnyjaCsaladiNeve.ReplaceMultipleSpacesAndTrim();
|
|
alkalmazott.AnyjaNeve = Extensions.NameExtensions.GetNevSorrendben("F", alkalmazott.AnyjaNeveElotag, alkalmazott.AnyjaVezetekneve, alkalmazott.AnyjaUtoneve);
|
|
|
|
if (kirTanarAdatCo.SzuletesiIdo.HasValue)
|
|
{
|
|
alkalmazott.SzuletesiDatum = kirTanarAdatCo.SzuletesiIdo.Value;
|
|
}
|
|
|
|
alkalmazott.SzuletesiHely = kirTanarAdatCo.SzuletesiHely;
|
|
alkalmazott.SzuletesiOrszag = kirTanarAdatCo.SzuletesiOrszag.Value;
|
|
alkalmazott.Allampolgarsaga = kirTanarAdatCo.Allampolgarsag.Value;
|
|
alkalmazott.Allampolgarsaga2 = kirTanarAdatCo.Allampolgarsag2.Value;
|
|
|
|
dal.Update(alkalmazott);
|
|
|
|
var munkaugyi = alkalmazott.MunkaugyiAdatok.FirstOrDefault(x => !x.Torolt);
|
|
|
|
if (kirTanarAdatCo.AlkalmazasKezdete.HasValue && kirTanarAdatCo.AlkalmazasVege.HasValue)
|
|
{
|
|
if (kirTanarAdatCo.AlkalmazasKezdete < kirTanarAdatCo.AlkalmazasVege)
|
|
{
|
|
munkaugyi.AlkalmazasKezdete = kirTanarAdatCo.AlkalmazasKezdete;
|
|
munkaugyi.AlkalmazasMegszunese = kirTanarAdatCo.AlkalmazasVege;
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(ErrorResource.AlkalmazasKezdeteDatumNemLehetNagyobbMintAVege);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
munkaugyi.AlkalmazasKezdete = kirTanarAdatCo.AlkalmazasKezdete;
|
|
munkaugyi.AlkalmazasMegszunese = kirTanarAdatCo.AlkalmazasVege;
|
|
}
|
|
|
|
munkaugyi.FoglalkoztatasTipus = kirTanarAdatCo.FoglalkoztatasTipusa;
|
|
munkaugyi.TanevId = TanevId;
|
|
h.AlkalmazottMunkaugyiAdatokDal().FullUpdate(munkaugyi);
|
|
|
|
dal.Update(alkalmazott);
|
|
}
|
|
catch (UniqueKeyViolationException)
|
|
{
|
|
throw new UniqueKeyViolationException(ErrorResource.AMegadottOktatasiAzonositoVagyFelhasznalonevMarLetezik);
|
|
}
|
|
});
|
|
}
|
|
|
|
public int InsertTeacherFromKir(KirTanarAdatCo kirTanarAdatCo, bool kellFollowUp = true)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
try
|
|
{
|
|
var dal = h.Alkalmazott();
|
|
var alkalmazott = dal.Get();
|
|
|
|
alkalmazott.OktatasiAzonosito = kirTanarAdatCo.OktatasiAzonosito;
|
|
alkalmazott.Neme = (int)kirTanarAdatCo.Nem;
|
|
|
|
alkalmazott.NevSorrend = kirTanarAdatCo.NevSorrend;
|
|
alkalmazott.Elotag = Extensions.NameExtensions.CleanElotag(kirTanarAdatCo.Elotag);
|
|
alkalmazott.Vezeteknev = kirTanarAdatCo.MunkavallaloCsaladiNev;
|
|
alkalmazott.Utonev = kirTanarAdatCo.MunkavallaloUtonev;
|
|
alkalmazott.NyomtatasiNev = Extensions.NameExtensions.GetNevSorrendben("F", alkalmazott.Elotag, alkalmazott.Vezeteknev, alkalmazott.Utonev);
|
|
alkalmazott.KeresesiNev = CommonUtilsDal.KopaszNev(alkalmazott.NyomtatasiNev);
|
|
|
|
alkalmazott.SzuletesiNevSorrend = kirTanarAdatCo.SzuletesiNevSorrend;
|
|
alkalmazott.SzuletesiNevElotag = null;
|
|
alkalmazott.SzuletesiVezeteknev = !kirTanarAdatCo.SzuletesiNevSorrend ? kirTanarAdatCo.SzuletesiCsaladiNev.ReplaceMultipleSpacesAndTrim() : kirTanarAdatCo.SzuletesiUtonev.ReplaceMultipleSpacesAndTrim();
|
|
alkalmazott.SzuletesiUtonev = !kirTanarAdatCo.SzuletesiNevSorrend ? kirTanarAdatCo.SzuletesiUtonev.ReplaceMultipleSpacesAndTrim() : kirTanarAdatCo.SzuletesiCsaladiNev.ReplaceMultipleSpacesAndTrim();
|
|
alkalmazott.SzuletesiNev = Extensions.NameExtensions.GetNevSorrendben("F", alkalmazott.SzuletesiNevElotag, alkalmazott.SzuletesiVezeteknev, alkalmazott.SzuletesiUtonev);
|
|
|
|
alkalmazott.AnyjaNeveSorrend = kirTanarAdatCo.AnyjaNeveSorrend;
|
|
alkalmazott.AnyjaNeveElotag = null;
|
|
alkalmazott.AnyjaVezetekneve = !kirTanarAdatCo.AnyjaNeveSorrend ? kirTanarAdatCo.AnyjaCsaladiNeve.ReplaceMultipleSpacesAndTrim() : kirTanarAdatCo.AnyjaUtoneve.ReplaceMultipleSpacesAndTrim();
|
|
alkalmazott.AnyjaUtoneve = !kirTanarAdatCo.AnyjaNeveSorrend ? kirTanarAdatCo.AnyjaUtoneve.ReplaceMultipleSpacesAndTrim() : kirTanarAdatCo.AnyjaCsaladiNeve.ReplaceMultipleSpacesAndTrim();
|
|
alkalmazott.AnyjaNeve = Extensions.NameExtensions.GetNevSorrendben("F", alkalmazott.AnyjaNeveElotag, alkalmazott.AnyjaVezetekneve, alkalmazott.AnyjaUtoneve);
|
|
|
|
if (kirTanarAdatCo.SzuletesiIdo.HasValue)
|
|
{
|
|
alkalmazott.SzuletesiDatum = kirTanarAdatCo.SzuletesiIdo.Value;
|
|
}
|
|
|
|
alkalmazott.SzuletesiHely = kirTanarAdatCo.SzuletesiHely;
|
|
alkalmazott.SzuletesiOrszag = kirTanarAdatCo.SzuletesiOrszag.Value;
|
|
alkalmazott.Allampolgarsaga = kirTanarAdatCo.Allampolgarsag.Value;
|
|
alkalmazott.Allampolgarsaga2 = kirTanarAdatCo.Allampolgarsag2.Value;
|
|
|
|
dal.Insert(alkalmazott, kellFollowUp);
|
|
|
|
var alkalmazottMunkaugyiDal = h.AlkalmazottMunkaugyiAdatokDal();
|
|
var munkaugyi = alkalmazottMunkaugyiDal.Get();
|
|
|
|
if (kirTanarAdatCo.AlkalmazasKezdete.HasValue && kirTanarAdatCo.AlkalmazasVege.HasValue)
|
|
{
|
|
if (kirTanarAdatCo.AlkalmazasKezdete < kirTanarAdatCo.AlkalmazasVege)
|
|
{
|
|
munkaugyi.AlkalmazasKezdete = kirTanarAdatCo.AlkalmazasKezdete;
|
|
munkaugyi.AlkalmazasMegszunese = kirTanarAdatCo.AlkalmazasVege;
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(ErrorResource.AlkalmazasKezdeteDatumNemLehetNagyobbMintAVege);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
munkaugyi.AlkalmazasKezdete = kirTanarAdatCo.AlkalmazasKezdete;
|
|
munkaugyi.AlkalmazasMegszunese = kirTanarAdatCo.AlkalmazasVege;
|
|
}
|
|
|
|
munkaugyi.FoglalkoztatasTipus = kirTanarAdatCo.FoglalkoztatasTipusa;
|
|
munkaugyi.TanevId = TanevId;
|
|
munkaugyi.Alkalmazott = alkalmazott;
|
|
alkalmazottMunkaugyiDal.Insert(munkaugyi);
|
|
|
|
dal.Update(alkalmazott);
|
|
|
|
return alkalmazott.ID;
|
|
}
|
|
catch (UniqueKeyViolationException)
|
|
{
|
|
throw new UniqueKeyViolationException(ErrorResource.AMegadottOktatasiAzonositoVagyFelhasznalonevMarLetezik);
|
|
}
|
|
});
|
|
}
|
|
|
|
public TanarEletpalyaModellCO GetPedagogusEletpalyaModellAdatai(int modelId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var co = new TanarEletpalyaModellCO();
|
|
var modell = h.EletpalyaModell().Get(modelId);
|
|
|
|
co.Datum = modell.MinositesDatum;
|
|
co.Fokozat = modell.Fokozat;
|
|
co.ID = modell.ID;
|
|
co.Statusz = modell.PortfolioStatusz;
|
|
co.TanarID = modell.TanarId;
|
|
|
|
return co;
|
|
});
|
|
}
|
|
|
|
public TanarVegzettsegCO GetVegzettsegekModelAdatai(int modelId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var co = new TanarVegzettsegCO();
|
|
var vegzettseg = h.VegzettsegDal().Get(modelId);
|
|
|
|
co.ID = vegzettseg.ID;
|
|
co.TanarID = vegzettseg.TanarId;
|
|
co.Vegzettseg = vegzettseg.VegzettsegTipusId;
|
|
|
|
if (vegzettseg.Kepesites.Count > 0)
|
|
{
|
|
co.Kepesites = vegzettseg.Kepesites.Select(x => x.KepesitesTipusId.Value).ToList();
|
|
}
|
|
|
|
co.Egyeb = vegzettseg.Egyeb;
|
|
|
|
return co;
|
|
});
|
|
}
|
|
|
|
public void CreateOrUpdateEletpalyaModell(TanarEletpalyaModellCO co)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
if (co.Fokozat == null)
|
|
{
|
|
throw new BlException("fokozat megadása kötelező");
|
|
}
|
|
|
|
if (co.Datum == null)
|
|
{
|
|
throw new BlException("datum megadása kötelező");
|
|
}
|
|
|
|
if (co.Statusz == null)
|
|
{
|
|
throw new BlException("statusz megadása kötelező");
|
|
}
|
|
|
|
if (!co.TanarID.HasValue || co.TanarID == 0)
|
|
{
|
|
throw new BlException("tanar megadása kötelező");
|
|
}
|
|
|
|
var eletpalyaModellDal = h.EletpalyaModell();
|
|
var entity = eletpalyaModellDal.Get();
|
|
if (co.ID != 0)
|
|
{
|
|
entity = eletpalyaModellDal.Get(co.ID);
|
|
}
|
|
entity.Fokozat = co.Fokozat.Value;
|
|
entity.MinositesDatum = Convert.ToDateTime(co.Datum);
|
|
entity.PortfolioStatusz = co.Statusz.Value;
|
|
entity.TanevId = TanevId;
|
|
entity.TanarId = co.TanarID.Value;
|
|
|
|
if (entity.MinositesDatum <= entity.Tanar.SzuletesiDatum)
|
|
{
|
|
throw new BlException(ErrorResource.NemVehetoFelMinositesASzuletesiDatumElottiIdopontra);
|
|
}
|
|
|
|
var dal = h.TanarDal();
|
|
|
|
if (co.ID != 0)
|
|
{
|
|
dal.UpdateAlkalmazottEletpalyaModell(entity);
|
|
}
|
|
else
|
|
{
|
|
dal.Insert(entity);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void CreateOrUpdateVegzettseg(TanarVegzettsegCO co)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var vegzettsegDal = h.VegzettsegDal();
|
|
var entity = vegzettsegDal.Get();
|
|
|
|
if (co.ID != 0)
|
|
{
|
|
entity = vegzettsegDal.Get(co.ID);
|
|
}
|
|
|
|
if (!co.Vegzettseg.HasValue)
|
|
{
|
|
throw new BlException(AlkalmazottResource.VegzettsegMegadasaKotelezo);
|
|
}
|
|
|
|
entity.VegzettsegTipusId = co.Vegzettseg;
|
|
|
|
entity.Egyeb = co.Egyeb;
|
|
entity.TanevId = TanevId;
|
|
entity.TanarId = co.TanarID.Value;
|
|
|
|
if (co.Kepesites.Count > 0)
|
|
{
|
|
var kepesitesDal = h.KepesitesDal();
|
|
if (co.ID != 0)
|
|
{
|
|
kepesitesDal.RemoveAll(entity);
|
|
}
|
|
else
|
|
{
|
|
vegzettsegDal.Insert(entity);
|
|
}
|
|
|
|
foreach (var kepesites in co.Kepesites)
|
|
{
|
|
var kepesitesek = kepesitesDal.Get(kepesites, TanevId);
|
|
if (!entity.Kepesites.Contains(kepesitesek))
|
|
{
|
|
kepesitesDal.AddvegzettsegKepesites(entity, kepesitesek);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(AlkalmazottResource.SzakMegadasaKotelezo);
|
|
}
|
|
|
|
vegzettsegDal.FullUpdate(entity);
|
|
});
|
|
}
|
|
|
|
public void AlkalmazottTobbesModify(TanarTobbesModCO tanarTobbesModCO, bool NeedUpdateMunkaidoAdatai, bool isKlebelsbergKozpontOrNSZFH, bool isNszfhUjSzkt)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
if (!tanarTobbesModCO.AlkalmazottId.HasValue)
|
|
{
|
|
throw new BlException(AlkalmazottResource.NemLetezoAlkalmazott);
|
|
}
|
|
|
|
var alk = h.Alkalmazott().Get(tanarTobbesModCO.AlkalmazottId.Value);
|
|
|
|
if (tanarTobbesModCO.Nem.HasValue)
|
|
{
|
|
alk.Neme = tanarTobbesModCO.Nem.Value;
|
|
}
|
|
|
|
if (tanarTobbesModCO.Szakvizsga.HasValue)
|
|
{
|
|
alk.Szakvizsga = tanarTobbesModCO.Szakvizsga.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.SzakertoiVagyVizsgaelnokiTevekenysegu.HasValue)
|
|
{
|
|
alk.SzakertoiVizsgaelnoki = tanarTobbesModCO.SzakertoiVagyVizsgaelnokiTevekenysegu.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.SzakmaiTovabbkepzes.HasValue)
|
|
{
|
|
alk.Tovabbkepzes = tanarTobbesModCO.SzakmaiTovabbkepzes.ToBool();
|
|
}
|
|
|
|
var munkaugyi = alk.MunkaugyiAdatok.FirstOrDefault(x => !x.Torolt);
|
|
if (munkaugyi == null)
|
|
{
|
|
throw new BlException(AlkalmazottResource.AlkalmazottnakNincsenekMunkaugyiAdatai);
|
|
}
|
|
|
|
if (NeedUpdateMunkaidoAdatai)
|
|
{
|
|
if (!(isKlebelsbergKozpontOrNSZFH && tanarTobbesModCO.FoglalkoztatasTipusa == (int)FoglalkoztatasTipusaEnum.Oraado) && tanarTobbesModCO.MunkaidoKedvezmenyOraszam.HasValue)
|
|
{
|
|
munkaugyi.MunkaidoKedvezmenyOraszam = tanarTobbesModCO.MunkaidoKedvezmenyOraszam.Value;
|
|
}
|
|
|
|
if (!tanarTobbesModCO.MunkaidoKedvezmenyOraszam.HasValue)
|
|
{
|
|
munkaugyi.MunkaidoKedvezmenyOraszam = null;
|
|
}
|
|
}
|
|
|
|
if (tanarTobbesModCO.Nyugdijas.HasValue)
|
|
{
|
|
munkaugyi.Nyugdijas = tanarTobbesModCO.Nyugdijas.ToBool();
|
|
}
|
|
|
|
TobbesModSetGyESGyed(tanarTobbesModCO, munkaugyi);
|
|
|
|
TobbesModSetKotelezoOraszam(tanarTobbesModCO, munkaugyi, isKlebelsbergKozpontOrNSZFH, NeedUpdateMunkaidoAdatai, isNszfhUjSzkt);
|
|
|
|
TobbesModSetMunkaKor(tanarTobbesModCO, munkaugyi);
|
|
|
|
TobbesModSetBesorolasiFokozat(tanarTobbesModCO, munkaugyi);
|
|
|
|
if (tanarTobbesModCO.PedagogusFokozat.HasValue && (tanarTobbesModCO.PedagogusFokozat.Value == (int)BesorolasiFokozatTipusEnum.kutatotanar || tanarTobbesModCO.PedagogusFokozat.Value == (int)BesorolasiFokozatTipusEnum.mesterpedagogus))
|
|
{
|
|
if (tanarTobbesModCO.SzakertoMesterpedagogusKutatotanar.HasValue && munkaugyi.SzakertoMesterpedagogus != tanarTobbesModCO.SzakertoMesterpedagogusKutatotanar.ToBool())
|
|
{
|
|
munkaugyi.SzakertoMesterpedagogus = tanarTobbesModCO.SzakertoMesterpedagogusKutatotanar.ToBool();
|
|
}
|
|
}
|
|
else if (tanarTobbesModCO.PedagogusFokozat.HasValue)
|
|
{
|
|
munkaugyi.SzakertoMesterpedagogus = false;
|
|
}
|
|
|
|
if (tanarTobbesModCO.FoglalkoztatasiJogviszony.HasValue)
|
|
{
|
|
munkaugyi.MunkaviszonyTipusa = tanarTobbesModCO.FoglalkoztatasiJogviszony.Value;
|
|
}
|
|
|
|
if (tanarTobbesModCO.AlkalmazasKezdete.HasValue)
|
|
{
|
|
munkaugyi.AlkalmazasKezdete = tanarTobbesModCO.AlkalmazasKezdete.Value;
|
|
}
|
|
|
|
if (tanarTobbesModCO.AlkalmazasVege.HasValue)
|
|
{
|
|
munkaugyi.AlkalmazasMegszunese = tanarTobbesModCO.AlkalmazasVege.Value;
|
|
}
|
|
|
|
if (tanarTobbesModCO.FeladatellatasiHely.HasValue)
|
|
{
|
|
munkaugyi.FeladatEllatasiHelyId = tanarTobbesModCO.FeladatellatasiHely.Value;
|
|
}
|
|
|
|
if (tanarTobbesModCO.VezetoiOraszamOka.HasValue)
|
|
{
|
|
munkaugyi.VezetoiOraszamok = tanarTobbesModCO.VezetoiOraszamOka.Value;
|
|
}
|
|
|
|
if (!(isKlebelsbergKozpontOrNSZFH && tanarTobbesModCO.FoglalkoztatasTipusa == (int)FoglalkoztatasTipusaEnum.Oraado) && tanarTobbesModCO.MunkaidoKedvezmenyOka.HasValue)
|
|
{
|
|
munkaugyi.MunkaidoKedvezmenyOka = tanarTobbesModCO.MunkaidoKedvezmenyOka.Value;
|
|
}
|
|
|
|
if (tanarTobbesModCO.Foallasu.HasValue)
|
|
{
|
|
alk.Foallas = tanarTobbesModCO.Foallasu.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.VezetoPedagogusVezetoOvodaPedagogus.HasValue)
|
|
{
|
|
munkaugyi.IsVezetopedagogus = tanarTobbesModCO.VezetoPedagogusVezetoOvodaPedagogus.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.FoglalkoztatasTipusa.HasValue)
|
|
{
|
|
munkaugyi.FoglalkoztatasTipus = tanarTobbesModCO.FoglalkoztatasTipusa;
|
|
}
|
|
|
|
if (tanarTobbesModCO.Attanito.HasValue)
|
|
{
|
|
munkaugyi.Attanito = tanarTobbesModCO.Attanito.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.AttanitoMasIntezmeny.HasValue)
|
|
{
|
|
munkaugyi.AttanitoMasIntezmenynel = tanarTobbesModCO.AttanitoMasIntezmeny.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.IsAttanitoSzCnBelul.HasValue)
|
|
{
|
|
munkaugyi.IsAttanitoSzCnBelul = tanarTobbesModCO.IsAttanitoSzCnBelul.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.IsOsztalyfonok.HasValue)
|
|
{
|
|
munkaugyi.IsOsztalyfonok = tanarTobbesModCO.IsOsztalyfonok.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.IsInternetetOktCelraHasznal.HasValue)
|
|
{
|
|
munkaugyi.IsInternetetOktCelraHasznal = tanarTobbesModCO.IsInternetetOktCelraHasznal.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.IsInformatKepIsmRendelkezik.HasValue)
|
|
{
|
|
munkaugyi.IsInformatKepIsmRendelkezik = tanarTobbesModCO.IsInformatKepIsmRendelkezik.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.IsIktEszkozoketLgalabb40Hasznal.HasValue)
|
|
{
|
|
munkaugyi.IsIktEszkozoketLgalabb40Hasznal = tanarTobbesModCO.IsIktEszkozoketLgalabb40Hasznal.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.HasEfopEszkoz.HasValue)
|
|
{
|
|
alk.HasEfopEszkoz = tanarTobbesModCO.HasEfopEszkoz.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.AllandoHelyettesitesre.HasValue)
|
|
{
|
|
alk.AllandoHelyettesitesre = tanarTobbesModCO.AllandoHelyettesitesre.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.FoglalkoztatasTipusa.HasValue && isKlebelsbergKozpontOrNSZFH && tanarTobbesModCO.FoglalkoztatasTipusa.Value == (int)FoglalkoztatasTipusaEnum.Reszmunkaidos)
|
|
{
|
|
if (tanarTobbesModCO.ReszmunkaidosSzazalek.HasValue)
|
|
{
|
|
munkaugyi.ReszmunkaidoSzazalek = tanarTobbesModCO.ReszmunkaidosSzazalek;
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(ErrorResource.AReszmunkaidoSzazalekMezoMegadasaKotelezoAMunkaugyiAdatokTabFulon);
|
|
}
|
|
}
|
|
|
|
if (tanarTobbesModCO.IsKuldhetoPedMinositesSzRnek.HasValue)
|
|
{
|
|
alk.IsKuldhetoPedMinositesSzRnek = tanarTobbesModCO.IsKuldhetoPedMinositesSzRnek.ToBool();
|
|
}
|
|
|
|
if (tanarTobbesModCO.OktatoiFeladatokatIsEllat.HasValue)
|
|
{
|
|
munkaugyi.IsOktatoiFeladatok = tanarTobbesModCO.OktatoiFeladatokatIsEllat.ToBool();
|
|
}
|
|
|
|
alk.TanevId = TanevId;
|
|
munkaugyi.TanevId = TanevId;
|
|
|
|
var dal = h.TanarDal();
|
|
|
|
dal.FullUpdate(alk, munkaugyi);
|
|
});
|
|
}
|
|
|
|
public void SzervezetAlkalmazottTobbesModify(TanarTobbesModCO tanarTobbesModCO)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
if (!tanarTobbesModCO.AlkalmazottId.HasValue)
|
|
{
|
|
throw new BlException(AlkalmazottResource.NemLetezoAlkalmazott);
|
|
}
|
|
|
|
var alk = h.Alkalmazott().Get(tanarTobbesModCO.AlkalmazottId.Value);
|
|
|
|
if (tanarTobbesModCO.Nem.HasValue)
|
|
{
|
|
alk.Neme = tanarTobbesModCO.Nem.Value;
|
|
}
|
|
if (tanarTobbesModCO.OktatoSzervezetId.IsEntityId())
|
|
{
|
|
var munkaugyi = alk.MunkaugyiAdatok.FirstOrDefault(x => !x.Torolt);
|
|
if (munkaugyi == null)
|
|
{
|
|
throw new BlException(AlkalmazottResource.AlkalmazottnakNincsenekMunkaugyiAdatai);
|
|
}
|
|
munkaugyi.SzervezetId = tanarTobbesModCO.OktatoSzervezetId.Value;
|
|
|
|
alk.TanevId = TanevId;
|
|
munkaugyi.TanevId = TanevId;
|
|
|
|
var dal = h.TanarDal();
|
|
|
|
dal.FullUpdate(alk, munkaugyi);
|
|
}
|
|
});
|
|
}
|
|
|
|
public string GetTanarNev(int tanarId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
return h.TanarDal().GetTanarNev(tanarId);
|
|
});
|
|
}
|
|
|
|
private void TobbesModSetGyESGyed(TanarTobbesModCO tanarTobbesModCO, IMunkaugyiAdatok munkaugyi)
|
|
{
|
|
if (tanarTobbesModCO.GyESGyed.HasValue)
|
|
{
|
|
munkaugyi.TartosHelyettesites = tanarTobbesModCO.GyESGyed.ToBool();
|
|
if (tanarTobbesModCO.GyESGyed.ToBool())
|
|
{
|
|
munkaugyi.PedagogusStatusza = (int)PedagogusStatuszEnum.tartosan_tavollevo;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void TobbesModSetBesorolasiFokozat(TanarTobbesModCO tanarTobbesModCO, IMunkaugyiAdatok munkaugyi)
|
|
{
|
|
const int mesterpedagogusKuszobOraszam = 18;
|
|
if (tanarTobbesModCO.PedagogusFokozat.HasValue)
|
|
{
|
|
if (tanarTobbesModCO.PedagogusFokozat.Value == (int)BesorolasiFokozatTipusEnum.mesterpedagogus && !munkaugyi.TartosHelyettesites)
|
|
{
|
|
if (munkaugyi.KotelezoOraszam >= mesterpedagogusKuszobOraszam)
|
|
{
|
|
munkaugyi.PedagogusStatusza = (int)PedagogusStatuszEnum.teljes_munkaidos;
|
|
}
|
|
else
|
|
{
|
|
munkaugyi.PedagogusStatusza = (int)PedagogusStatuszEnum.reszmunkaidos;
|
|
}
|
|
}
|
|
|
|
munkaugyi.BesorolasiFokozat = tanarTobbesModCO.PedagogusFokozat.Value;
|
|
}
|
|
}
|
|
|
|
private void TobbesModSetKotelezoOraszam(TanarTobbesModCO tanarTobbesModCO, IMunkaugyiAdatok munkaugyi, bool isKK, bool NeedUpdateMunkaidoAdatai, bool isNszfhUjSzkt)
|
|
{
|
|
if (NeedUpdateMunkaidoAdatai)
|
|
{
|
|
if (!munkaugyi.BetoltetlenAllashely)
|
|
{
|
|
if (tanarTobbesModCO.VezetoiOraszamOka.HasValue)
|
|
{
|
|
munkaugyi.VezetoiOraszamok = tanarTobbesModCO.VezetoiOraszamOka.Value;
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(isNszfhUjSzkt ? ErrorResource.VezetoiMegbizasMegadasaKotelezo : ErrorResource.VezetoiOraszamOkaMegadasaKotelezo);
|
|
}
|
|
}
|
|
|
|
if (tanarTobbesModCO.VezetoiOraszamOka.HasValue && tanarTobbesModCO.FoglalkoztatasTipusa.HasValue && (isKK && tanarTobbesModCO.FoglalkoztatasTipusa.Value == (int)FoglalkoztatasTipusaEnum.Oraado || tanarTobbesModCO.VezetoiOraszamOka.Value != (int)VezetoiOraszamokTipusEnum.Nincs) || !isKK)
|
|
{
|
|
const int StandardKotelezpOraszamKuszob = 22;
|
|
if (tanarTobbesModCO.KotelezoOraszam.HasValue)
|
|
{
|
|
if (tanarTobbesModCO.KotelezoOraszam.Value >= StandardKotelezpOraszamKuszob && !munkaugyi.TartosHelyettesites)
|
|
{
|
|
munkaugyi.PedagogusStatusza = (int)PedagogusStatuszEnum.teljes_munkaidos;
|
|
}
|
|
else
|
|
{
|
|
munkaugyi.PedagogusStatusza = (int)PedagogusStatuszEnum.reszmunkaidos;
|
|
}
|
|
|
|
munkaugyi.KotelezoOraszam = tanarTobbesModCO.KotelezoOraszam.Value;
|
|
}
|
|
else
|
|
{
|
|
throw new BlException(ErrorResource.AKotelezoOraszamMezoMegadasaKotelezoAMunkaugyiAdatokTabFulon);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void TobbesModSetMunkaKor(TanarTobbesModCO tanarTobbesModCO, IMunkaugyiAdatok munkaugyi)
|
|
{
|
|
if (tanarTobbesModCO.MunkaKor.HasValue)
|
|
{
|
|
TobbesModSetPedagogusStatusza(munkaugyi);
|
|
|
|
munkaugyi.MunkakorTipusa = tanarTobbesModCO.MunkaKor.Value;
|
|
}
|
|
}
|
|
|
|
private void TobbesModSetPedagogusStatusza(IMunkaugyiAdatok munkaugyi)
|
|
{
|
|
const int vezetoKotelezeoOraszamKuszob = 2;
|
|
|
|
if (munkaugyi.FoglalkoztatasTipus == (int)FoglalkoztatasTipusaEnum.Oraado && !munkaugyi.TartosHelyettesites)
|
|
{
|
|
munkaugyi.PedagogusStatusza = (int)PedagogusStatuszEnum.oraado;
|
|
}
|
|
else if (!munkaugyi.TartosHelyettesites)
|
|
{
|
|
if (munkaugyi.KotelezoOraszam >= vezetoKotelezeoOraszamKuszob)
|
|
{
|
|
munkaugyi.PedagogusStatusza = (int)PedagogusStatuszEnum.teljes_munkaidos;
|
|
}
|
|
else
|
|
{
|
|
munkaugyi.PedagogusStatusza = (int)PedagogusStatuszEnum.reszmunkaidos;
|
|
}
|
|
}
|
|
}
|
|
|
|
public IDictionary<string, string> GetOsztalyfonokOsztalyfonokHelyettesByTanevForDDL()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal();
|
|
var ds = dal.GetOsztalyfonokOsztalyfonokhelyettesForDDL(TanevId, IntezmenyId);
|
|
return LogicUtil.CreateDropdownContent(ds, "ID", "Nev");
|
|
});
|
|
}
|
|
|
|
public DataSet GetUtolsoBeNemIrtOrak(int itezmenyId, int tanarId, int darab)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal();
|
|
return dal.GetUtolsoBeNemIrtOrak(itezmenyId, TanevId, tanarId, darab);
|
|
});
|
|
}
|
|
|
|
public DataSet GetKiirtHelyettesitesek(int itezmenyId, int tanarId, int darab)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal();
|
|
return dal.GetKiirtHelyettesitesek(itezmenyId, TanevId, tanarId, darab);
|
|
});
|
|
}
|
|
|
|
public DataSet GetMulasztasokSzama(int tanarId, bool isSzuperOsztalyFonok, int darab)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal();
|
|
return dal.GetMulasztasokSzama(TanevId, tanarId, isSzuperOsztalyFonok, darab);
|
|
});
|
|
|
|
}
|
|
|
|
public DataSet GetBukasokSzama(int tanarId, int darab)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal();
|
|
return dal.GetBukasokSzama(TanevId, tanarId, darab, BukasAtlag(h));
|
|
});
|
|
|
|
}
|
|
|
|
public DataSet GetTanarDashboardUzenet(int felhasznaloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
return h.DashboardUzenet().GetTanarDashboardUzenetDataSet(felhasznaloId);
|
|
});
|
|
}
|
|
|
|
public DataSet GetCovidFertozottek(int tanarId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
return h.Felhasznalo().GetCovidFertozottekByTanarDataSet(TanevId, tanarId);
|
|
});
|
|
}
|
|
|
|
public void SetOsztalyzatText(DataSet ds)
|
|
{
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (row.Field<int?>("C_TARGYKATEGORIA") == (int)TargyKategoriaTipusEnum.Szorgalom)
|
|
{
|
|
row["OSZTALYZAT_DNAME"] = TanuloErtekelesLogicWeb.GetOsztalyzatTextSzorgalom(row.Field<int?>("OSZTALYZAT"), TanevId);
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<ComboBoxListItem> GetKapcsolodoTanarokForComboBox(OktNevelesiKategoriaEnum? feladatKategoria, int? felhasznaloId = null)
|
|
{
|
|
DataSet dataSet = GetKapcsolodoTanarokDataSet(feladatKategoria, felhasznaloId);
|
|
List<ComboBoxListItem> result = LogicUtil.CreateMvcGroupedSelectListItem(dataSet, "ID", null, "GroupName", valueFormat: "{Nev} ({OktatasiAzonosito})");
|
|
return result;
|
|
}
|
|
|
|
public DataSet GetKapcsolodoTanarokDataSet(OktNevelesiKategoriaEnum? feladatKategoria, int? felhasznaloId = null)
|
|
{
|
|
DataSet result = Dal.CustomConnection.Run(ConnectionType, h => h.TanarDal().GetTanarokByOktNevKategoria(TanevId, feladatKategoria, felhasznaloId));
|
|
return result;
|
|
}
|
|
|
|
public bool HasTanarAlapertelmezettCim()
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var felhasznaloDal = h.Felhasznalo();
|
|
var tanar = felhasznaloDal.Get(FelhasznaloId);
|
|
return tanar.Cim.Any(x => x.Alapertelmezett && !x.Torolt && x.Gondviselo == null);
|
|
});
|
|
}
|
|
|
|
public bool HasTanarMentorCsoport(int tanarId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var alkalmazottDal = h.Alkalmazott();
|
|
return alkalmazottDal.AlkalmazottHasMentorCsoport(tanarId, TanevId, (int)CsoportTipusEnum.apaczai_mentorcsoport);
|
|
});
|
|
}
|
|
|
|
public List<TovabbkepzesCo> GetAlkalmazottTovabbkepzesek(int alkalmazottId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.Alkalmazott(GridParameters);
|
|
|
|
var tovabbkepzesekDs = dal.GetAlkalmazottTovabbkepzesek(alkalmazottId);
|
|
var tovabbkepzesek = tovabbkepzesekDs.Tables[0].AsEnumerable().Select(t => new TovabbkepzesCo
|
|
{
|
|
ID = t.Field<int>(nameof(TovabbkepzesCo.ID)),
|
|
TovabbkepzesMegnevezese = t.Field<string>(nameof(TovabbkepzesCo.TovabbkepzesMegnevezese)),
|
|
TanusitvanySorszama = t.Field<string>(nameof(TovabbkepzesCo.TanusitvanySorszama)),
|
|
Oraszam = t.Field<int?>(nameof(TovabbkepzesCo.Oraszam)),
|
|
Helyszin = t.Field<string>(nameof(TovabbkepzesCo.Helyszin)),
|
|
EngedelySzama = t.Field<string>(nameof(TovabbkepzesCo.EngedelySzama)),
|
|
Datum = t.Field<DateTime?>(nameof(TovabbkepzesCo.Datum))
|
|
}).ToList();
|
|
|
|
return tovabbkepzesek;
|
|
});
|
|
}
|
|
|
|
public void SaveTovabbkepzes(TovabbkepzesCo tovabbkepzesCo)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var tovabbkepzesDal = h.TovabbkepzesDal();
|
|
|
|
var tovabbkepzesEntity = tovabbkepzesDal.Get(tovabbkepzesCo.ID);
|
|
tovabbkepzesEntity.TovabbkepzesMegnevezese = tovabbkepzesCo.TovabbkepzesMegnevezese;
|
|
tovabbkepzesEntity.TanusitvanySorszama = tovabbkepzesCo.TanusitvanySorszama;
|
|
tovabbkepzesEntity.Oraszam = tovabbkepzesCo.Oraszam;
|
|
tovabbkepzesEntity.Helyszin = tovabbkepzesCo.Helyszin;
|
|
tovabbkepzesEntity.EngedelySzama = tovabbkepzesCo.EngedelySzama;
|
|
tovabbkepzesEntity.Datum = tovabbkepzesCo.Datum;
|
|
tovabbkepzesEntity.AlkalmazottId = tovabbkepzesCo.AlkalmazottId;
|
|
tovabbkepzesEntity.TanevId = TanevId;
|
|
tovabbkepzesEntity.IntezmenyId = IntezmenyId;
|
|
|
|
if (tovabbkepzesCo.ID.HasValue)
|
|
{
|
|
tovabbkepzesDal.FullUpdate(tovabbkepzesEntity);
|
|
}
|
|
else
|
|
{
|
|
tovabbkepzesDal.Insert(tovabbkepzesEntity);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void DeleteTovabbkepzes(int tovabbkepzesId)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var tovabbkepzesDal = h.TovabbkepzesDal();
|
|
tovabbkepzesDal.Delete(tovabbkepzesId);
|
|
});
|
|
}
|
|
|
|
public TovabbkepzesCo GetTovabbkepzes(int tovabbkepzesId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var tovabbkepzesDal = h.TovabbkepzesDal();
|
|
|
|
var tovabbkepzesEntity = tovabbkepzesDal.Get(tovabbkepzesId);
|
|
return new TovabbkepzesCo
|
|
{
|
|
ID = tovabbkepzesEntity.ID,
|
|
AlkalmazottId = tovabbkepzesEntity.AlkalmazottId,
|
|
TovabbkepzesMegnevezese = tovabbkepzesEntity.TovabbkepzesMegnevezese,
|
|
TanusitvanySorszama = tovabbkepzesEntity.TanusitvanySorszama,
|
|
Oraszam = tovabbkepzesEntity.Oraszam,
|
|
Helyszin = tovabbkepzesEntity.Helyszin,
|
|
EngedelySzama = tovabbkepzesEntity.EngedelySzama,
|
|
Datum = tovabbkepzesEntity.Datum
|
|
};
|
|
});
|
|
}
|
|
|
|
public Dictionary<int, (string Tanar, DateTime SzuletesiDatum)> GetTanarNevSzuletesiDatumok(bool isDualisKepzohelyiOktatok = false)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanarDal();
|
|
return dal.GetAlkalmazottNameBirthdays(TanevId, isDualisKepzohelyiOktatok).Tables[0].AsEnumerable().ToDictionary(x => x.Field<int>("ID"), x => (Tanar: x.Field<string>("Nev"), SzuletesiDatum: x.Field<DateTime>("SzuletesiDatum")));
|
|
});
|
|
}
|
|
}
|
|
}
|