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

314 lines
12 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.Util;
using Kreta.Framework;
using Kreta.Framework.Util;
using SDA.DataProvider;
using SDA.Kreta.Entities;
namespace Kreta.DataAccessManual
{
internal class CsengetesiRendDal : DataAccessBase, ICsengetesiRendDal
{
public CsengetesiRendDal(DalHandler handler, GridParameters parameters)
: base(handler, parameters)
{
}
public CsengetesiRendDal(DalHandler handler) : base(handler)
{
}
public DataSet GetCsengetesiRendekByMukodesiHely(int tanevId, int? mukodesiHelyId = null, bool csakAktiv = false)
{
using (var sdaCommand = new SDACommand())
{
sdaCommand.Connection = UserContext.Instance.SDAConnection;
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
sdaCommand.CommandType = CommandType.StoredProcedure;
sdaCommand.CommandText = "uspGetCsengetesiRendekByMukodesiHely";
sdaCommand.Parameters.Add("pTanevId", tanevId);
sdaCommand.Parameters.Add("pMukodesiHelyId", mukodesiHelyId);
sdaCommand.Parameters.Add("pCsakAktiv", csakAktiv);
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = sdaCommand;
sdaDataAdapter.Fill(dataSet);
}
SetBoolFields(dataSet.Tables[0], "Aktiv");
return dataSet;
}
}
public void SetCsengetesirend(int csengetesiRendId, bool aktiv, int tanevId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandText = "sp_SetAktivCsengetesiRend";
command.Parameters.Add("CsengrendID", csengetesiRendId);
command.Parameters.Add("Aktival", aktiv);
command.Parameters.Add("TanevId", tanevId);
command.CommandType = CommandType.StoredProcedure;
command.ExecuteNonQuery();
DalHelper.Commit();
}
}
public DataSet GetCsengetesiRendek(DateTime kezdoDatum, DateTime vegDatum, int? osztalycsoportszuro, int intezmenyId, int tanevId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetCsengetesiRendek";
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pIntezmenyId", intezmenyId);
if (osztalycsoportszuro.HasValue)
{
command.Parameters.Add("pOsztalyCsoportId", osztalycsoportszuro.Value);
}
else
{
command.Parameters.Add("pOsztalyCsoportId", DBNull.Value);
}
command.Parameters.Add("pKezdoDatum", kezdoDatum);
command.Parameters.Add("pVegDatum", vegDatum);
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = command;
sdaDataAdapter.Fill(dataSet);
}
return dataSet;
}
}
public DataSet GetCsengetesiRendek(int tanevId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetCsengetesiRendekByTanev";
command.Parameters.Add("pTanevId", tanevId);
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = command;
sdaDataAdapter.Fill(dataSet);
}
return dataSet;
}
}
public ICsengetesiRend Get()
{
return CsengetesiRend.GiveAnInstance();
}
public ICsengetesiRend Get(int id)
{
var entity = CsengetesiRend.GiveAnInstance();
entity.LoadByID(id);
return entity;
}
public void FullUpdate(ICsengetesiRend dto)
{
var entity = dto as CsengetesiRend;
entity.FullUpdate();
FollowUp(entity);
DalHelper.Commit();
}
public void Update(ICsengetesiRend dto)
{
var entity = dto as CsengetesiRend;
entity.Update();
FollowUp(entity);
DalHelper.Commit();
}
public void Insert(ICsengetesiRend dto)
{
var entity = dto as CsengetesiRend;
entity.Insert();
FollowUp(entity);
dto.ID = entity.ID;
DalHelper.Commit();
}
public void Delete(int id)
{
var entity = CsengetesiRend.GiveAnInstance();
entity.LoadByID(id);
var torlendok = new List<int>();
foreach (var ora in entity.CsengetesiRendOra)
{
torlendok.Add(ora.ID);
}
this.DalHelper.CsengetesiRendOrak(GridParameters).CsengetesiRendOrakTorles(torlendok, entity.TanevId);
entity.Delete();
DalHelper.Commit();
}
public (int csengetesiRendId, int oraSzam) GetCsengetesiRendAndOraszam(int csengetesirendId, int intezmenyId, int tanevId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetCsengetesiRendAndOraszam";
command.Parameters.Add("pCsengetesirendId", csengetesirendId);
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pIntezmenyId", intezmenyId);
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = command;
sdaDataAdapter.Fill(dataSet);
}
var csengetesiRendId = Convert.ToInt32(dataSet.Tables[0].Rows[0]["CsengetesiRendId"].ToString());
var oraSzam = Convert.ToInt32(dataSet.Tables[0].Rows[0]["OraSzam"].ToString());
return (csengetesiRendId, oraSzam);
}
}
public DataSet GetCsengetesiRendEsOrak(string csengetesiRendId, int oraszamId, int tanevId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetCsengetesiRendEsOrak";
command.Parameters.Add("pCsengetesirendId", csengetesiRendId);
command.Parameters.Add("pOraszamId", oraszamId);
command.Parameters.Add("pTanevId", tanevId);
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = command;
sdaDataAdapter.Fill(dataSet);
}
return dataSet;
}
}
/// INFO @DevKornel: Mobil használja
public int GetAktivCsengetesiRendId(int tanevId, int intezmenyId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetAktivCsengetesiRendId";
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pIntezmenyId", intezmenyId);
return (int.Parse(command.ExecuteScalar().ToString()));
}
}
public bool IsCsengetesiRendNevExists(int id, string nev, int tanevId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspIsCsengetesiRendNevExists";
command.Parameters.Add("pId", id);
command.Parameters.Add("pNev", nev);
command.Parameters.Add("pTanevId", tanevId);
var result = command.ExecuteScalar();
if (result != null && result != System.DBNull.Value)
return true;
return false;
}
}
public void FollowUpCsengetesiRend(int intezmenyId, int aktTanevId, int kovetkezoTanevId, int csengetesiRendId)
{
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandText = "uspFollowUpcsengetesiRend";
command.Parameters.Add("intezmenyId", intezmenyId);
command.Parameters.Add("aktTanevId", aktTanevId);
command.Parameters.Add("kovetkezoTanevId", kovetkezoTanevId);
command.Parameters.Add("csengetesiRendId", csengetesiRendId);
command.CommandType = CommandType.StoredProcedure;
command.ExecuteNonQuery();
DalHelper.Commit();
}
}
public (int minOraszam, int maxOraszam) GetMinMaxOraszam(int tanevId, int csengetesirendId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetMinMaxOraszam";
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pCsengetesirendId", csengetesirendId);
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = command;
sdaDataAdapter.Fill(dataSet);
}
var minOraszam = dataSet.Tables[0].Rows[0].Field<int>("MinOraszam");
var maxOraszam = dataSet.Tables[0].Rows[0].Field<int>("MaxOraszam");
return (minOraszam, maxOraszam);
}
}
}
}