init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
621
Kreta.BusinessLogic/Helpers/CsoportHelper.cs
Normal file
621
Kreta.BusinessLogic/Helpers/CsoportHelper.cs
Normal 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;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue