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,371 @@
using System.Collections.Generic;
using System.Data;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core;
using Kreta.Core.ConnectionType;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual;
using Kreta.DataAccessManual.Interfaces;
namespace Kreta.BusinessLogic.Helpers
{
public class EszkozHelper : LogicBase
{
public EszkozHelper(IConnectionType connectionType) : base(connectionType) { }
public DataSet EszkozKereses(EszkozokSearchCo co)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.EszkozDal(GridParameters);
return dal.EszkozKereses(co.ConvertToPco());
});
}
public EszkozCO GetEszkozCo(int id)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var oEszkoz = h.EszkozDal().Get(id);
EszkozCO co = new EszkozCO
{
Berelt = oEszkoz.Berelt.ToNullableInt(),
BeszerzesDatum = oEszkoz.BeszerzesDatum,
BeszerzesiAr = oEszkoz.BeszerzesiAr,
Darabszam = oEszkoz.Darabszam,
FokonyviSzam = oEszkoz.FokonyviSzam,
GyariSzam = oEszkoz.GyariSzam,
GyartasiEv = oEszkoz.GyartasiEv,
HalozatiKapcsolat = oEszkoz.HalozatiKapcsolat.ToNullableInt(),
Hordozhato = oEszkoz.Hordozhato.ToNullableInt(),
ID = oEszkoz.ID,
InternetKapcsolat = oEszkoz.InternetKapcsolat.ToNullableInt(),
Jelleg = oEszkoz.Jellege,
Kategoria = oEszkoz.Kategoria,
LeltariSzam = oEszkoz.LeltariSzam,
Megjegyzes = oEszkoz.Megjegyzes,
MennyisegiEgyseg = oEszkoz.MennyisegiEgyseg,
NemMukodik = oEszkoz.NemMukodik.ToNullableInt(),
Multimedias = oEszkoz.Multimedias.ToNullableInt(),
Nev = oEszkoz.Nev,
PedagogusHozzaferhet = oEszkoz.PedagogusHozzaferhet.ToNullableInt(),
Szallito = oEszkoz.Szallito,
SzemelyiFelelos = oEszkoz.Felelos == null ? (int?)null : oEszkoz.FelelosId,
FelelosNev = oEszkoz.Felelos == null ? "" : oEszkoz.Felelos.NyomtatasiNev,
TanuloHozzaferhet = oEszkoz.TanuloHozzaferhet.ToNullableInt(),
Tartozek = oEszkoz.Tartozek ?? false,
TartozekHivatkozas = oEszkoz.TartozekHivatkozas,
TeremID = oEszkoz.TeremId,
TeremNev = oEszkoz.Terem.Nev,
Tipus = oEszkoz.Tipus,
Celja = oEszkoz.Celja,
Vonalkod = oEszkoz.Vonalkod
};
return co;
});
}
public bool GetEszkozByName(string eszkozName, int? id, int teremId, int jelleg)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var helper = h.EszkozDal();
return helper.GetEszkozByName(eszkozName, TanevId, id, teremId, jelleg);
});
}
public bool GetEszkozByIds(string eszkozIdString, int teremId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var helper = h.EszkozDal();
return helper.GetEszkozByIds(eszkozIdString, TanevId, teremId);
});
}
public void InsertEszkozCo(EszkozCO eszkozCo)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
if (IsValid(eszkozCo))
{
var dal = h.EszkozDal(GridParameters);
var oEszkoz = ConvertEszkozCOToEszkoz(h, eszkozCo);
oEszkoz.TanevId = TanevId;
dal.Insert(oEszkoz);
}
});
}
public void UpdateEszkozCo(EszkozCO eszkozCo)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
if (IsValid(eszkozCo))
{
var dal = h.EszkozDal(GridParameters);
var oEszkoz = ConvertEszkozCOToEszkoz(h, eszkozCo, true);
oEszkoz.TanevId = TanevId;
dal.FullUpdate(oEszkoz);
}
});
}
public void UpdateCsopEszkoz(EszkozCO co)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
var entity = h.EszkozDal().Get(co.ID.Value);
if (co.TeremID.HasValue)
{
entity.TeremId = co.TeremID.Value;
}
if (co.Tipus.HasValue)
{
entity.Tipus = co.Tipus.Value;
}
if (co.Kategoria.HasValue)
{
entity.Kategoria = co.Kategoria.Value;
}
if (co.BeszerzesDatum.HasValue)
{
entity.BeszerzesDatum = co.BeszerzesDatum.Value;
}
if (co.Darabszam.HasValue)
{
entity.Darabszam = co.Darabszam.Value;
}
if (co.SzemelyiFelelos.HasValue)
{
entity.FelelosId = co.SzemelyiFelelos.Value;
}
if (co.GyartasiEv.HasValue)
{
entity.GyartasiEv = co.GyartasiEv.Value;
}
if (co.PedagogusHozzaferhet.HasValue)
{
entity.PedagogusHozzaferhet = co.PedagogusHozzaferhet.ToBool();
}
if (co.TanuloHozzaferhet.HasValue)
{
entity.TanuloHozzaferhet = co.TanuloHozzaferhet.ToBool();
}
if (co.Multimedias.HasValue)
{
entity.Multimedias = co.Multimedias.ToBool();
}
if (co.HalozatiKapcsolat.HasValue)
{
entity.HalozatiKapcsolat = co.HalozatiKapcsolat.ToBool();
}
if (co.InternetKapcsolat.HasValue)
{
entity.InternetKapcsolat = co.InternetKapcsolat.ToBool();
}
if (co.Hordozhato.HasValue)
{
entity.Hordozhato = co.Hordozhato.ToBool();
}
if (co.Berelt.HasValue)
{
entity.Berelt = co.Berelt.ToBool();
}
if (co.Celja.HasValue)
{
entity.Celja = co.Celja.Value;
}
entity.Tartozek = co.Tartozek;
entity.TartozekHivatkozas = co.TartozekHivatkozas;
if (co.NemMukodik.HasValue)
{
entity.NemMukodik = co.NemMukodik.ToBool();
}
var dal = h.EszkozDal(GridParameters);
dal.FullUpdate(entity);
});
}
public void DeleteEszkoz(int id)
{
Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.EszkozDal(GridParameters);
dal.Delete(id);
});
}
public DataSet GetEszkozokForTerem(int teremId)
{
return Dal.CustomConnection.Run(ConnectionType, h =>
{
var dal = h.EszkozDal(GridParameters);
return dal.GetEszkozokWhereTeremID(teremId, TanevId);
});
}
private bool IsValid(EszkozCO eszkozCo)
{
bool ret = true;
try
{
if (string.IsNullOrWhiteSpace(eszkozCo.Nev))
{
ret = false;
}
else if (eszkozCo.TeremID < 1)
{
ret = false;
}
}
catch
{
ret = false;
}
return ret;
}
private IEszkoz ConvertEszkozCOToEszkoz(IDalHandler h, EszkozCO eszkozCo, bool isUpdate = false)
{
var dal = h.EszkozDal();
var oEszkoz = dal.Get();
if (isUpdate)
{
oEszkoz = dal.Get(eszkozCo.ID.Value);
}
//- TOKNOW: nem szükséges megnézni, hogy az eddigi értékhez képest változott-e, mert Framework szinten ezt még ellenőrizni fogja és nem módosít, ha nem változik az érték
oEszkoz.Berelt = eszkozCo.Berelt.ToBool();
if (eszkozCo.BeszerzesDatum.HasValue)
{
oEszkoz.BeszerzesDatum = eszkozCo.BeszerzesDatum.Value;
}
if (eszkozCo.BeszerzesiAr.HasValue)
{
oEszkoz.BeszerzesiAr = eszkozCo.BeszerzesiAr.Value;
}
if (eszkozCo.Celja.HasValue)
{
oEszkoz.Celja = eszkozCo.Celja.Value;
}
if (eszkozCo.Darabszam.HasValue)
{
oEszkoz.Darabszam = eszkozCo.Darabszam.Value;
}
oEszkoz.FokonyviSzam = eszkozCo.FokonyviSzam;
oEszkoz.GyariSzam = eszkozCo.GyariSzam;
if (eszkozCo.GyartasiEv.HasValue)
{
oEszkoz.GyartasiEv = eszkozCo.GyartasiEv.Value;
}
oEszkoz.HalozatiKapcsolat = eszkozCo.HalozatiKapcsolat.ToBool();
oEszkoz.Hordozhato = eszkozCo.Hordozhato.ToBool();
oEszkoz.InternetKapcsolat = eszkozCo.InternetKapcsolat.ToBool();
if (eszkozCo.Jelleg.HasValue)
{
oEszkoz.Jellege = eszkozCo.Jelleg.Value;
}
if (eszkozCo.Kategoria.HasValue)
{
oEszkoz.Kategoria = eszkozCo.Kategoria.Value;
}
oEszkoz.LeltariSzam = eszkozCo.LeltariSzam;
oEszkoz.Megjegyzes = eszkozCo.Megjegyzes;
if (eszkozCo.MennyisegiEgyseg.HasValue)
{
oEszkoz.MennyisegiEgyseg = eszkozCo.MennyisegiEgyseg.Value;
}
oEszkoz.Multimedias = eszkozCo.Multimedias.ToBool();
oEszkoz.Nev = eszkozCo.Nev;
oEszkoz.PedagogusHozzaferhet = eszkozCo.PedagogusHozzaferhet.ToBool();
oEszkoz.Szallito = eszkozCo.Szallito;
oEszkoz.TanuloHozzaferhet = eszkozCo.TanuloHozzaferhet.ToBool();
oEszkoz.Tartozek = eszkozCo.Tartozek;
oEszkoz.TartozekHivatkozas = eszkozCo.TartozekHivatkozas;
if (eszkozCo.Tipus.HasValue)
{
oEszkoz.Tipus = eszkozCo.Tipus.Value;
}
oEszkoz.Vonalkod = eszkozCo.Vonalkod;
oEszkoz.NemMukodik = eszkozCo.NemMukodik.ToBool();
//- TOKNOW: Update esetén vagy ID mezőt és Entitást is kap, vagy (a jobb megoldás, hogy) elég lehet az egyik is, de akkor FullUpdate()-et kell hívni!
if (eszkozCo.SzemelyiFelelos.HasValue)
{
oEszkoz.FelelosId = eszkozCo.SzemelyiFelelos.Value;
}
else
{
oEszkoz.FelelosId = -1;
}
if (eszkozCo.TeremID.HasValue && !eszkozCo.TeremID.Equals(oEszkoz.TeremId))
{
oEszkoz.TeremId = eszkozCo.TeremID.Value;
}
return oEszkoz;
}
public List<EszkozItemCo> GetEszkozCoList()
{
DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.EszkozDal().GetEszkozDataSet(TanevId));
var result = new List<EszkozItemCo>();
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
{
var item = new EszkozItemCo(dataRow);
result.Add(item);
}
return result;
}
public IList<EszkozItemCo> GetEszkozKeresesExport(EszkozokSearchCo co)
{
DataSet dataSet = Dal.CustomConnection.Run(ConnectionType, dalHandler => dalHandler.EszkozDal().EszkozKeresesExport(co.ConvertToPco()));
var result = new List<EszkozItemCo>();
foreach (DataRow dataRow in dataSet.Tables[0].Rows)
{
var item = new EszkozItemCo(dataRow);
result.Add(item);
}
return result;
}
}
}