kreta/Kreta.DataAccessManual/MerohelyDal.cs
2024-03-13 00:33:46 +01:00

188 lines
6.8 KiB
C#

using System.Collections.Generic;
using System.Data;
using System.Text;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.Util;
using Kreta.Framework.Util;
using SDA.Kreta.Entities;
namespace Kreta.DataAccessManual
{
internal class MerohelyDal : DataAccessBase, IMerohelyDal
{
public MerohelyDal(DalHandler handler, GridParameters parameters) : base(handler, parameters)
{
}
public MerohelyDal(DalHandler handler) : base(handler)
{
}
public IMerohely GetMerohely()
{
return Merohely.GiveAnInstance();
}
public IMeroallas GetMeroallas()
{
return Meroallas.GiveAnInstance();
}
public void FullUpdate(IMerohely dto)
{
var entity = dto as Merohely;
entity.FullUpdate(true);
DalHelper.Commit();
}
public void Update(IMerohely dto)
{
var entity = dto as Merohely;
entity.FullUpdate();
DalHelper.Commit();
}
public void Insert(IMerohely dto)
{
var entity = dto as Merohely;
entity.Insert(true);
dto.ID = entity.ID;
DalHelper.Commit();
}
public void Delete(int id)
{
Merohely entity = Merohely.GiveAnInstance();
entity.LoadByID(id);
entity.Delete();
DalHelper.Commit();
}
public DataSet MerohelyKereses(int tanevId, int intezmenyId, string merohelyNev, int? merohelyTipusId, int? keresesMerohelyMukodesiHelyId, int? isMeroallasFrissiteseSzukseges)
{
var paramsList = new List<CommandParameter>();
paramsList.Add(new CommandParameter("pTanevId", tanevId));
paramsList.Add(new CommandParameter("pIntezmenyId", intezmenyId));
var command = new StringBuilder(@"
SELECT merohely.ID MerohelyId
,merohely.C_NEV Nev
,merohely.C_MEROALLASFRISSITESESZUKSEGES MeroallasFrissiteseSzukseges
,merohely.C_MEROHELYTIPUSID MerohelyTipus
,merohely.C_MUKODESIHELYID MukodesiHelyId
,mukodesiHely.C_NEV MukodesihelyNev
,merohely.C_MEROORAAZONOSITO MerooraAzonosito
FROM
T_MEROHELY_OSSZES Merohely
LEFT JOIN
T_DICTIONARYITEMBASE_OSSZES Dictionary ON Dictionary.ID = Merohely.C_MEROHELYTIPUSID AND Dictionary.C_TANEVID = :pTanevId
LEFT JOIN
T_MUKODESIHELY_OSSZES MukodesiHely ON MukodesiHely.ID = Merohely.C_MUKODESIHELYID AND MukodesiHely.TOROLT = 'F'
WHERE
Mukodesihely.C_TANEVID = :pTanevId
AND Merohely.C_TANEVID = :pTanevId
AND Merohely.C_INTEZMENYID = :pIntezmenyId
AND Merohely.TOROLT='F'
");
if (!string.IsNullOrWhiteSpace(merohelyNev))
{
command.Append($" AND LOWER(Merohely.C_NEV) like '%' + @{nameof(merohelyNev)} + '%'");
paramsList.Add(new CommandParameter(nameof(merohelyNev), merohelyNev.ToLowerInvariant()));
}
if (merohelyTipusId.HasValue)
{
command.Append(@" AND Merohely.C_MEROHELYTIPUSID = :pMerohelyTipusId");
paramsList.Add(new CommandParameter("pMerohelyTipusId", merohelyTipusId));
}
if (keresesMerohelyMukodesiHelyId.HasValue)
{
command.Append(@" AND Merohely.C_MUKODESIHELYID = :pKeresesMerohelyMukodesiHelyId");
paramsList.Add(new CommandParameter("pKeresesMerohelyMukodesiHelyId", keresesMerohelyMukodesiHelyId));
}
if (isMeroallasFrissiteseSzukseges.HasValue)
{
if (isMeroallasFrissiteseSzukseges.Value == 1)
{
command.Append(@" AND Merohely.C_MEROALLASFRISSITESESZUKSEGES = 'T'");
}
if (isMeroallasFrissiteseSzukseges.Value == 0)
{
command.Append(@" AND Merohely.C_MEROALLASFRISSITESESZUKSEGES = 'F'");
}
}
var ds = this.GetData(command.ToString(), paramsList, dictionaryItemColumns: "MerohelyTipus", booleanColumns: "MeroallasFrissiteseSzukseges");
return ds;
}
public DataSet GetNemToroltMerohelyek(int tanevId, int intezmenyId)
{
var paramsList = new List<CommandParameter>();
paramsList.Add(new CommandParameter("pTanevId", tanevId));
paramsList.Add(new CommandParameter("pIntezmenyId", intezmenyId));
var command = new StringBuilder(@"
SELECT merohely.ID MerohelyId
,merohely.C_NEV Nev
FROM
T_MEROHELY_OSSZES Merohely
WHERE
Merohely.C_TANEVID = :pTanevId
AND Merohely.C_INTEZMENYID = :pIntezmenyId
AND Merohely.TOROLT = 'F'
");
var ds = this.GetData(command.ToString(), paramsList);
return ds;
}
public DataSet GetMeroallasListByMerohelyId(int merohelyId)
{
var paramsList = new List<CommandParameter>();
paramsList.Add(new CommandParameter("pMerohelyId", merohelyId));
var command = new StringBuilder(@"
SELECT
meroallas.ID MeroallasId
,meroallas.C_MEROHELYID MerohelyId
,meroallas.C_ERTEK Ertek
,meroallas.C_LEOLVASASDATUMA LeolvasasDatuma
,IIF(f.C_MEROALLASID IS NOT NULL, 'T', 'F' ) KeppelRendelkezik
FROM
T_MEROALLAS_OSSZES meroallas
LEFT JOIN T_FELTOLTOTTFAJL_MEROALLAS f On f.C_MEROALLASID = meroallas.ID
WHERE
C_MEROHELYID = :pMerohelyId
AND meroallas.TOROLT = 'F'
");
DataSet ds = this.GetData(command.ToString(), paramsList, booleanColumns: "KeppelRendelkezik");
return ds;
}
public IMerohely GetMerohelyById(int id)
{
Merohely entity = Merohely.GiveAnInstance();
entity.LoadByID(id);
return entity;
}
public IMeroallas GetMeroallasById(int id)
{
Meroallas entity = Meroallas.GiveAnInstance();
entity.LoadByID(id);
return entity;
}
}
}