init
This commit is contained in:
@@ -0,0 +1,320 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Logic.Naplozas.Validacio;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.ConnectionType;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.BusinessLogic.Logic.Naplozas.Elokeszites
|
||||
{
|
||||
public class NaplozasElokeszitesLogic
|
||||
{
|
||||
protected NaplozasElokeszitesModel Model;
|
||||
|
||||
protected IConnectionType ConnectionType;
|
||||
|
||||
protected NaploValidacio Validator;
|
||||
|
||||
public NaplozasElokeszitesModel GetModel
|
||||
{
|
||||
get { return Model; }
|
||||
}
|
||||
|
||||
protected NaplozasElokeszitesLogic(NaploValidacio validator)
|
||||
{
|
||||
Validator = validator;
|
||||
ConnectionType = validator.ConnectionType;
|
||||
}
|
||||
|
||||
public NaplozasElokeszitesLogic(NaploValidacio validator, NaplozasElokeszitesCo input) : this(validator)
|
||||
{
|
||||
FillInnerModel(input);
|
||||
}
|
||||
|
||||
public NaplozasElokeszitesLogic(NaploValidacio validator, EgyediNaplozasElokeszitesCo input) : this(validator)
|
||||
{
|
||||
FillInnerModel(input);
|
||||
}
|
||||
|
||||
public NaplozasElokeszitesLogic(NaploValidacio validator, HelyettesitesNaplozasElokeszitesCo input) : this(validator)
|
||||
{
|
||||
FillInnerModel(input);
|
||||
}
|
||||
|
||||
private void FillInnerModel(NaplozasElokeszitesCo input)
|
||||
{
|
||||
var thelper = new TanoraHelper(ConnectionType);
|
||||
|
||||
var oraCo = thelper.GetTanoraByOrarendiId(input.TanitasiOraId ?? input.OrarendiOraId.Value, input.Start, input.TanitasiOraId.HasValue, isTanuloOrGondviselo: false);
|
||||
|
||||
if (input is HelyettesitesNaplozasElokeszitesCo helyettesitesNaplozasElokeszitesInput)
|
||||
{
|
||||
oraCo.HelyettesitesTipus = helyettesitesNaplozasElokeszitesInput.HelyettesitesTipus ?? oraCo.HelyettesitesTipus;
|
||||
oraCo.HelyettesitesId = helyettesitesNaplozasElokeszitesInput.HelyettesitesId ?? oraCo.HelyettesitesId;
|
||||
oraCo.HelyettesitesOka = !string.IsNullOrWhiteSpace(helyettesitesNaplozasElokeszitesInput.HelyettesitesOka) ? helyettesitesNaplozasElokeszitesInput.HelyettesitesOka : oraCo.HelyettesitesOka;
|
||||
oraCo.Helyettesito = ConnectionType.FelhasznaloId;
|
||||
}
|
||||
|
||||
Model = new NaplozasElokeszitesModel(ConnectionType.FelhasznaloId, input.SzervezetTipusId);
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionType);
|
||||
var helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Helyettesites_eseten_felugyelet_alapertelmezetten_sorszamozando);
|
||||
|
||||
Model.OraAdat.Fill(oraCo, helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando);
|
||||
|
||||
if (input.TanitasiOraId.HasValue)
|
||||
{
|
||||
SetEgyediOraEvesOraszam(thelper, sorszamozando: false);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetEgyediOraEvesOraszam(thelper, Model.OraAdat.IsSorszamozando);
|
||||
}
|
||||
|
||||
SetOsztalyfonok(new OsztalyHelper(ConnectionType));
|
||||
SetElozoOraAdatai(new OrarendiOraHelper(ConnectionType));
|
||||
SetSzamonkeresElorejelzesAdatai(new SzamonkeresElorejelzesHelper(ConnectionType));
|
||||
SetHetesekAdatai(new HetesekHelper(ConnectionType));
|
||||
SetTemaLista(thelper);
|
||||
SetMentessegList(new OrarendHelper(ConnectionType));
|
||||
|
||||
Model.OraTulajdonsag.Fill(oraCo);
|
||||
Model.Helyettesites.Fill(oraCo);
|
||||
if (!Model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
Model.Hazifeladat.Fill(oraCo);
|
||||
Model.DigitalisOktatas.Fill(oraCo);
|
||||
}
|
||||
}
|
||||
|
||||
private void FillInnerModel(EgyediNaplozasElokeszitesCo input)
|
||||
{
|
||||
Model = new NaplozasElokeszitesModel(ConnectionType.FelhasznaloId);
|
||||
|
||||
if (input.FoglakozasId.HasValue)
|
||||
{
|
||||
var helper = new TantargyFelosztasHelper(ConnectionType);
|
||||
var ttf = helper.GetFoglalkozasDataById(input.FoglakozasId.Value);
|
||||
var nemzetisegiOra = SDAConvert.ToBooleanFromTF(ttf.Tables[0].Rows[0]["NemzetisegiOra"]);
|
||||
var naplozasCo = new NaplozasCo
|
||||
{
|
||||
OraTulajdosag = new NaplozasCo.OraTulajdonsagModel
|
||||
{
|
||||
NemzetisegiOra = nemzetisegiOra
|
||||
}
|
||||
};
|
||||
Model.OraTulajdonsag.Fill(naplozasCo);
|
||||
}
|
||||
|
||||
Model.IsEgyediNaplozas = true;
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionType);
|
||||
var helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Helyettesites_eseten_felugyelet_alapertelmezetten_sorszamozando);
|
||||
|
||||
Model.OraAdat.Fill(ConnectionType, input, helyettesitesEsetenFelugyeletAlapertelmezettenSorszamozando);
|
||||
|
||||
Model.Helyettesites.Fill(input, ConnectionType.FelhasznaloId);
|
||||
|
||||
var tanarHelper = new TanarHelper(ConnectionType);
|
||||
var tanoraHelper = new TanoraHelper(ConnectionType);
|
||||
|
||||
SetTanar(tanarHelper, input.HelyettesitesTanarId);
|
||||
SetOraszam(new CsengetesiRendOrakHelper(ConnectionType));
|
||||
SetTantargyOsztalycsoport();
|
||||
|
||||
SetEgyediOraEvesOraszam(tanoraHelper, Model.OraAdat.IsSorszamozando);
|
||||
SetElozoOraAdatai(new OrarendiOraHelper(ConnectionType));
|
||||
SetEgyediOraTema(tanoraHelper);
|
||||
SetTemaLista(tanoraHelper);
|
||||
SetHazifeladat();
|
||||
SetHetesekAdatai(new HetesekHelper(ConnectionType));
|
||||
SetOraVegeByOrahossz();
|
||||
}
|
||||
|
||||
private void SetOraVegeByOrahossz()
|
||||
{
|
||||
var isOravegeBeallitasOrahosszAlapjan = new SystemSettingsHelper(ConnectionType).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
|
||||
if (isOravegeBeallitasOrahosszAlapjan)
|
||||
{
|
||||
var csoport = new CsoportHelper(ConnectionType).GetCsoportCoList().SingleOrDefault(cs => cs.Id == Model.OraAdat.OsztalyCsoportId.Value);
|
||||
if (csoport != null)
|
||||
{
|
||||
var csoportTipusList = new AdatszotarHelper(ConnectionType).GetCsoportTipusList();
|
||||
var csoportTipusId = csoport.TipusId ?? (int)CsoportTipusEnum.iskolai_csoport_tanorai_celu_;
|
||||
var csoportTipus = csoportTipusList.Single(cs => cs.Id == csoportTipusId);
|
||||
|
||||
if (csoportTipus.OraPerc.HasValue)
|
||||
{
|
||||
Model.OraAdat.OraVege = Model.OraAdat.OraKezdete.AddMinutes(csoportTipus.OraPerc.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void SetMentessegList(OrarendHelper helper)
|
||||
{
|
||||
var ds = helper.GetOraMentessegList(Model.OraAdat.OraKezdete, Model.OraAdat.OraVege, Model.OraAdat.OsztalyCsoportId.Value);
|
||||
if (ds.Tables[0].Rows.Count == 1)
|
||||
{
|
||||
var row = ds.Tables[0].Rows[0];
|
||||
Model.Mulasztas.JogviszonySzunetletetokDb = row.Field<int>("JogviszonyDb");
|
||||
Model.Mulasztas.JogviszonySzunetletetok = row.Field<string>("JogviszonyNevSor");
|
||||
Model.Mulasztas.SzakmaiGyakorlatonLevokDb = row.Field<int>("SzakmaiGyakDb");
|
||||
Model.Mulasztas.SzakmaiGyakorlatonLevok = row.Field<string>("SzakmaiGyakNevSor");
|
||||
}
|
||||
}
|
||||
|
||||
protected void SetTemaLista(TanoraHelper helper)
|
||||
{
|
||||
Model.OraAdat.TemaLista = helper.GetTemaIdAndNameForNaplozasDDL(Model.OraAdat.TantargyId.Value, Model.OraAdat.OsztalyCsoportId.Value, Model.OraAdat.TanarId.Value, Model.SzervezetTipusId);
|
||||
}
|
||||
|
||||
protected void SetElozoOraAdatai(OrarendiOraHelper helper)
|
||||
{
|
||||
var elozoOraAdatai = helper.GetElozoOraAdatai(Model.OraAdat.TantargyId.Value, Model.OraAdat.OsztalyCsoportId.Value, Model.OraAdat.TanarId.Value, Model.OraAdat.OraKezdete);
|
||||
Model.OraAdat.ElozoOraAdat = elozoOraAdatai?.ElozoOraAdatai ?? string.Empty;
|
||||
Model.OraAdat.ElozoOraTema = elozoOraAdatai?.ElozoOraTemaja ?? string.Empty;
|
||||
}
|
||||
|
||||
protected void SetSzamonkeresElorejelzesAdatai(SzamonkeresElorejelzesHelper helper)
|
||||
{
|
||||
var ds = helper.GetSzamonkeresElorejelzesDetailDataSet(new SzamonkeresElorejelzesSearchCO
|
||||
{
|
||||
OraGroupId = Model.OraAdat.GroupId,
|
||||
Datum = Model.OraAdat.OraKezdete.Date,
|
||||
OraszamSrc = Model.OraAdat.Oraszam,
|
||||
OsztalyCsoportId = Model.OraAdat.OsztalyCsoportId
|
||||
}, isKellKapcsolodoOsztalyok: false);
|
||||
|
||||
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0 && !string.IsNullOrWhiteSpace(SDAConvert.ToString(ds.Tables[0].Rows[0]["SzamonkeresMod"])))
|
||||
{
|
||||
Model.OraAdat.SzamonkeresModId = SDAConvert.ToInt32(ds.Tables[0].Rows[0]["SzamonkeresModId"]);
|
||||
Model.OraAdat.SzamonkeresModja = SDAConvert.ToString(ds.Tables[0].Rows[0]["SzamonkeresMod"]);
|
||||
Model.OraAdat.SzamonkeresMegnevezes = SDAConvert.ToString(ds.Tables[0].Rows[0]["SzamonkeresMegnevezes"]);
|
||||
}
|
||||
}
|
||||
|
||||
protected void SetHetesekAdatai(HetesekHelper helper)
|
||||
{
|
||||
Model.OraAdat.Hetesek = helper.GetHetesekForDatum(Model.OraAdat.OsztalyCsoportId.Value, Model.OraAdat.OraKezdete.Date);
|
||||
}
|
||||
|
||||
protected void SetOsztalyfonok(OsztalyHelper helper)
|
||||
{
|
||||
Model.OraAdat.OsztalyfonokId = helper.GetOsztalyfonokByOsztalyId(Model.OraAdat.OsztalyCsoportId.Value);
|
||||
}
|
||||
|
||||
protected void SetTanar(TanarHelper helper, int? helyettesTanarId)
|
||||
{
|
||||
if (helyettesTanarId.HasValue)
|
||||
{
|
||||
Model.OraAdat.TanarNev = helper.GetTanarNev(helyettesTanarId.Value);
|
||||
Model.OraAdat.TanarId = helyettesTanarId;
|
||||
}
|
||||
else
|
||||
{
|
||||
Model.OraAdat.TanarNev = helper.GetTanarNev(ConnectionType.FelhasznaloId);
|
||||
Model.OraAdat.TanarId = ConnectionType.FelhasznaloId;
|
||||
}
|
||||
}
|
||||
|
||||
protected void SetOraszam(CsengetesiRendOrakHelper helper)
|
||||
{
|
||||
if (!Model.OraAdat.IsTanorankivuli)
|
||||
{
|
||||
Model.OraAdat.Oraszam = helper.GetCsengetesiRendOraSzam(Model.OraAdat.CsengetesirendOraId.Value);
|
||||
}
|
||||
}
|
||||
|
||||
protected void SetTantargyOsztalycsoport()
|
||||
{
|
||||
TantargyFoglalkozasCO foglalkozas = null;
|
||||
|
||||
if (Model.OraAdat.FoglakozasId.IsEntityId() && (!Model.OraAdat.OsztalyCsoportId.IsEntityId() || !Model.OraAdat.TantargyId.IsEntityId()))
|
||||
{
|
||||
foglalkozas = new FoglalkozasHelper(ConnectionType).GetFoglalkozas(Model.OraAdat.FoglakozasId.Value);
|
||||
}
|
||||
|
||||
if (Model.OraAdat.OsztalyCsoportId.IsEntityId())
|
||||
{
|
||||
Model.OraAdat.OsztalyCsoportNev = new OsztalyCsoportHelper(ConnectionType).GetOsztalyCsoportNevById(Model.OraAdat.OsztalyCsoportId.Value);
|
||||
}
|
||||
else if (foglalkozas != null)
|
||||
{
|
||||
Model.OraAdat.OsztalyCsoportNev = foglalkozas.OsztalyCsoportNev;
|
||||
Model.OraAdat.OsztalyCsoportId = foglalkozas.OsztalyCsoportId;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception(ErrorResource.NincsSemOsztalycsoportSemFoglalkozas);
|
||||
}
|
||||
|
||||
if (Model.OraAdat.TantargyId.IsEntityId())
|
||||
{
|
||||
var tantargy = new TantargyHelper(ConnectionType).GetTantargyById(Model.OraAdat.TantargyId.Value);
|
||||
Model.OraAdat.TantargyNev = tantargy.TantargyNev;
|
||||
}
|
||||
else if (foglalkozas != null)
|
||||
{
|
||||
Model.OraAdat.TantargyId = foglalkozas.TantargyId;
|
||||
Model.OraAdat.TantargyNev = foglalkozas.TantargyNev;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception(ErrorResource.NincsSemTantargySemFoglalkozas);
|
||||
}
|
||||
}
|
||||
|
||||
protected void SetEgyediOraTema(TanoraHelper tanoraHelper)
|
||||
{
|
||||
Model.OraAdat.Tema = tanoraHelper.GetTemaEvesOraSorszamhoz(Model.OraAdat.TantargyId.Value, Model.OraAdat.OsztalyCsoportId.Value, ConnectionType.FelhasznaloId, Model.OraAdat.EvesOraSorszam.Value);
|
||||
}
|
||||
|
||||
protected void SetEgyediOraEvesOraszam(TanoraHelper tanoraHelper, bool sorszamozando)
|
||||
{
|
||||
var evesOraszam = tanoraHelper.GetOraEvesSorszamaSP(Model.OraAdat.TantargyId.Value, Model.OraAdat.OsztalyCsoportId.Value, Model.OraAdat.OraKezdete, Model.OraAdat.TanarId.Value);
|
||||
if (Model.OraAdat.IsElmaradt)
|
||||
{
|
||||
Model.OraAdat.EvesOraSorszam = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
Model.OraAdat.EvesOraSorszam = sorszamozando ? evesOraszam + 1 : evesOraszam;
|
||||
}
|
||||
}
|
||||
|
||||
protected void SetHazifeladat()
|
||||
{
|
||||
Enum.TryParse(new OsztalyCsoportHelper(ConnectionType).GetOsztalyCsoportFeladatKategoria(Model.OraAdat.OsztalyCsoportId.Value).ToString(), out OktNevelesiKategoriaEnum kategoria);
|
||||
|
||||
var helper = new DktFeladatHelper(ConnectionType);
|
||||
|
||||
var hazi = Model.IsTanora ?
|
||||
helper.GetTanitasiOraHaziFeladatDetail(Model.OraAdat.TanitasiOraId, kategoria, isTanuloOrGondviselo: false) :
|
||||
helper.GetOrarendiOraHaziFeladatDetail(Model.OraAdat.OrarendiOraId, Model.OraAdat.OraKezdete, isTanuloOrGondviselo: false, oraszam: null, kategoria);
|
||||
|
||||
if (hazi.Id.HasValue)
|
||||
{
|
||||
Model.Hazifeladat.Id = hazi.Id;
|
||||
Model.Hazifeladat.Szoveg = hazi.Szoveg;
|
||||
Model.Hazifeladat.Hatarido = hazi.Hatarido;
|
||||
}
|
||||
}
|
||||
|
||||
public bool TeremUtkozesEllenorzes()
|
||||
{
|
||||
return Validator.TeremUtkozesEllenorzes(Model);
|
||||
}
|
||||
|
||||
public string GetOsztalyEsTanarOraiUtkozes()
|
||||
{
|
||||
return Validator.GetOsztalyEsTanarOraiUtkozes(Model);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user