This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,621 @@
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.Helpers.SystemSettings;
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.DataAccessObjects.Csoport;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.Util;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework.Util;
using Kreta.Resources;
namespace Kreta.BusinessLogic.Helpers
{
public class CsoportHelper : LogicBase
{
public CsoportHelper(IConnectionType connectionType) : base(connectionType) { }
public IDictionary<string, string> GetCsoportok(string baseText = null, int? tanarId = null)
{
if (GridParameters == null)
{
GridParameters = new GridParameters() { OrderBy = "Evfolyam ASC" };
}
var ds = Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Csoport(GridParameters);
return dal.GetCsoportokForDDL(tanarId: tanarId);
});
return LogicUtil.CreateDropdownContent(ds, "ID", "Nev", baseText, sort: false);
}
public IDictionary<string, string> GetNapkozisCsoportok(string baseText = null, int? tanarId = null)
{
if (GridParameters == null)
{
GridParameters = new GridParameters() { OrderBy = "Evfolyam ASC" };
}
var ds = Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Csoport(GridParameters);
return dal.GetNapkozisCsoportokForDDL(tanarId: tanarId);
});
return LogicUtil.CreateDropdownContent(ds, "ID", "Nev", baseText, sort: false);
}
public IDictionary<string, string> GetSzakmaiGyCsoportok(string baseText = null, int? tanarId = null)
{
if (GridParameters == null)
{
GridParameters = new GridParameters() { OrderBy = "Evfolyam ASC" };
}
var ds = Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Csoport(GridParameters);
return dal.GetSzakmaiGyCsoportokForDDL(tanarId: tanarId);
});
return LogicUtil.CreateDropdownContent(ds, "ID", "Nev", baseText, sort: false);
}
public IDictionary<string, string> GetTanoranKivuliCsoportok()
{
if (GridParameters == null)
{
GridParameters = new GridParameters() { OrderBy = "Evfolyam ASC" };
}
var ds = Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Csoport(GridParameters);
return dal.GetTanoranKivuliCsoportokForDDL(TanevId, IntezmenyId);
});
return LogicUtil.CreateDropdownContent(ds, "Id", "Nev", null);
}
public CsoportCO GetGroupByID(int csoportId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Csoport();
var entity = dal.Get(csoportId);
var co = ConvertEntityToCo(entity);
co.HasTanuloBesorolas = h.OsztalyCsoport().HasTanuloBesorolas(csoportId);
if (entity.FeladatEllatasiHelyId.IsEntityId())
{
var oktNevFeladatNev = entity.FeladatEllatasiHely.OktatasiNevelesiFeladatTipus.GetDisplayName<OktatasiNevelesiFeladatEnum>(TanevId);
co.FeladatEllatasiHelyName = $"{entity.FeladatEllatasiHely.MukodesiHely.Nev ?? string.Empty} - {oktNevFeladatNev}";
}
return co;
});
}
public IEnumerable<NemTanoraiCeluCsoportTipusCO> GetNemTanoraiCeluCsoportTipusokForErtekeles()
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var nemTanoraiCeluCsoportTipusok = new List<NemTanoraiCeluCsoportTipusDao>();
var isNemTanoraiCeluCsoportokErtekelesEnabled = new SystemSettingsHelper(new DalHandlerConnectionType(ConnectionType, h)).GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.nem_tanorai_celu_csoportok_ertekelesi_lehetosege);
if (!isNemTanoraiCeluCsoportokErtekelesEnabled)
{
nemTanoraiCeluCsoportTipusok = h.Csoport().GetNemTanoraiCeluCsoportTipusList();
}
var response = new List<NemTanoraiCeluCsoportTipusCO>();
foreach (var item in nemTanoraiCeluCsoportTipusok)
{
response.Add(new NemTanoraiCeluCsoportTipusCO
{
CsoportTipusId = item.CsoportTipusId
});
}
return response;
});
}
public void DeleteGroupById(int classId, bool updateTanoraEvesSorszam = true)
{
Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Csoport();
var entity = dal.Get(classId);
var osztalyCsoport = new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, h));
if (h.OsztalyCsoport().HasTanuloBesorolas(classId))
{
throw new CannotBeDeletedException(string.Format(ErrorResource.Az0OsztalyCsoportNemTorolthetoMertKapcsolodikVagyKapcsolodottHozzaTanulo, entity.Nev));
}
if (!osztalyCsoport.HasTanitasiOra(classId))
{
var orarendiOraDal = h.OrarendiOra();
var orarendiOraList = entity.OrarendiOra.Where(x => !x.Torolt).ToList();
orarendiOraList.ForEach(x => orarendiOraDal.Delete(x.ID));
}
if (entity.Foglalkozasok.Any(x => !x.Torolt))
{
throw new CannotBeDeletedException(string.Format(ErrorResource.A0CsoporthozTantargyfelosztasElemVanRogzitveKerjukToroljeATTFetEztKovetoenMarTorolhetoACsoportIs, entity.Nev));
}
var fogadooraList = entity.Fogadoora_OsztalyCsoport.Where(x => !x.Torolt).ToList();
if (fogadooraList.Any())
{
if (fogadooraList.All(x => x.Fogadoora.FogadooraKezdete < DateTime.Today))
{
var fogadooraDal = h.Fogadoora();
fogadooraList.ForEach(x => fogadooraDal.DeleteFogadooraOsztalyCsoportByFogadooraIdOsztalyCsoportId(x.FogadooraId, classId));
}
}
dal.Delete(classId, IntezmenyId, TanevId, updateTanoraEvesSorszam);
});
}
public void UpdateCo(CsoportCO co, int modifierId)
{
Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Csoport(GridParameters);
var entity = dal.Get(co.Id);
if (entity.FeladatEllatasiHelyId != co.FeladatEllatasiHelyId
&& !new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h)).IsAzonosKategoria(entity.FeladatEllatasiHelyId, co.FeladatEllatasiHelyId)
&& h.OsztalyCsoport().HasTanuloBesorolas(co.Id)
&& co.FeladatEllatasiHelyId.IsEntityId() && !co.IsFromSzervezet)
{
throw new BlException(OsztalyCsoportResource.FeladatellatasiHelyNemModosithatoMertVanTanuloBesorolva);
}
var utkozoTanevrendDatumok = new List<string>();
var tanevrendHelper = new TanevrendHelper(new DalHandlerConnectionType(ConnectionType, h));
int? ocsEvfolyamTipusa = null;
if (co.OsztalyBontasId.HasValue)
{
var ocsDal = h.OsztalyCsoport(GridParameters);
var osztaly = ocsDal.Get(co.OsztalyBontasId.Value);
ocsEvfolyamTipusa = osztaly.EvfolyamTipusa;
entity.KepzesiForma = osztaly.KepzesiForma;
var osztalyTanevrendjei = tanevrendHelper.GetOsztalycsoportTanevrendje(null, osztaly.ID, false);
var csoportTanevrendjei = tanevrendHelper.GetOsztalycsoportTanevrendje(null, co.Id, false);
utkozoTanevrendDatumok = osztalyTanevrendjei.Where(x => csoportTanevrendjei.Exists(y => y.TanevrendId == x.TanevrendId)).Select(x => x.Datum.ToString(Constants.ToStringPattern.HungarianDateWithSuffix)).ToList();
}
var mustInsertOrUpdateTanevrendje = false;
var oldOsztalyId = -1;
if (co.OsztalyBontasId != entity.OsztalyBontasId)
{
mustInsertOrUpdateTanevrendje = true;
oldOsztalyId = entity.OsztalyBontasId;
}
var needTTFFoglalkozasTipusUpdate = entity.Tipusa != co.CsoportTipus;
ConvertToEntity(h, entity, co, true, ocsEvfolyamTipusa);
dal.Update(entity);
if (mustInsertOrUpdateTanevrendje)
{
if (co.OsztalyBontasId.IsEntityId())
{
if (utkozoTanevrendDatumok.Count > 0)
{
throw new BlException(string.Format(OsztalyCsoportResource.OsztalybontasEsetenLeteznekMegegyezoTanevrendek, string.Join(",", utkozoTanevrendDatumok)));
}
tanevrendHelper.InsertTanevRendjeNewBontottCsoport(co.OsztalyBontasId.Value, co.Id);
}
else
{
tanevrendHelper.DeleteTanevRendjeNewBontottCsoport(oldOsztalyId, co.Id, modifierId);
}
}
if (needTTFFoglalkozasTipusUpdate && co.CsoportTipus.HasValue)
{
h.Csoport().UpdateTTFFoglalkozasTipusByCsoportTipus(TanevId, co.Id, co.CsoportTipus.Value, co.OsztalyBontasId.HasValue, modifierId);
}
});
}
public int InsertCo(CsoportCO co)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Csoport(GridParameters);
var entity = dal.Get();
ConvertToEntity(h, entity, co, false, null);
return dal.Insert(entity);
});
}
public List<CsoportGridItemCo> GetCsoportKeresesCoList(CsoportSearchCo co, int? felhasznaloSzervezetId = null)
{
var isFromSzervezet = co?.IsFromSzervezet ?? false;
var result = Dal.CustomConnection.Run(ConnectionType, h =>
{
var dataSet = h.Csoport(GridParameters).CsoportKereses(TanevId, IntezmenyId, co.ConvertToPco());
List<CsoportGridItemCo> coList;
if (isFromSzervezet)
{
var szervezetIds = !felhasznaloSzervezetId.IsEntityId() ? new List<int>() : h.SzervezetDal().GetLathatoSzervezetek(IntezmenyId, TanevId, felhasznaloSzervezetId, (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek);
var intezmenyiAdminIds = felhasznaloSzervezetId.IsEntityId() ? new List<int>() : h.Felhasznalo().GetAllIntezmenyiAdmin(TanevId);
coList = dataSet.Tables[0].AsEnumerable().Select(dataRow =>
{
var szervezetId = dataRow.Field<int?>("SzervezetId");
var isSzerkesztheto = (felhasznaloSzervezetId.IsEntityId() && szervezetId.IsEntityId() && szervezetIds.Contains(szervezetId.Value)) ||
(!felhasznaloSzervezetId.IsEntityId() && intezmenyiAdminIds.Contains(FelhasznaloId) && intezmenyiAdminIds.Contains(dataRow.Field<int?>("RogzitoId") ?? FelhasznaloId));
return new CsoportGridItemCo(dataRow, isSzerkesztheto, true);
}).ToList();
}
else
{
coList = dataSet.Tables[0].AsEnumerable().Select(x => new CsoportGridItemCo(x, true, false)).ToList();
}
return coList;
});
return result;
}
public string CsoportTobbesModify(CsoportTobbesModCO csoportTobbesModCO, bool updateTanoraEvesSorszam = true)
{
if (!csoportTobbesModCO.CsoportId.HasValue)
{
throw new BlException(OsztalyCsoportResource.NemLetezoCsoport);
}
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Csoport(GridParameters);
var entity = dal.Get(csoportTobbesModCO.CsoportId.Value);
if (csoportTobbesModCO.Tipusa.HasValue)
{
entity.Tipusa = csoportTobbesModCO.Tipusa.Value;
}
if (csoportTobbesModCO.EvfolyamTipusa.HasValue)
{
entity.EvfolyamTipusa = csoportTobbesModCO.EvfolyamTipusa.Value;
}
if (csoportTobbesModCO.FeladatEllatasiHelyId.HasValue)
{
if (entity.FeladatEllatasiHelyId != csoportTobbesModCO.FeladatEllatasiHelyId.Value && !new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h)).IsAzonosKategoria(entity.FeladatEllatasiHelyId, csoportTobbesModCO.FeladatEllatasiHelyId.Value) && h.OsztalyCsoport().HasTanuloBesorolas(csoportTobbesModCO.CsoportId.Value))
{
return entity.Nev;
}
entity.FeladatEllatasiHelyId = csoportTobbesModCO.FeladatEllatasiHelyId.Value;
entity.FeladatKategoriaId = new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h)).GetFeladatKategoriaId(csoportTobbesModCO.FeladatEllatasiHelyId.Value);
}
if (csoportTobbesModCO.OsztalyBontas.HasValue)
{
if (csoportTobbesModCO.OsztalyBontas > 0)
{
if (csoportTobbesModCO.OsztalyBontasId.HasValue)
{
var osztaly = h.Osztaly().Get(csoportTobbesModCO.OsztalyBontasId.Value);
entity.OsztalyBontas = osztaly;
}
}
else
{
entity.OsztalyBontasId = -1;
if (!csoportTobbesModCO.EvfolyamTipusa.HasValue)
{
entity.EvfolyamTipusa = (int)EvfolyamTipusEnum.na;
}
}
}
if (csoportTobbesModCO.Vegzos.HasValue)
{
entity.VegzosEvfolyam = csoportTobbesModCO.Vegzos.ToBool();
}
if (csoportTobbesModCO.TervezettLetszam.HasValue)
{
entity.TervezettLetszam = csoportTobbesModCO.TervezettLetszam;
}
if (csoportTobbesModCO.Keresztfeleves.HasValue)
{
entity.Keresztfeleves = csoportTobbesModCO.Keresztfeleves.ToBool();
}
if (csoportTobbesModCO.IsGyogypedagogiaiLogopediai.HasValue)
{
entity.IsGyogypedagogiaiLogopediai = csoportTobbesModCO.IsGyogypedagogiaiLogopediai.ToBool();
}
if (csoportTobbesModCO.TechnikaiCsoport.HasValue)
{
entity.IsTechnikai = csoportTobbesModCO.TechnikaiCsoport.ToBool();
}
if (csoportTobbesModCO.CsoportNaploMegnyitasa.HasValue)
{
entity.CsoportnaploMegnyitasa = csoportTobbesModCO.CsoportNaploMegnyitasa.Value;
}
if (csoportTobbesModCO.CsoportNaploLezarasa.HasValue)
{
entity.CsoportnaploZarasa = csoportTobbesModCO.CsoportNaploLezarasa.Value;
}
if (csoportTobbesModCO.MuveszetiAgId.HasValue)
{
entity.MuveszetiAgId = csoportTobbesModCO.MuveszetiAgId.Value;
}
if (csoportTobbesModCO.ZenemuveszetiAgTipusId.HasValue)
{
entity.ZenemuveszetiAgTipusId = csoportTobbesModCO.ZenemuveszetiAgTipusId.Value;
}
if (csoportTobbesModCO.CsoportVezeto.HasValue)
{
entity.CsoportVezetoId = csoportTobbesModCO.CsoportVezeto.Value;
}
if (csoportTobbesModCO.Terem.HasValue)
{
entity.TeremId = csoportTobbesModCO.Terem.Value;
}
if (csoportTobbesModCO.SzervezetId.HasValue)
{
entity.SzervezetId = csoportTobbesModCO.SzervezetId.Value;
}
dal.Update(entity, updateTanoraEvesSorszam);
return null;
});
}
public bool IsNyariSzakmaiGyakorlatos(int csoportId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Csoport();
return dal.IsNyariSzakmaiGyakorlatos(TanevId, csoportId);
});
}
private CsoportCO ConvertEntityToCo(ICsoport entity)
{
var co = new CsoportCO
{
Id = entity.ID,
CsoportNeve = entity.Nev,
CsoportTipus = entity.Tipusa,
Megjegyzes = entity.Megjegyzes,
VegzosEvfolyamCsoport = entity.VegzosEvfolyam,
KeresztfelevesCsoport = entity.Keresztfeleves,
IsGyogypedagogiaiLogopediai = entity.IsGyogypedagogiaiLogopediai,
TechnikaiCsoport = entity.IsTechnikai,
CsoportvezetoId = entity.CsoportVezetoId > 0 ? entity.CsoportVezetoId : (int?)null,
EvfolyamTipusa = entity.EvfolyamTipusa > 0 ? entity.EvfolyamTipusa : (int?)null,
TeremID = entity.TeremId > 0 ? entity.TeremId : (int?)null,
FeladatEllatasiHelyId = entity.FeladatEllatasiHelyId > 0 ? entity.FeladatEllatasiHelyId : 0,
TanevNeve = entity.Tanev.Nev,
TanulokSzama = entity.Tanulo.Count(x => (!x.Torolt && (x.KilepesDatum == null || x.KilepesDatum > DateTime.Now))),
CsoportvezetoNeve = entity.CsoportVezeto == null ? string.Empty : entity.CsoportVezeto.NyomtatasiNev,
TeremNev = entity.Terem != null ? entity.Terem.Nev : string.Empty,
CsoportNaploLeirasa = entity.CsoportnaploLeiras,
Naploszam = entity.Naploszam,
CsoportNaploMegnyitasa = entity.CsoportnaploMegnyitasa,
CsoportNaploLezarasa = entity.CsoportnaploZarasa,
TervezettLetszam = entity.TervezettLetszam,
OsztalyBontasId = entity.OsztalyBontasId > 0 ? (int?)entity.OsztalyBontasId : null,
OsztalyBontas = entity.OsztalyBontasId > 0,
OsztalyBontasNev = entity.OsztalyBontasId > 0 ? entity.OsztalyBontas.Nev : string.Empty,
IsAutoEgyeniCsoport = entity.IsAutoEgyeniCsoport,
MuveszetiAgId = entity.MuveszetiAgId,
ZenemuveszetiAgTipusId = entity.ZenemuveszetiAgTipusId,
KepzesiFormaId = entity.KepzesiForma,
SzervezetNeve = entity.Szervezet == null ? string.Empty : entity.Szervezet.Nev,
SzervezetId = entity.SzervezetId,
};
return co;
}
private void ConvertToEntity(IDalHandler h, ICsoport entity, CsoportCO co, bool isUpdate, int? ocsEvfolyamTipusId)
{
if (co.IsAutoEgyeniCsoport && isUpdate)
{
entity.Nev = co.CsoportNeve;
List<int> osszevontEvfolyamTipusIds = EnumExtensions.GetEvfolyamTipusDictionaryItems(TanevId, true).Select(x => x.Id).ToList();
bool isOsszevontEvfolyamTipus = osszevontEvfolyamTipusIds.Any(x => x == ocsEvfolyamTipusId);
if (ocsEvfolyamTipusId == (int)EvfolyamTipusEnum.na || isOsszevontEvfolyamTipus)
{
entity.EvfolyamTipusa = co.EvfolyamTipusa ?? (int)EvfolyamTipusEnum.na;
}
}
else
{
entity.Nev = co.CsoportNeve;
entity.Megjegyzes = co.Megjegyzes;
entity.VegzosEvfolyam = co.VegzosEvfolyamCsoport;
entity.Keresztfeleves = co.KeresztfelevesCsoport;
entity.IsGyogypedagogiaiLogopediai = co.IsGyogypedagogiaiLogopediai;
entity.IsTechnikai = co.TechnikaiCsoport;
entity.OsztalyBontasId = co.OsztalyBontasId ?? -1;
entity.TervezettLetszam = co.TervezettLetszam;
entity.KepzesiForma = co.KepzesiFormaId;
if (co.TeremID.HasValue && co.TeremID.Value > 0)
{
entity.TeremId = co.TeremID.Value;
}
else
{ entity.TeremId = -1; }
entity.Tipusa = co.CsoportTipus;
if (co.CsoportvezetoId.HasValue && co.CsoportvezetoId.Value > 0)
{
entity.CsoportVezetoId = co.CsoportvezetoId.Value;
}
else if (isUpdate)
{
entity.CsoportVezeto = null;
}
entity.EvfolyamTipusa = co.EvfolyamTipusa ?? (int)EvfolyamTipusEnum.na;
if (co.FeladatEllatasiHelyId > 0)
{
entity.FeladatEllatasiHelyId = co.FeladatEllatasiHelyId;
entity.FeladatKategoriaId = new FeladatEllatasiHelyHelper(new DalHandlerConnectionType(ConnectionType, h)).GetFeladatKategoriaId(co.FeladatEllatasiHelyId);
}
else if (isUpdate)
{
entity.FeladatEllatasiHely = null;
}
entity.CsoportnaploMegnyitasa = co.CsoportNaploMegnyitasa.HasValue ? (DateTime?)co.CsoportNaploMegnyitasa.Value : null;
entity.CsoportnaploZarasa = co.CsoportNaploLezarasa.HasValue ? (DateTime?)co.CsoportNaploLezarasa.Value : null;
entity.Naploszam = co.Naploszam;
entity.CsoportnaploLeiras = co.CsoportNaploLeirasa;
entity.MuveszetiAgId = co.MuveszetiAgId;
entity.ZenemuveszetiAgTipusId = co.ZenemuveszetiAgTipusId;
if (co.SzervezetId.HasValue)
{
entity.SzervezetId = co.SzervezetId.Value;
}
entity.TanevId = TanevId;
}
}
public List<CsoportItemCo> GetCsoportCoList()
{
DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.Csoport().GetCsoportDataSet(TanevId));
var result = new List<CsoportItemCo>();
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
{
var item = new CsoportItemCo(dataRow);
result.Add(item);
}
return result;
}
public List<CsoportItemCo> GetCsoportListBySzervezet(int? szervezetTipus = null, int? szervezetId = null)
{
DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.Csoport().GetCsoportDataSet(TanevId));
var result = new List<CsoportItemCo>();
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
{
var item = new CsoportItemCo(dataRow);
if (item.SzervezetId.Equals(szervezetId))
{
result.Add(item);
}
}
return result;
}
public IDictionary<string, string> GetOsszefuggoSzakGyakosCsoportok()
{
var result = Dal.CustomConnection.Run(ConnectionType, (h) => h.Csoport().GetOsszefuggoSzakGyakosCsoportok(TanevId));
return LogicUtil.CreateDropdownContent(result, "ID", "Nev", sort: false);
}
public IDictionary<string, string> GetEgyeniCsoportData(int tanuloId, int osztalyId, bool isKovTanev)
{
var amiEgyeniCsoportok = Constants.AMIEgyeniCsoportok;
var ds = Dal.CustomConnection.Run(ConnectionType, (h) =>
{
DateTime? kovTanevElsoNapja = null;
if (isKovTanev)
{
kovTanevElsoNapja = new TanevHelper(new DalHandlerConnectionType(ConnectionType, h)).GetTanevKezdete();
}
return h.Csoport().GetEgyeniCsoportData(tanuloId, osztalyId, TanevId, amiEgyeniCsoportok, isKovTanev, kovTanevElsoNapja);
});
return LogicUtil.CreateDropdownContent(ds, "Id", "Nev", sort: false);
}
public int? GetCsoportOsztalyBontasId(int csoportId)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var csoportDal = h.Csoport();
var csoport = csoportDal.Get(csoportId);
return csoport.OsztalyBontasId.IsEntityId() ? csoport.OsztalyBontasId : (int?)null;
});
}
public DataSet GetTanuloOsztalyByCsoportAndDatum(int csoportId, DateTime datum)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
return h.Csoport().GetOsztalyIdByCsoportIdAndDatum(TanevId, IntezmenyId, csoportId, datum);
});
}
public (int munkarenddelNemRendelkezo, int munkarenddelRendelkezo) GetCsoportMunkarendSzama(int osztalyCsoportId, bool isAktivTanev)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Csoport(GridParameters);
var dataSet = dal.GetCsoportMunkarendSzama(osztalyCsoportId, isAktivTanev);
var dataRow = dataSet.Tables[0].Rows[0];
return (munkarenddelNemRendelkezo: (int)dataRow[0], munkarenddelRendelkezo: (int)dataRow[1]);
});
}
public List<OsztalyCsoportTanuloMunkarendItemCo> GetCsoportTanuloiByMunkarend(int osztalycsoportId, bool hasMunkarend, bool isAktivTanev)
{
return Dal.CustomConnection.Run(ConnectionType, (h) =>
{
var dal = h.Csoport(GridParameters);
var dataSet = dal.GetCsoportTanuloiByMunkarend(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;
});
}
}
}