371 lines
12 KiB
C#
371 lines
12 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|