1111 lines
50 KiB
C#
1111 lines
50 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.BusinessLogic.Classes;
|
|
using Kreta.BusinessLogic.Exceptions;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Utils;
|
|
using Kreta.Core;
|
|
using Kreta.Core.ConnectionType;
|
|
using Kreta.Core.Exceptions;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Resources;
|
|
|
|
namespace Kreta.BusinessLogic.Helpers
|
|
{
|
|
public class OsztalyHelper : LogicBase
|
|
{
|
|
public OsztalyHelper(IConnectionType connectionType) : base(connectionType) { }
|
|
|
|
public DataSet GetSZMKOsztalyok(int gondviseloId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.EugyintezesDal();
|
|
return dal.GetSZMKOsztalyok(gondviseloId);
|
|
});
|
|
}
|
|
|
|
public OsztalyCO GetClassById(int id)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly();
|
|
var entity = dal.Get(id);
|
|
var co = ConvertEntityToCo(entity, h);
|
|
|
|
co.HasTanuloBesorolas = h.OsztalyCsoport().HasTanuloBesorolas(id);
|
|
|
|
return co;
|
|
});
|
|
}
|
|
|
|
public void InsertCo(OsztalyCO co)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly();
|
|
var entity = dal.Get();
|
|
ConvertToNewEntity(entity, co);
|
|
entity.TanevId = TanevId;
|
|
entity.FeladatKategoriaId = new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h)).GetFeladatKategoriaId(co.FeladatEllatasiHelyId);
|
|
dal.Insert(entity);
|
|
});
|
|
|
|
}
|
|
|
|
public void UpdateCo(OsztalyCO co)
|
|
{
|
|
Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly();
|
|
var entity = dal.Get(co.Id);
|
|
|
|
if (entity.FeladatEllatasiHelyId != co.FeladatEllatasiHelyId)
|
|
{
|
|
var helper = new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
var dictionary = helper.GetFeladatEllatasiHelyDDl(string.Empty, (int)OktNevelesiKategoriaEnum.NevelesOktatas);
|
|
var feladatEllatasiHelyIdMegtalalhato = dictionary.Keys.Any(x => x == entity.FeladatEllatasiHelyId.ToString());
|
|
|
|
if (feladatEllatasiHelyIdMegtalalhato)
|
|
{
|
|
if (!new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h)).IsAzonosKategoria(entity.FeladatEllatasiHelyId, co.FeladatEllatasiHelyId) && h.OsztalyCsoport().HasTanuloBesorolas(co.Id, true))
|
|
{
|
|
throw new BlException(OsztalyCsoportResource.FeladatellatasiHelyNemModosithatoMertVanTanuloBesorolva);
|
|
}
|
|
}
|
|
}
|
|
|
|
var kapcsolodoOsztalybontottCsoportokUpdate = (
|
|
entity.EvfolyamTipusa != co.EvfolyamTipusa
|
|
|| entity.VegzosEvfolyam != co.VegzosEvfolyam
|
|
|| entity.Keresztfeleves != co.Keresztfeleves
|
|
|| entity.FeladatEllatasiHelyId != co.FeladatEllatasiHelyId
|
|
|| entity.OsztalyFonokId != co.OsztalyfonokId
|
|
|| entity.KepzesiForma != co.KepzesiForma
|
|
|| entity.IsTechnikai != co.TechnikaiOsztaly
|
|
);
|
|
|
|
var osztalyTanuloiUpdateSzakkepzesesAdatokNeeded = co.SzakmacsoportId.HasValue
|
|
|| co.AgazatId.HasValue
|
|
|| co.SzakkepesitesId.HasValue
|
|
|| co.ReszSzakkepesitesId.HasValue;
|
|
|
|
var osztalyTanuloiUpdateSzakkepzoJuttatasAdatokNeeded = new IntezmenyHelper(new DalHandlerConnectionType(ConnectionType, h)).GetIntezmenyiAdatok().IsSzakkepzoJuttatas;
|
|
|
|
var felhelyHelper = new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
var elozoFelhelyIsSzakkepzeses = felhelyHelper.IsSzakkepzeses(entity.FeladatEllatasiHelyId);
|
|
var ujFelhelyIsSzakkepzeses = felhelyHelper.IsSzakkepzeses(co.FeladatEllatasiHelyId);
|
|
|
|
var juttatasUpdateNeeded = entity.JogviszonyTipusId != co.JogviszonyTipusId
|
|
|| entity.EvfolyamTipusa != co.EvfolyamTipusa
|
|
|| entity.IsTechnikai != co.TechnikaiOsztaly
|
|
|| entity.Keresztfeleves != co.Keresztfeleves
|
|
|| elozoFelhelyIsSzakkepzeses != ujFelhelyIsSzakkepzeses
|
|
|| entity.VegzosEvfolyam != co.VegzosEvfolyam;
|
|
|
|
var isOrarendUpdateNeeded = (entity.VegzosEvfolyam != co.VegzosEvfolyam
|
|
|| entity.Keresztfeleves != co.Keresztfeleves) && entity.OrarendiOra.Count > 0;
|
|
|
|
ConvertToUpdateEntity(h, entity, co);
|
|
|
|
if (kapcsolodoOsztalybontottCsoportokUpdate)
|
|
{
|
|
KapcsolodoOsztalybontottCsoportokUpdate(h, entity, isOrarendUpdateNeeded);
|
|
}
|
|
|
|
if (osztalyTanuloiUpdateSzakkepzesesAdatokNeeded)
|
|
{
|
|
var szakkepzeseAdatok = new SzakkepzesesAdatokCO
|
|
{
|
|
Szakmacsoport = entity.SzakmaCsoport,
|
|
Agazat = entity.Agazat,
|
|
Szakkepesites = entity.Szakkepesites,
|
|
Reszszakkepesites = entity.Reszszakkepesites
|
|
};
|
|
|
|
SetSzakkepzesesAdatokNaToNull(szakkepzeseAdatok);
|
|
dal.UpdateOsztalyTanuloiSzakkepzesesAdatok(entity.ID, szakkepzeseAdatok.ConvertToPCO());
|
|
}
|
|
|
|
if (elozoFelhelyIsSzakkepzeses && !ujFelhelyIsSzakkepzeses)
|
|
{
|
|
dal.UpdateOsztalyTanuloiReszszakepzesAdatokToNull(entity.ID, TanevId, IntezmenyId, FelhasznaloId);
|
|
}
|
|
|
|
if (osztalyTanuloiUpdateSzakkepzoJuttatasAdatokNeeded)
|
|
{
|
|
dal.FullUpdate(entity);
|
|
if (juttatasUpdateNeeded)
|
|
{
|
|
var osztalyTanuloiIdList = entity.Tanulo.Where(x => !x.Torolt && (!x.KilepesDatum.HasValue || (x.KilepesDatum.Value >= DateTime.Today))).Select(tcs => tcs.TanuloId).ToList();
|
|
var juttatasDal = h.JuttatasDAL();
|
|
juttatasDal.UpdateTanulokSzakkepzesiJuttatasok(entity.TanevId, FelhasznaloId, (int)JuttatasTipusEnum.szakkepzesi_juttatas, tanulokIdString: string.Join(",", osztalyTanuloiIdList));
|
|
juttatasDal.UpdateTanulokSzakkepzesiJuttatasok(entity.TanevId, FelhasznaloId, (int)JuttatasTipusEnum.apaczaiosztondij, tanulokIdString: string.Join(",", osztalyTanuloiIdList));
|
|
}
|
|
return;
|
|
}
|
|
dal.FullUpdate(entity);
|
|
});
|
|
}
|
|
|
|
private void KapcsolodoOsztalybontottCsoportokUpdate(IDalHandler h, IOsztaly entity, bool isOrarendUpdateNeeded)
|
|
{
|
|
var csoportDal = h.Csoport();
|
|
var orarendDal = h.OrarendiOra();
|
|
foreach (var osztalybontottcsoport in entity.CsoportBontasok)
|
|
{
|
|
osztalybontottcsoport.EvfolyamTipusa = entity.EvfolyamTipusa;
|
|
osztalybontottcsoport.VegzosEvfolyam = entity.VegzosEvfolyam;
|
|
osztalybontottcsoport.Keresztfeleves = entity.Keresztfeleves;
|
|
osztalybontottcsoport.FeladatEllatasiHelyId = entity.FeladatEllatasiHelyId;
|
|
osztalybontottcsoport.KepzesiForma = entity.KepzesiForma;
|
|
osztalybontottcsoport.FeladatKategoriaId = new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h)).GetFeladatKategoriaId(entity.FeladatEllatasiHelyId);
|
|
osztalybontottcsoport.IsTechnikai = entity.IsTechnikai;
|
|
|
|
if (osztalybontottcsoport.IsAutoEgyeniCsoport)
|
|
{
|
|
osztalybontottcsoport.CsoportVezetoId = entity.OsztalyFonokId;
|
|
}
|
|
|
|
csoportDal.Update(osztalybontottcsoport);
|
|
if (isOrarendUpdateNeeded)
|
|
{
|
|
orarendDal.UpdateOrarend(IntezmenyId, TanevId, null, null, null, osztalybontottcsoport.ID);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void SetSzakkepzesesAdatokNaToNull(SzakkepzesesAdatokCO szakkepzesesAdatok)
|
|
{
|
|
if (szakkepzesesAdatok.Szakmacsoport == (int)SzakmacsoportTipusEnum.Na)
|
|
{
|
|
szakkepzesesAdatok.Szakmacsoport = null;
|
|
}
|
|
if (szakkepzesesAdatok.Agazat == (int)AgazatTipusEnum.Na)
|
|
{
|
|
szakkepzesesAdatok.Agazat = null;
|
|
}
|
|
if (szakkepzesesAdatok.Szakkepesites == (int)SzakkepesitesTipusEnum.Na)
|
|
{
|
|
szakkepzesesAdatok.Szakkepesites = null;
|
|
}
|
|
if (szakkepzesesAdatok.Reszszakkepesites == (int)ReszszakkepesitesTipusEnum.Na)
|
|
{
|
|
szakkepzesesAdatok.Reszszakkepesites = null;
|
|
}
|
|
}
|
|
|
|
public string DeleteClass(int id, bool csoportokTorlese, int felhasznaloId, bool updateTanoraEvesSorszam)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var tanmenetHelper = new TanmenetHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
var dal = h.Osztaly();
|
|
var entity = dal.Get(id);
|
|
var tanuloOsztalyNev = entity.Nev;
|
|
|
|
if (h.OsztalyCsoport().HasTanuloBesorolas(id))
|
|
{
|
|
throw new CannotBeDeletedException(string.Format(ErrorResource.Az0OsztalyCsoportNemTorolthetoMertKapcsolodikVagyKapcsolodottHozzaTanulo, tanuloOsztalyNev));
|
|
}
|
|
|
|
foreach (var tanmenetId in entity.Tanmenet.Where(x => !x.Torolt).Select(x => x.ID).ToList())
|
|
{
|
|
tanmenetHelper.DeleteTanmenet(tanmenetId);
|
|
}
|
|
|
|
// TODO: Átgondolni, a Csoport entitás Osztalybontás és az Osztály CsoportBontasok, illetve az Osztaly_Csoportok kapcsolótáblát, mert redundás tárolásnak tünik és össze vissza van használva.
|
|
// Elméletileg nem lehet egy csoportnak több osztálya(felületről biztos nem lehet állítani), ezért a kapcsolótábla indokolalannak tűnik.
|
|
// https://jira.ekreta.hu/browse/KRETA-2817
|
|
|
|
var osztalyCsoport = new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
|
|
if (!osztalyCsoport.HasTanitasiOra(id))
|
|
{
|
|
var orarendiOraDal = h.OrarendiOra();
|
|
var orarendiOraList = entity.OrarendiOra.Where(x => !x.Torolt).ToList();
|
|
|
|
orarendiOraList.ForEach(x => orarendiOraDal.Delete(x.ID));
|
|
}
|
|
|
|
var csoportDal = h.Csoport();
|
|
var csoportHelper = new CsoportHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
var csoportbontasok = entity.CsoportBontasok.Where(cs => !cs.Torolt).ToList();
|
|
|
|
if (csoportokTorlese)
|
|
{
|
|
csoportbontasok.ForEach(x => csoportHelper.DeleteGroupById(x.ID));
|
|
}
|
|
else
|
|
{
|
|
csoportbontasok.ForEach(x => csoportDal.SetOsztalyBontasIdToNull(x.ID, felhasznaloId, TanevId));
|
|
}
|
|
|
|
dal.Delete(entity, IntezmenyId, TanevId, updateTanoraEvesSorszam);
|
|
return tanuloOsztalyNev;
|
|
});
|
|
}
|
|
|
|
public DataSet OsztalyExport(OsztalySearchCo co)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
DateTime tanevElsoTanitasiNapja = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h)).GetTanevKezdete();
|
|
var dal = h.Osztaly(GridParameters);
|
|
var ds = dal.OsztalyExport(co.ConvertToPco(), TanevId, tanevElsoTanitasiNapja);
|
|
return ds;
|
|
});
|
|
}
|
|
|
|
public string UpdateOsztalyTobbes(OsztalyTobbesModCO co)
|
|
{
|
|
if (!co.ID.HasValue)
|
|
{
|
|
throw new BlException(ErrorResource.NemLetezoOsztaly);
|
|
}
|
|
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var osztalyTanuloiUpdateSzakkepzesesAdatokNeeded = false;
|
|
|
|
var dal = h.Osztaly();
|
|
var entity = dal.Get(co.ID.Value);
|
|
|
|
var kapcsolodoOsztalybontottCsoportokUpdate = (
|
|
co.Evfolyam.HasValue && entity.EvfolyamTipusa != co.Evfolyam
|
|
|| co.VegzosEvf.HasValue && entity.VegzosEvfolyam != co.VegzosEvf.ToBool()
|
|
|| co.Keresztfeleves.HasValue && entity.Keresztfeleves != co.Keresztfeleves.ToBool()
|
|
|| co.FeladatellatasiHely.HasValue && entity.FeladatEllatasiHelyId != co.FeladatellatasiHely
|
|
);
|
|
|
|
var isOrarendUpdateNeeded = (entity.VegzosEvfolyam != co.VegzosEvf.ToBool()
|
|
|| entity.Keresztfeleves != co.Keresztfeleves.ToBool()) && entity.OrarendiOra.Count > 0;
|
|
|
|
var juttatasUpdateNeeded = (co.Evfolyam.HasValue && (entity.EvfolyamTipusa != co.Evfolyam))
|
|
|| (co.JogviszonyTipusId.HasValue && (entity.JogviszonyTipusId != co.JogviszonyTipusId))
|
|
|| (co.VegzosEvf.HasValue && (entity.VegzosEvfolyam != co.VegzosEvf.ToBool()))
|
|
|| (co.Keresztfeleves.HasValue && (entity.Keresztfeleves != co.Keresztfeleves.ToBool()))
|
|
|| (co.TechnikaiOsztaly.HasValue && (entity.IsTechnikai != co.TechnikaiOsztaly.ToBool()));
|
|
|
|
if (co.FeladatellatasiHely.HasValue)
|
|
{
|
|
var felhelyHelper = new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
var elozoFelhelyIsSzakkepzeses = felhelyHelper.IsSzakkepzeses(entity.FeladatEllatasiHelyId);
|
|
var ujFelhelyIsSzakkepzeses = felhelyHelper.IsSzakkepzeses(co.FeladatellatasiHely.Value);
|
|
|
|
juttatasUpdateNeeded = juttatasUpdateNeeded
|
|
|| (elozoFelhelyIsSzakkepzeses != ujFelhelyIsSzakkepzeses);
|
|
}
|
|
|
|
var osztalyTanuloiUpdateSzakkepzoJuttatasAdatokNeeded = new IntezmenyHelper(new DalHandlerConnectionType(ConnectionType, h)).GetIntezmenyiAdatok().IsSzakkepzoJuttatas;
|
|
|
|
if (co.Evfolyam.HasValue)
|
|
{
|
|
entity.EvfolyamTipusa = co.Evfolyam.Value;
|
|
}
|
|
if (co.FeladatellatasiHely.HasValue)
|
|
{
|
|
if (entity.FeladatEllatasiHelyId != co.FeladatellatasiHely.Value && !new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h)).IsAzonosKategoria(entity.FeladatEllatasiHelyId, co.FeladatellatasiHely.Value) && h.OsztalyCsoport().HasTanuloBesorolas(co.ID.Value, true))
|
|
{
|
|
return entity.Nev;
|
|
}
|
|
|
|
entity.FeladatEllatasiHelyId = co.FeladatellatasiHely.Value;
|
|
entity.FeladatKategoriaId = new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h)).GetFeladatKategoriaId(co.FeladatellatasiHely.Value);
|
|
}
|
|
if (co.KepzesiForma.HasValue)
|
|
{
|
|
entity.KepzesiForma = co.KepzesiForma.Value;
|
|
}
|
|
if (co.Tanterv.HasValue)
|
|
{
|
|
entity.TantervId = co.Tanterv.Value;
|
|
}
|
|
|
|
if (co.VegzosEvf.HasValue)
|
|
{
|
|
entity.VegzosEvfolyam = co.VegzosEvf.ToBool();
|
|
}
|
|
|
|
if (co.Keresztfeleves.HasValue)
|
|
{
|
|
entity.Keresztfeleves = co.Keresztfeleves.ToBool();
|
|
}
|
|
|
|
if (co.TechnikaiOsztaly.HasValue)
|
|
{
|
|
entity.IsTechnikai = co.TechnikaiOsztaly.ToBool();
|
|
}
|
|
|
|
if (co.TervezettLetszam.HasValue)
|
|
{
|
|
entity.TervezettLetszam = co.TervezettLetszam;
|
|
}
|
|
|
|
if (co.Nemzetisegi.HasValue)
|
|
{
|
|
entity.Nemzetisegi = co.Nemzetisegi.ToBool();
|
|
}
|
|
|
|
//if (co.Gyogypedagogiai.HasValue)
|
|
//{
|
|
// entity.Gyogypedagogiai = co.Gyogypedagogiai.ToBool();
|
|
// entity.SpecialisJellemzo = co.SpecialisJellemzo;
|
|
//}
|
|
|
|
if (co.Kettannyelvu.HasValue)
|
|
{
|
|
entity.Kettannyelvu = co.Kettannyelvu.ToBool();
|
|
}
|
|
|
|
if (co.NyelviElokeszito.HasValue)
|
|
{
|
|
entity.NyelviElokeszito = co.NyelviElokeszito.ToBool();
|
|
}
|
|
|
|
if (co.IsGyogypedagogiaiLogopediai.HasValue)
|
|
{
|
|
entity.IsGyogypedagogiaiLogopediai = co.IsGyogypedagogiaiLogopediai.ToBool();
|
|
}
|
|
|
|
if (co.AJAlProgram.HasValue)
|
|
{
|
|
entity.AranyJanosProgramTipusId = co.AJAlProgram.Value;
|
|
}
|
|
|
|
//if (co.Gyogypedagogiai.HasValue)
|
|
//{
|
|
// entity.Gyogypedagogiai = co.Gyogypedagogiai.ToBool();
|
|
// entity.SpecialisJellemzo = co.SpecialisJellemzo;
|
|
//}
|
|
|
|
if (co.SzakmacsoportId.HasValue)
|
|
{
|
|
entity.SzakmaCsoport = co.SzakmacsoportId.Value;
|
|
osztalyTanuloiUpdateSzakkepzesesAdatokNeeded = true;
|
|
}
|
|
if (co.AgazatId.HasValue)
|
|
{
|
|
entity.Agazat = co.AgazatId.Value;
|
|
osztalyTanuloiUpdateSzakkepzesesAdatokNeeded = true;
|
|
}
|
|
if (co.SzakkepesitesId.HasValue)
|
|
{
|
|
entity.Szakkepesites = co.SzakkepesitesId.Value;
|
|
osztalyTanuloiUpdateSzakkepzesesAdatokNeeded = true;
|
|
}
|
|
if (co.ReszSzakkepesitesId.HasValue)
|
|
{
|
|
entity.Reszszakkepesites = co.ReszSzakkepesitesId.Value;
|
|
osztalyTanuloiUpdateSzakkepzesesAdatokNeeded = true;
|
|
}
|
|
|
|
if (co.AgazatUjSzktTipusId.HasValue)
|
|
{
|
|
entity.AgazatUjSzktTipusId = co.AgazatUjSzktTipusId.Value;
|
|
}
|
|
if (co.SzakmaTipusId.HasValue)
|
|
{
|
|
entity.SzakmaTipusId = co.SzakmaTipusId.Value;
|
|
}
|
|
if (co.SzakmairanyTipusId.HasValue)
|
|
{
|
|
entity.SzakmairanyTipusId = co.SzakmairanyTipusId.Value;
|
|
}
|
|
if (co.SzakiranyNktTipusId.HasValue)
|
|
{
|
|
entity.SzakiranyNktTipusId = co.SzakiranyNktTipusId.Value;
|
|
}
|
|
if (co.SzakkepesitesNktTipusId.HasValue)
|
|
{
|
|
entity.SzakkepesitesNktTipusId = co.SzakkepesitesNktTipusId.Value;
|
|
}
|
|
if (co.TanulmanyiTeruletNktTipusId.HasValue)
|
|
{
|
|
entity.TanulmanyiTeruletNktTipusId = co.TanulmanyiTeruletNktTipusId.Value;
|
|
}
|
|
|
|
//if (co.AJTehettseggondozoProgram.HasValue)
|
|
//{
|
|
// entity.AJTehettseggondozoProgram = co.AJTehettseggondozoProgram.ToBool();
|
|
//}
|
|
|
|
if (co.GimnaziumiEvfolyamTipusId.HasValue)
|
|
{
|
|
entity.GimnaziumiEvfolyamTipusId = co.GimnaziumiEvfolyamTipusId.Value;
|
|
}
|
|
|
|
if (co.Sport.HasValue)
|
|
{
|
|
entity.Sport = co.Sport.ToBool();
|
|
}
|
|
|
|
if (co.AJProgram.HasValue)
|
|
{
|
|
entity.AJProgram = co.AJProgram.ToBool();
|
|
}
|
|
|
|
if (co.MuveszetiAgId.HasValue)
|
|
{
|
|
entity.MuveszetiAgId = co.MuveszetiAgId.Value;
|
|
}
|
|
if (co.MufajTipusId.HasValue)
|
|
{
|
|
entity.MufajTipusId = co.MufajTipusId.Value;
|
|
}
|
|
if (co.TanszakTipusId.HasValue)
|
|
{
|
|
entity.TanszakTipusId = co.TanszakTipusId.Value;
|
|
}
|
|
|
|
if (co.ZenemuveszetiAgTipusId.HasValue)
|
|
{
|
|
entity.ZenemuveszetiAgTipusId = co.ZenemuveszetiAgTipusId.Value;
|
|
}
|
|
|
|
if (osztalyTanuloiUpdateSzakkepzesesAdatokNeeded)
|
|
{
|
|
var szakkepzeseAdatok = new SzakkepzesesAdatokCO
|
|
{
|
|
Szakmacsoport = entity.SzakmaCsoport,
|
|
Agazat = entity.Agazat,
|
|
Szakkepesites = entity.Szakkepesites,
|
|
Reszszakkepesites = entity.Reszszakkepesites
|
|
};
|
|
|
|
SetSzakkepzesesAdatokNaToNull(szakkepzeseAdatok);
|
|
dal.UpdateOsztalyTanuloiSzakkepzesesAdatok(entity.ID, szakkepzeseAdatok.ConvertToPCO());
|
|
}
|
|
|
|
if (co.OsztalynaploMegnyitasDatuma.HasValue)
|
|
{
|
|
entity.OsztalynaploMegnyitasa = co.OsztalynaploMegnyitasDatuma.Value;
|
|
}
|
|
|
|
if (co.OsztalynaploLezarasDatuma.HasValue)
|
|
{
|
|
entity.OsztalynaploZarasa = co.OsztalynaploLezarasDatuma.Value;
|
|
}
|
|
|
|
if (kapcsolodoOsztalybontottCsoportokUpdate)
|
|
{
|
|
KapcsolodoOsztalybontottCsoportokUpdate(h, entity, isOrarendUpdateNeeded);
|
|
}
|
|
|
|
entity.JogviszonyTipusId = co.JogviszonyTipusId;
|
|
|
|
if (co.OsztalyFonok.HasValue)
|
|
{
|
|
entity.OsztalyFonokId = co.OsztalyFonok.Value;
|
|
}
|
|
if (co.OsztalyFonokHelyettes.HasValue)
|
|
{
|
|
entity.OfoHelyettesId = co.OsztalyFonokHelyettes.Value;
|
|
}
|
|
if (co.Terem.HasValue)
|
|
{
|
|
entity.TeremId = co.Terem.Value;
|
|
}
|
|
|
|
if (osztalyTanuloiUpdateSzakkepzoJuttatasAdatokNeeded)
|
|
{
|
|
dal.FullUpdate(entity);
|
|
if (juttatasUpdateNeeded)
|
|
{
|
|
var osztalyTanuloiIdList = entity.Tanulo.Where(x => !x.Torolt && (!x.KilepesDatum.HasValue || (x.KilepesDatum.Value >= DateTime.Today))).Select(tcs => tcs.TanuloId).ToList();
|
|
var juttatasDal = h.JuttatasDAL();
|
|
juttatasDal.UpdateTanulokSzakkepzesiJuttatasok(entity.TanevId, FelhasznaloId, (int)JuttatasTipusEnum.szakkepzesi_juttatas, tanulokIdString: string.Join(",", osztalyTanuloiIdList));
|
|
juttatasDal.UpdateTanulokSzakkepzesiJuttatasok(entity.TanevId, FelhasznaloId, (int)JuttatasTipusEnum.apaczaiosztondij, tanulokIdString: string.Join(",", osztalyTanuloiIdList));
|
|
}
|
|
return null;
|
|
}
|
|
|
|
dal.FullUpdate(entity);
|
|
return null;
|
|
});
|
|
}
|
|
|
|
private DataSet SearchClass(OsztalySearchCo co)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly(GridParameters);
|
|
var ds = dal.OsztalyKereses(co.ConvertToPco(), TanevId);
|
|
|
|
return ds;
|
|
});
|
|
}
|
|
|
|
public int GetOsztalyfonokByOsztalyId(int osztalyId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly();
|
|
return dal.GetOsztalyfonokByOsztalyId(osztalyId);
|
|
});
|
|
}
|
|
|
|
public IDictionary<string, string> GetOsztalyokByTanev(string baseText, int? feladatKategoriaId = null)
|
|
{
|
|
var result = Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly();
|
|
return dal.GetOsztalyokByTanevForDDL(TanevId, feladatKategoriaId);
|
|
});
|
|
|
|
return LogicUtil.CreateDropdownContent(result, "ID", "Nev", baseText, sort: false);
|
|
}
|
|
|
|
public IDictionary<string, string> GetOnlyOsztalyok(string baseText = null, int? tanarId = null, OktNevelesiKategoriaEnum? feladatKategoriaId = null, int? customTanevId = null, bool forSzirStatTanulo = false)
|
|
{
|
|
var result = Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var tanevId = customTanevId.HasValue ? customTanevId.Value : TanevId;
|
|
|
|
var dal = h.Osztaly();
|
|
return dal.GetOnlyOsztalyokForDDL(tanevId, tanarId, feladatKategoriaId, forSzirStatTanulo);
|
|
});
|
|
|
|
return LogicUtil.CreateDropdownContent(result, "ID", "Nev", baseText, sort: false);
|
|
}
|
|
|
|
private void ConvertToUpdateEntity(IDalHandler h, IOsztaly entity, OsztalyCO co)
|
|
{
|
|
entity.Nev = co.OsztalyNev;
|
|
entity.Megjegyzes = co.Megjegyzes;
|
|
entity.VegzosEvfolyam = co.VegzosEvfolyam;
|
|
entity.EvfolyamTipusa = co.EvfolyamTipusa;
|
|
|
|
if (co.TeremID.HasValue)
|
|
{
|
|
entity.TeremId = co.TeremID.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.Terem = null;
|
|
}
|
|
if (co.KepzesiForma.HasValue)
|
|
{
|
|
entity.KepzesiForma = co.KepzesiForma.Value;
|
|
}
|
|
|
|
if (co.OsztalyfonokId.HasValue && co.OsztalyfonokId > 0)
|
|
{
|
|
entity.OsztalyFonokId = co.OsztalyfonokId.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.OsztalyFonok = null;
|
|
}
|
|
if (co.OsztalyfonokHelyettesId.HasValue && co.OsztalyfonokHelyettesId > 0)
|
|
{
|
|
entity.OfoHelyettesId = (int)co.OsztalyfonokHelyettesId;
|
|
}
|
|
else
|
|
{
|
|
entity.OfoHelyettes = null;
|
|
}
|
|
if (co.TantervId.HasValue && co.TantervId > 0)
|
|
{
|
|
entity.TantervId = co.TantervId.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.Tanterv = null;
|
|
}
|
|
if (co.FeladatEllatasiHelyId > 0)
|
|
{
|
|
entity.FeladatEllatasiHelyId = co.FeladatEllatasiHelyId;
|
|
entity.FeladatKategoriaId = new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h)).GetFeladatKategoriaId(co.FeladatEllatasiHelyId);
|
|
}
|
|
else
|
|
{
|
|
entity.FeladatEllatasiHely = null;
|
|
}
|
|
|
|
if (co.OsztalynaploMegnyitasa.HasValue)
|
|
{
|
|
entity.OsztalynaploMegnyitasa = co.OsztalynaploMegnyitasa.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.OsztalynaploMegnyitasa = null;
|
|
}
|
|
|
|
if (co.OsztalynaploLezarasa.HasValue)
|
|
{
|
|
entity.OsztalynaploZarasa = co.OsztalynaploLezarasa.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.OsztalynaploZarasa = null;
|
|
}
|
|
|
|
if (co.SzuloiMunkakozossegKepviseloId.HasValue && co.SzuloiMunkakozossegKepviseloId > 0)
|
|
{
|
|
entity.SZMKKepviseloId = co.SzuloiMunkakozossegKepviseloId.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.SZMKKepviselo = null;
|
|
}
|
|
|
|
if (co.SzuloiMunkakozossegKepviseloHelyettesId.HasValue && co.SzuloiMunkakozossegKepviseloHelyettesId > 0)
|
|
{
|
|
entity.SZMKKepviseloHelyettesId = co.SzuloiMunkakozossegKepviseloHelyettesId.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.SZMKKepviseloHelyettes = null;
|
|
}
|
|
|
|
if (co.SzuloiMunkakozossegKepviseloHelyettesId.HasValue && co.SzuloiMunkakozossegKepviseloHelyettesId > 0)
|
|
{
|
|
entity.SZMKKepviseloHelyettesId = co.SzuloiMunkakozossegKepviseloHelyettesId.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.SZMKKepviseloHelyettes = null;
|
|
}
|
|
|
|
if (co.AJAlProgram.HasValue && co.AJAlProgram > 0)
|
|
{
|
|
entity.AranyJanosProgramTipusId = co.AJAlProgram.Value;
|
|
}
|
|
else
|
|
{
|
|
entity.AranyJanosProgramTipusId = null;
|
|
}
|
|
|
|
entity.OsztalypenzBankszamlaszama = co.OsztalypenzBankszamlaszama;
|
|
entity.OsztalypenzBankszamlaszamKedvezmenyezettNeve = co.OsztalypenzBankszamlaszamKedvezmenyezett;
|
|
|
|
entity.GimnaziumiEvfolyamTipusId = co.GimnaziumiEvfolyamTipusId.HasValue ? co.GimnaziumiEvfolyamTipusId : null;
|
|
|
|
entity.OsztalynaploLeirasa = co.OsztalynaploLeirasa;
|
|
entity.Naploszam = co.Naploszam;
|
|
|
|
entity.Keresztfeleves = co.Keresztfeleves;
|
|
entity.IsTechnikai = co.TechnikaiOsztaly;
|
|
entity.TervezettLetszam = co.TervezettLetszam;
|
|
entity.Nemzetisegi = co.Nemzetisegi;
|
|
entity.Kettannyelvu = co.Kettannyelvu;
|
|
entity.NyelviElokeszito = co.NyelviElokeszito;
|
|
entity.IsGyogypedagogiaiLogopediai = co.IsGyogypedagogiaiLogopediai;
|
|
entity.Sport = co.Sport;
|
|
|
|
entity.SzakmaCsoport = co.SzakmacsoportId ?? (int)SzakmacsoportTipusEnum.Na;
|
|
entity.Agazat = co.AgazatId ?? (int)AgazatTipusEnum.Na;
|
|
entity.Szakkepesites = co.SzakkepesitesId ?? (int)SzakkepesitesTipusEnum.Na;
|
|
entity.Reszszakkepesites = co.ReszSzakkepesitesId ?? (int)ReszszakkepesitesTipusEnum.Na;
|
|
|
|
entity.AgazatUjSzktTipusId = co.AgazatUjSzktTipusId ?? (int)AgazatUjSzktTipusEnum.na;
|
|
entity.SzakmaTipusId = co.SzakmaTipusId ?? (int)SzakmaTipusEnum.na;
|
|
entity.SzakmairanyTipusId = co.SzakmairanyTipusId ?? (int)SzakmairanyTipusEnum.na;
|
|
|
|
entity.SzakiranyNktTipusId = co.SzakiranyNktTipusId ?? (int)SzakiranyNktTipusEnum.na;
|
|
entity.SzakkepesitesNktTipusId = co.SzakkepesitesNktTipusId ?? (int)SzakkepesitesNktTipusEnum.na;
|
|
entity.TanulmanyiTeruletNktTipusId = co.TanulmanyiTeruletNktTipusId ?? (int)TanulmanyiTeruletNktTipusEnum.na;
|
|
|
|
entity.JogviszonyTipusId = co.JogviszonyTipusId;
|
|
|
|
entity.AJProgram = co.AJProgram;
|
|
//entity.AJTehettseggondozoProgram = co.AJTehettseggondozoProgram;
|
|
entity.SpecialisJellemzo = co.SpecialisJellemzo;
|
|
|
|
entity.MuveszetiAgId = co.MuveszetiAgId;
|
|
entity.TanszakTipusId = co.TanszakTipusId;
|
|
entity.MufajTipusId = co.MufajTipusId;
|
|
}
|
|
|
|
private void ConvertToNewEntity(IOsztaly entity, OsztalyCO co)
|
|
{
|
|
entity.Nev = co.OsztalyNev;
|
|
entity.Megjegyzes = co.Megjegyzes;
|
|
entity.VegzosEvfolyam = co.VegzosEvfolyam;
|
|
if (co.TeremID.HasValue)
|
|
entity.TeremId = co.TeremID.Value;
|
|
if (co.KepzesiForma.HasValue)
|
|
entity.KepzesiForma = co.KepzesiForma.Value;
|
|
entity.EvfolyamTipusa = co.EvfolyamTipusa;
|
|
if (co.OsztalyfonokId.HasValue && co.OsztalyfonokId > 0)
|
|
entity.OsztalyFonokId = co.OsztalyfonokId.Value;
|
|
if (co.OsztalyfonokHelyettesId != null && co.OsztalyfonokHelyettesId > 0)
|
|
entity.OfoHelyettesId = co.OsztalyfonokHelyettesId.Value;
|
|
if (co.TantervId.HasValue && co.TantervId > 0)
|
|
entity.TantervId = co.TantervId.Value;
|
|
if (co.FeladatEllatasiHelyId > 0)
|
|
entity.FeladatEllatasiHelyId = co.FeladatEllatasiHelyId;
|
|
if (co.OsztalynaploMegnyitasa.HasValue)
|
|
entity.OsztalynaploMegnyitasa = co.OsztalynaploMegnyitasa.Value;
|
|
if (co.OsztalynaploLezarasa.HasValue)
|
|
entity.OsztalynaploZarasa = co.OsztalynaploLezarasa.Value;
|
|
if (!string.IsNullOrWhiteSpace(co.OsztalynaploLeirasa))
|
|
entity.OsztalynaploLeirasa = co.OsztalynaploLeirasa;
|
|
entity.Naploszam = co.Naploszam;
|
|
|
|
entity.Keresztfeleves = co.Keresztfeleves;
|
|
entity.IsTechnikai = co.TechnikaiOsztaly;
|
|
entity.TervezettLetszam = co.TervezettLetszam;
|
|
entity.Nemzetisegi = co.Nemzetisegi;
|
|
entity.Kettannyelvu = co.Kettannyelvu;
|
|
entity.NyelviElokeszito = co.NyelviElokeszito;
|
|
entity.IsGyogypedagogiaiLogopediai = co.IsGyogypedagogiaiLogopediai;
|
|
entity.Sport = co.Sport;
|
|
entity.AJProgram = co.AJProgram;
|
|
//entity.AJTehettseggondozoProgram = co.AJTehettseggondozoProgram;
|
|
entity.SpecialisJellemzo = co.SpecialisJellemzo;
|
|
entity.MuveszetiAgId = co.MuveszetiAgId;
|
|
|
|
if (co.GimnaziumiEvfolyamTipusId.HasValue)
|
|
{
|
|
entity.GimnaziumiEvfolyamTipusId = co.GimnaziumiEvfolyamTipusId;
|
|
}
|
|
|
|
entity.SzakmaCsoport = co.SzakmacsoportId ?? (int)SzakmacsoportTipusEnum.Na;
|
|
entity.Agazat = co.AgazatId ?? (int)AgazatTipusEnum.Na;
|
|
entity.Szakkepesites = co.SzakkepesitesId ?? (int)SzakkepesitesTipusEnum.Na;
|
|
entity.Reszszakkepesites = co.ReszSzakkepesitesId ?? (int)ReszszakkepesitesTipusEnum.Na;
|
|
|
|
entity.AgazatUjSzktTipusId = co.AgazatUjSzktTipusId ?? (int)AgazatUjSzktTipusEnum.na;
|
|
entity.SzakmaTipusId = co.SzakmaTipusId ?? (int)SzakmaTipusEnum.na;
|
|
entity.SzakmairanyTipusId = co.SzakmairanyTipusId ?? (int)SzakmairanyTipusEnum.na;
|
|
|
|
entity.SzakiranyNktTipusId = co.SzakiranyNktTipusId ?? (int)SzakiranyNktTipusEnum.na;
|
|
entity.SzakkepesitesNktTipusId = co.SzakkepesitesNktTipusId ?? (int)SzakkepesitesNktTipusEnum.na;
|
|
entity.TanulmanyiTeruletNktTipusId = co.TanulmanyiTeruletNktTipusId ?? (int)TanulmanyiTeruletNktTipusEnum.na;
|
|
|
|
entity.JogviszonyTipusId = co.JogviszonyTipusId;
|
|
|
|
if (co.AJAlProgram.HasValue)
|
|
{
|
|
entity.AranyJanosProgramTipusId = co.AJAlProgram.Value;
|
|
}
|
|
entity.MuveszetiAgId = co.MuveszetiAgId;
|
|
entity.MufajTipusId = co.MufajTipusId;
|
|
entity.TanszakTipusId = co.TanszakTipusId;
|
|
}
|
|
|
|
/// INFO @DevKornel: Mobil használja
|
|
public OsztalyCO ConvertEntityToCo(IOsztaly entity, IDalHandler h)
|
|
{
|
|
var co = new OsztalyCO();
|
|
co.Id = entity.ID;
|
|
co.OsztalyNev = entity.Nev;
|
|
co.Megjegyzes = entity.Megjegyzes;
|
|
co.VegzosEvfolyam = entity.VegzosEvfolyam;
|
|
co.KepzesiForma = entity.KepzesiForma;
|
|
co.EvfolyamTipusa = entity.EvfolyamTipusa > 0 ? entity.EvfolyamTipusa : (int)EvfolyamTipusEnum.na;
|
|
co.OsztalyfonokId = entity.OsztalyFonokId > 0 ? entity.OsztalyFonokId : -1;
|
|
co.OsztalyfonokHelyettesId = entity.OfoHelyettesId > 0 ? entity.OfoHelyettesId : -1;
|
|
co.TantervId = entity.TantervId > 0 ? entity.TantervId : new int?();
|
|
co.FeladatEllatasiHelyId = entity.FeladatEllatasiHelyId > 0 ? entity.FeladatEllatasiHelyId : 0;
|
|
co.TeremID = entity.TeremId > 0 ? entity.TeremId : (int?)null;
|
|
|
|
co.OsztalyfonokNev = entity.OsztalyFonokId > 0 ? entity.OsztalyFonok.NyomtatasiNev : "";
|
|
co.OfoHelyettesNev = entity.OfoHelyettesId > 0 ? entity.OfoHelyettes.NyomtatasiNev : "";
|
|
co.TanevNeve = entity.Tanev.Nev;
|
|
co.TeremNev = entity.Terem != null ? entity.Terem.Nev : "";
|
|
co.TantervNev = entity.TantervId > 0 ? entity.Tanterv.Nev : "";
|
|
co.FeladatellatasiHelyNev = entity.FeladatEllatasiHely.MukodesiHely.Nev + " - " + entity.FeladatEllatasiHely.OktatasiNevelesiFeladatTipus.GetDisplayName<OktatasiNevelesiFeladatEnum>(TanevId);
|
|
co.Keresztfeleves = entity.Keresztfeleves;
|
|
co.SzakmacsoportId = entity.SzakmaCsoport;
|
|
co.AgazatId = entity.Agazat;
|
|
co.SzakkepesitesId = entity.Szakkepesites;
|
|
co.ReszSzakkepesitesId = entity.Reszszakkepesites;
|
|
co.AgazatUjSzktTipusId = entity.AgazatUjSzktTipusId;
|
|
co.SzakmaTipusId = entity.SzakmaTipusId;
|
|
co.SzakmairanyTipusId = entity.SzakmairanyTipusId;
|
|
co.SzakiranyNktTipusId = entity.SzakiranyNktTipusId;
|
|
co.SzakkepesitesNktTipusId = entity.SzakkepesitesNktTipusId;
|
|
co.TanulmanyiTeruletNktTipusId = entity.TanulmanyiTeruletNktTipusId;
|
|
co.TechnikaiOsztaly = entity.IsTechnikai;
|
|
co.TervezettLetszam = entity.TervezettLetszam;
|
|
co.Nemzetisegi = entity.Nemzetisegi;
|
|
co.Kettannyelvu = entity.Kettannyelvu;
|
|
co.NyelviElokeszito = entity.NyelviElokeszito;
|
|
co.IsGyogypedagogiaiLogopediai = entity.IsGyogypedagogiaiLogopediai;
|
|
co.GimnaziumiEvfolyamTipusId = entity.GimnaziumiEvfolyamTipusId;
|
|
co.Sport = entity.Sport;
|
|
co.AJProgram = entity.AJProgram;
|
|
//co.AJTehettseggondozoProgram = entity.AJTehettseggondozoProgram;
|
|
co.SpecialisJellemzo = entity.SpecialisJellemzo;
|
|
co.MuveszetiAgId = entity.MuveszetiAgId;
|
|
co.MufajTipusId = entity.MufajTipusId;
|
|
co.TanszakTipusId = entity.TanszakTipusId;
|
|
co.SzuloiMunkakozossegKepviseloId = entity.SZMKKepviseloId > 0 ? entity.SZMKKepviseloId : (int?)null;
|
|
co.SzuloiMunkakozossegKepviselo = entity.SZMKKepviseloId > 0 ? entity.SZMKKepviselo.Nev : string.Empty;
|
|
co.SzuloiMunkakozossegKepviseloHelyettesId = entity.SZMKKepviseloHelyettesId > 0 ? entity.SZMKKepviseloHelyettesId : (int?)null;
|
|
co.SzuloiMunkakozossegKepviseloHelyettes = entity.SZMKKepviseloHelyettesId > 0 ? entity.SZMKKepviseloHelyettes.Nev : string.Empty;
|
|
co.OsztalypenzBankszamlaszama = entity.OsztalypenzBankszamlaszama;
|
|
co.OsztalypenzBankszamlaszamKedvezmenyezett = entity.OsztalypenzBankszamlaszamKedvezmenyezettNeve;
|
|
co.JogviszonyTipusId = entity.JogviszonyTipusId;
|
|
|
|
//Azok a tanulók, akiknél nincs kilépésdátuma, vagy az nagyobb, mint a jelenlegi dátum
|
|
DateTime date = DateTime.Now;
|
|
TanevHelper thelper = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h));
|
|
var tanev = thelper.GetTanevInfo();
|
|
co.TanulokSzama = entity.Tanulo.Count(x => x.Torolt == false &&
|
|
(!tanev.IsAktiv || (x.BelepesDatum != null && x.BelepesDatum <= date && (x.KilepesDatum == null || x.KilepesDatum > date))));
|
|
if (entity.OsztalynaploMegnyitasa != null)
|
|
{ co.OsztalynaploMegnyitasa = entity.OsztalynaploMegnyitasa; }
|
|
if (entity.OsztalynaploZarasa != null)
|
|
{ co.OsztalynaploLezarasa = entity.OsztalynaploZarasa; }
|
|
if (entity.OsztalynaploLeirasa != null)
|
|
{ co.OsztalynaploLeirasa = entity.OsztalynaploLeirasa; }
|
|
if (!string.IsNullOrWhiteSpace(entity.Naploszam))
|
|
{ co.Naploszam = entity.Naploszam; }
|
|
|
|
co.AJAlProgram = entity.AranyJanosProgramTipusId;
|
|
|
|
return co;
|
|
}
|
|
|
|
public SzakkepzesesAdatokCO GetOsztalyNKTesSZKTSzakkepzesesAdatok(int osztalyId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly();
|
|
var szakkepzesesAdatok = new SzakkepzesesAdatokCO();
|
|
var ds = dal.GetOsztalyNKTesSZKTSzakkepzesesAdatok(osztalyId);
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
var row = ds.Tables[0].Rows[0];
|
|
szakkepzesesAdatok.Szakmacsoport = row["Szakmacsoport"] == DBNull.Value ? null : (int?)row["Szakmacsoport"];
|
|
szakkepzesesAdatok.Agazat = row["Agazat"] == DBNull.Value ? null : (int?)row["Agazat"];
|
|
szakkepzesesAdatok.Szakkepesites = row["Szakkepesites"] == DBNull.Value ? null : (int?)row["Szakkepesites"];
|
|
szakkepzesesAdatok.Reszszakkepesites = row["Reszszakkepesites"] == DBNull.Value ? null : (int?)row["Reszszakkepesites"];
|
|
szakkepzesesAdatok.SzakiranyNKTTipusId = row["SzakiranyNKTTipus"] == DBNull.Value ? null : (int?)row["SzakiranyNKTTipus"];
|
|
szakkepzesesAdatok.SzakkepesitesNKTTipusId = row["SzakkepesitesNKTTipus"] == DBNull.Value ? null : (int?)row["SzakkepesitesNKTTipus"];
|
|
szakkepzesesAdatok.TanulmanyiTeruletNKTTipusId = row["TanulmanyiTeruletNKTTipus"] == DBNull.Value ? null : (int?)row["TanulmanyiTeruletNKTTipus"];
|
|
}
|
|
|
|
return szakkepzesesAdatok;
|
|
});
|
|
}
|
|
|
|
public SzakkepzoAdatokCO GetOsztalySzakkepzoAdatok(int osztalyId)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly();
|
|
var szakkepzoAdatok = new SzakkepzoAdatokCO();
|
|
var ds = dal.GetOsztalySzakkepzoAdatok(osztalyId);
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
var row = ds.Tables[0].Rows[0];
|
|
szakkepzoAdatok.JogviszonyTipus = row["Jogviszony"] == DBNull.Value ? null : (int?)row["Jogviszony"];
|
|
}
|
|
|
|
return szakkepzoAdatok;
|
|
});
|
|
}
|
|
|
|
public List<OsztalyItemCo> GetOsztalyCoList()
|
|
{
|
|
DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.Osztaly().GetOsztalyDataSet(TanevId));
|
|
|
|
var result = new List<OsztalyItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new OsztalyItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public IDictionary<string, string> GetOsztalyokForDDL(string baseText = null, int? tanarId = null, bool? szuperOsztalyfonok = null, OktNevelesiKategoriaEnum? feladatKategoriaId = null)
|
|
{
|
|
var result = Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly();
|
|
return dal.GetOsztalyokForDDL(TanevId, tanarId, szuperOsztalyfonok, feladatKategoriaId);
|
|
});
|
|
|
|
return LogicUtil.CreateDropdownContent(result, "ID", "Nev", baseText, sort: false);
|
|
}
|
|
|
|
public IDictionary<string, string> GetOsztalyokCsoportokForDDL(string baseText = null, int? tanarId = null, bool szuperOsztalyfonok = false)
|
|
{
|
|
var result = Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly();
|
|
return dal.GetOsztalyokCsoportokForDDL(TanevId, tanarId, szuperOsztalyfonok);
|
|
});
|
|
|
|
return LogicUtil.CreateDropdownContent(result, "ID", "Nev", baseText, sort: false);
|
|
}
|
|
|
|
public List<OsztalyItemCo> GetOsztalyCoList(OsztalySearchCo osztalySearchCo)
|
|
{
|
|
var coList = new List<OsztalyItemCo>();
|
|
|
|
var ds = SearchClass(osztalySearchCo);
|
|
foreach (var row in ds.Tables[0].AsEnumerable())
|
|
{
|
|
coList.Add(new OsztalyItemCo(row));
|
|
}
|
|
return FilterOsztalyItemCoList(coList, osztalySearchCo);
|
|
}
|
|
|
|
private List<OsztalyItemCo> FilterOsztalyItemCoList(List<OsztalyItemCo> coList, OsztalySearchCo osztalySearchCo)
|
|
{
|
|
if (osztalySearchCo == null)
|
|
{
|
|
return coList;
|
|
}
|
|
|
|
IEnumerable<OsztalyItemCo> result = coList;
|
|
if (osztalySearchCo.NincsEvfolyamJellmezo.HasValue && osztalySearchCo.NincsEvfolyamJellmezo.Value)
|
|
{
|
|
result = result.Where(x => x.EvfolyamId == (int)EvfolyamTipusEnum.na);
|
|
}
|
|
if (osztalySearchCo.NincsOsztalyfonok.HasValue && osztalySearchCo.NincsOsztalyfonok.Value)
|
|
{
|
|
result = result.Where(x => string.IsNullOrWhiteSpace(x.Osztalyfonok));
|
|
}
|
|
if (osztalySearchCo.UresOsztaly.HasValue)
|
|
{
|
|
// Note: TanulokSzamaOrder = TanulokSzama * 1000 + ArchivTanulokSzama DB-ben igy kerul kiszamitasra!
|
|
result = result.Where(x => x.TanulokSzamaOrder < 1000);
|
|
}
|
|
if (osztalySearchCo.FeladatKategoriaId.IsEntityId())
|
|
{
|
|
result = result.Where(x => x.FeladatKategoriaId == osztalySearchCo.FeladatKategoriaId.Value);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(osztalySearchCo.OsztalyNev))
|
|
{
|
|
result = result.Where(x => x.Nev.ToComparableString().Contains(osztalySearchCo.OsztalyNev.ToComparableString()));
|
|
}
|
|
if (osztalySearchCo.EvfolyamId.HasValue)
|
|
{
|
|
result = result.Where(x => x.EvfolyamId == osztalySearchCo.EvfolyamId.Value);
|
|
}
|
|
if (osztalySearchCo.OsztalyfonokId.HasValue)
|
|
{
|
|
result = result.Where(x => x.OsztalyfonokId == osztalySearchCo.OsztalyfonokId.Value);
|
|
}
|
|
if (osztalySearchCo.OsztalyfonokHelyettesId.HasValue)
|
|
{
|
|
result = result.Where(x => x.OsztalyfonokHelyettesId == osztalySearchCo.OsztalyfonokHelyettesId.Value);
|
|
}
|
|
if (osztalySearchCo.TeremId.HasValue)
|
|
{
|
|
result = result.Where(x => x.TeremId == osztalySearchCo.TeremId.Value);
|
|
}
|
|
if (osztalySearchCo.Vegzos.HasValue)
|
|
{
|
|
result = result.Where(x => x.VegzosEvfolyam_BNAME == (osztalySearchCo.Vegzos.Value == 1).GetDisplayName());
|
|
}
|
|
if (osztalySearchCo.KepzesId.HasValue)
|
|
{
|
|
result = result.Where(x => x.KepzesId == osztalySearchCo.KepzesId.Value);
|
|
}
|
|
if (osztalySearchCo.TantervId.HasValue)
|
|
{
|
|
result = result.Where(x => x.TantervId == osztalySearchCo.TantervId.Value);
|
|
}
|
|
/// TODO: ezt a szűrést át kell beszélni
|
|
if (osztalySearchCo.NaploMegnyitasDatum.HasValue)
|
|
{
|
|
result = result.Where(x => x.NaploMegnyitasDatum >= osztalySearchCo.NaploMegnyitasDatum.Value);
|
|
}
|
|
if (osztalySearchCo.NaploLezarasDatum.HasValue)
|
|
{
|
|
result = result.Where(x => x.NaploLezarasDatum <= osztalySearchCo.NaploLezarasDatum.Value);
|
|
}
|
|
if (osztalySearchCo.FeladatEllatasiHelyId.HasValue)
|
|
{
|
|
result = result.Where(x => x.FeladatEllatasiHelyId == osztalySearchCo.FeladatEllatasiHelyId.Value);
|
|
}
|
|
if (osztalySearchCo.SearchMuveszetiAgId.HasValue)
|
|
{
|
|
result = result.Where(x => x.MuveszetiAgId == osztalySearchCo.SearchMuveszetiAgId.Value);
|
|
}
|
|
|
|
return result.ToList();
|
|
}
|
|
|
|
public List<OsztalyTanuloinakKepzesiJellemzoiItemCo> GetOsztalyTanuloinakKepzesiJellemzoi(int osztalyId, int jegyzekTipus, bool isAktivTanev)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly(GridParameters);
|
|
var dataSet = dal.GetOsztalyTanuloinakKepzesiJellemzoi(TanevId, IntezmenyId, osztalyId, jegyzekTipus, isAktivTanev);
|
|
|
|
var result = new List<OsztalyTanuloinakKepzesiJellemzoiItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new OsztalyTanuloinakKepzesiJellemzoiItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
return result;
|
|
});
|
|
}
|
|
|
|
public List<TanuloKepzesiJellemzoiItemCo> GetOsztalyTanuloiByKepzesiJellemzok(TanuloKepzesiJellemzoSearchCo co, bool isAktivTanev)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly(GridParameters);
|
|
var dataSet = dal.GetOsztalyTanuloiByKepzesiJellemzok(co.ConvertToPco(), TanevId, IntezmenyId, isAktivTanev);
|
|
|
|
var result = new List<TanuloKepzesiJellemzoiItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new TanuloKepzesiJellemzoiItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
return result;
|
|
});
|
|
}
|
|
|
|
public List<OsztalyCsoportTanuloMunkarendItemCo> GetOsztalyTanuloiByMunkarend(int osztalycsoportId, bool hasMunkarend, bool isAktivTanev)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly(GridParameters);
|
|
var dataSet = dal.GetOsztalyTanuloiByMunkarend(osztalycsoportId, hasMunkarend, isAktivTanev);
|
|
|
|
var result = new List<OsztalyCsoportTanuloMunkarendItemCo>();
|
|
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
|
|
{
|
|
var item = new OsztalyCsoportTanuloMunkarendItemCo(dataRow);
|
|
result.Add(item);
|
|
}
|
|
return result;
|
|
});
|
|
}
|
|
|
|
public (int SzktCount, int OkjCount, int NktCount, int UresCount, int ReszszakmaCount) GetOsztalyTanuloinakSzamaKepzesiJellemzokSzerint(int osztalyId, bool isAktivTanev)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly(GridParameters);
|
|
var dataSet = dal.GetOsztalyTanuloinakSzamaKepzesiJellemzokSzerint(osztalyId, TanevId, IntezmenyId, isAktivTanev);
|
|
var dataRow = dataSet.Tables[0].Rows[0];
|
|
return (SzktCount: (int)dataRow[0], OkjCount: (int)dataRow[1], NktCount: (int)dataRow[2], UresCount: (int)dataRow[3], ReszszakmaCount: (int)dataRow[4]);
|
|
});
|
|
}
|
|
|
|
public (int munkarenddelNemRendelkezo, int munkarenddelRendelkezo) GetOsztalyMunkarendSzama(int osztalyCsoportId, bool isAktivTanev)
|
|
{
|
|
return Dal.CustomConnection.Run(ConnectionType, (h) =>
|
|
{
|
|
var dal = h.Osztaly(GridParameters);
|
|
var dataSet = dal.GetOsztalyMunkarendSzama(osztalyCsoportId, isAktivTanev);
|
|
var dataRow = dataSet.Tables[0].Rows[0];
|
|
return (munkarenddelNemRendelkezo: (int)dataRow[0], munkarenddelRendelkezo: (int)dataRow[1]);
|
|
});
|
|
}
|
|
}
|
|
}
|