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

427 lines
16 KiB
C#

using System;
using System.Data;
using Kreta.Core;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.ParameterClasses;
using Kreta.DataAccessManual.Util;
using Kreta.Framework;
using Kreta.Framework.Util;
using SDA.DataProvider;
using SDA.Kreta.Entities;
namespace Kreta.DataAccessManual
{
internal class TanuloKozossegiSzolgalatDal : DataAccessBase, ITanuloKozossegiSzolgalatDal
{
public void Insert(ITanuloKozossegiSzolgalat dto)
{
var entity = dto as TanuloKozossegiSzolgalat;
entity.Insert();
dto.ID = entity.ID;
DalHelper.Commit();
}
public void InsertKozossegiSzolgalatNyelv(ITanuloKozossegiSzolgalatNyelv dto)
{
var entity = dto as TanuloKozossegiSzolgalatNyelv;
entity.Insert();
dto.ID = entity.ID;
DalHelper.Commit();
}
public void FullUpdate(ITanuloKozossegiSzolgalat dto)
{
var entity = dto as TanuloKozossegiSzolgalat;
entity.FullUpdate();
DalHelper.Commit();
}
public void Update(ITanuloKozossegiSzolgalat dto)
{
var entity = dto as TanuloKozossegiSzolgalat;
entity.Update();
DalHelper.Commit();
}
public void UpdateKozossegiSzolgalatNyelv(ITanuloKozossegiSzolgalatNyelv dto)
{
var entity = dto as TanuloKozossegiSzolgalatNyelv;
entity.Update();
DalHelper.Commit();
}
public ITanuloKozossegiSzolgalat Get()
{
return TanuloKozossegiSzolgalat.GiveAnInstance();
}
public ITanuloKozossegiSzolgalat Get(int id)
{
var entity = TanuloKozossegiSzolgalat.GiveAnInstance();
entity.LoadByID(id);
return entity;
}
public ITanuloKozossegiSzolgalatNyelv GetKozossegiSzolgalatNyelv()
{
return TanuloKozossegiSzolgalatNyelv.GiveAnInstance();
}
public void Delete(int id)
{
var entity = Get(id) as TanuloKozossegiSzolgalat;
entity.TanuloKozossegiSzolgalatNyelv.DeleteAll();
entity.Delete();
DalHelper.Commit();
}
public TanuloKozossegiSzolgalatDal(DalHandler handler) : base(handler)
{
}
public TanuloKozossegiSzolgalatDal(DalHandler handler, GridParameters gridParameters) : base(handler, gridParameters)
{
}
public DataSet GetKozossegiSzolgalatokData(int intezmenyId, KozossegiSzolgalatokSearchPco pco)
{
var ds = new DataSet();
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetKozossegiSzolgalatokData";
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
if (pco.OsztalyCsoportIdList.NotNullAndAny())
{
command.Parameters.Add("pOsztalyCsoportIdList", SDADBType.String).Value = string.Join(",", pco.OsztalyCsoportIdList);
}
else
{
command.Parameters.Add("pOsztalyCsoportIdList", SDADBType.String).Value = DBNull.Value;
}
if (pco.IntervallumKezdete != null)
{
command.Parameters.Add("pIdoszakKezdete", SDADBType.DateTime).Value = pco.IntervallumKezdete.Value;
}
else
{
command.Parameters.Add("pIdoszakKezdete", SDADBType.DateTime).Value = DBNull.Value;
}
if (pco.IntervallumVege != null)
{
command.Parameters.Add("pIdoszakVege", SDADBType.DateTime).Value = pco.IntervallumVege.Value;
}
else
{
command.Parameters.Add("pIdoszakVege", SDADBType.DateTime).Value = DBNull.Value;
}
if (pco.OsszesOraszamKezdete > 0)
{
command.Parameters.Add("pOsszesOraszamKezdete", SDADBType.Int).Value = (int)pco.OsszesOraszamKezdete;
}
else
{
command.Parameters.Add("pOsszesOraszamKezdete", SDADBType.Int).Value = DBNull.Value;
}
if (pco.OsszesOraszamVege > 0)
{
command.Parameters.Add("pOsszesOraszamVege", SDADBType.Int).Value = (int)pco.OsszesOraszamVege;
}
else
{
command.Parameters.Add("pOsszesOraszamVege", SDADBType.Int).Value = DBNull.Value;
}
if (!string.IsNullOrWhiteSpace(pco.TanuloNev))
{
command.Parameters.Add("pTanuloNeve", SDADBType.Char).Value = pco.TanuloNev;
}
else
{
command.Parameters.Add("pTanuloNeve", SDADBType.Char).Value = DBNull.Value;
}
if (!string.IsNullOrWhiteSpace(pco.AnyjaNeve))
{
command.Parameters.Add("pAnyjaNeve", SDADBType.Char).Value = pco.AnyjaNeve;
}
else
{
command.Parameters.Add("pAnyjaNeve", SDADBType.Char).Value = DBNull.Value;
}
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
}
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
return dt.AsDataSet();
}
public DataSet GetKozossegiSzolgalatokReszletek(int intezmenyId, int tanevId, int tanuloId, int tanarId, bool toroltElemek, KozossegiSzolgalatokSearchPco pco)
{
var ds = new DataSet();
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "sp_GetKozossegiSzolgalatokReszletek";
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
if (tanuloId.IsEntityId())
{
command.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId;
}
else
{
command.Parameters.Add("pTanuloId", SDADBType.Int).Value = DBNull.Value;
}
if (tanarId.IsEntityId())
{
command.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId;
}
else
{
command.Parameters.Add("pTanarId", SDADBType.Int).Value = DBNull.Value;
}
if (pco.IntervallumKezdete.HasValue)
{
command.Parameters.Add("pIntervallumKezdete", SDADBType.DateTime).Value = pco.IntervallumKezdete;
}
else
{
command.Parameters.Add("pIntervallumKezdete", SDADBType.DateTime).Value = DBNull.Value;
}
if (pco.IntervallumVege.HasValue)
{
command.Parameters.Add("pIntervallumVege", SDADBType.DateTime).Value = pco.IntervallumVege;
}
else
{
command.Parameters.Add("pIntervallumVege", SDADBType.DateTime).Value = DBNull.Value;
}
if (!string.IsNullOrWhiteSpace(pco.TeljesitesiHelye))
{
command.Parameters.Add("pTeljesitesHelye", SDADBType.String).Value = pco.TeljesitesiHelye;
}
else
{
command.Parameters.Add("pTeljesitesHelye", SDADBType.String).Value = DBNull.Value;
}
if (pco.Oraszam.HasValue)
{
command.Parameters.Add("pOraszam", SDADBType.Int).Value = pco.Oraszam;
}
else
{
command.Parameters.Add("pOraszam", SDADBType.Int).Value = DBNull.Value;
}
if (!string.IsNullOrWhiteSpace(pco.TanuloNev))
{
command.Parameters.Add("pTanuloNev", SDADBType.String).Value = pco.TanuloNev;
}
else
{
command.Parameters.Add("pTanuloNev", SDADBType.String).Value = DBNull.Value;
}
if (!string.IsNullOrWhiteSpace(pco.OsztalyNev))
{
command.Parameters.Add("pOsztalyNev", SDADBType.String).Value = pco.OsztalyNev;
}
else
{
command.Parameters.Add("pOsztalyNev", SDADBType.String).Value = DBNull.Value;
}
if (pco.KozossegiSzolgalatTipusa.HasValue)
{
command.Parameters.Add("pKozossegiSzolgalatTipusa", SDADBType.Int).Value = pco.KozossegiSzolgalatTipusa;
}
else
{
command.Parameters.Add("pKozossegiSzolgalatTipusa", SDADBType.Int).Value = DBNull.Value;
}
command.Parameters.Add("pToroltElemek", SDADBType.Char).Value = toroltElemek ? 'T' : 'F';
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
}
SetDNAME(ds.Tables[0], "KozossegiSzolgalatTipusa");
SetBoolFields(ds.Tables[0], "Torolt,Modosithato");
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
return dt.AsDataSet();
}
public DataSet GetKozossegiSzolgalatokExcelExport(int intezmenyId, KozossegiSzolgalatokSearchPco pco)
{
var ds = new DataSet();
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetKozossegiSzolgalatokExportData";
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
if (pco.OsztalyCsoportIdList.NotNullAndAny())
{
command.Parameters.Add("pOsztalyCsoportIdList", SDADBType.String).Value = string.Join(",", pco.OsztalyCsoportIdList);
}
else
{
command.Parameters.Add("pOsztalyCsoportIdList", SDADBType.String).Value = DBNull.Value;
}
if (pco.TanuloIdList.NotNullAndAny())
{
command.Parameters.Add("pTanuloIds", SDADBType.String).Value = string.Join(",", pco.TanuloIdList);
}
else
{
command.Parameters.Add("pTanuloIds", SDADBType.String).Value = DBNull.Value;
}
if (pco.IntervallumKezdete.HasValue)
{
command.Parameters.Add("pIntervallumKezdete", SDADBType.DateTime).Value = pco.IntervallumKezdete;
}
else
{
command.Parameters.Add("pIntervallumKezdete", SDADBType.DateTime).Value = DBNull.Value;
}
if (pco.IntervallumVege.HasValue)
{
command.Parameters.Add("pIntervallumVege", SDADBType.DateTime).Value = pco.IntervallumVege;
}
else
{
command.Parameters.Add("pIntervallumVege", SDADBType.DateTime).Value = DBNull.Value;
}
if (!string.IsNullOrWhiteSpace(pco.TeljesitesiHelye))
{
command.Parameters.Add("pTeljesitesHelye", SDADBType.String).Value = pco.TeljesitesiHelye;
}
else
{
command.Parameters.Add("pTeljesitesHelye", SDADBType.String).Value = DBNull.Value;
}
if (pco.KozossegiSzolgalatTipusa.HasValue)
{
command.Parameters.Add("pKozossegiSzolgalatTipusa", SDADBType.Int).Value = pco.KozossegiSzolgalatTipusa;
}
else
{
command.Parameters.Add("pKozossegiSzolgalatTipusa", SDADBType.Int).Value = DBNull.Value;
}
if (pco.OsszesOraszamKezdete > 0)
{
command.Parameters.Add("pOsszesOraszamKezdete", SDADBType.Int).Value = (int)pco.OsszesOraszamKezdete;
}
else if (pco.Oraszam.HasValue)
{
command.Parameters.Add("pOsszesOraszamKezdete", SDADBType.Int).Value = (int)pco.Oraszam.Value;
}
else
{
command.Parameters.Add("pOsszesOraszamKezdete", SDADBType.Int).Value = DBNull.Value;
}
if (pco.OsszesOraszamVege > 0)
{
command.Parameters.Add("pOsszesOraszamVege", SDADBType.Int).Value = (int)pco.OsszesOraszamVege;
}
else if (pco.Oraszam.HasValue)
{
command.Parameters.Add("pOsszesOraszamVege", SDADBType.Int).Value = (int)pco.Oraszam.Value;
}
else
{
command.Parameters.Add("pOsszesOraszamVege", SDADBType.Int).Value = DBNull.Value;
}
if (!string.IsNullOrWhiteSpace(pco.TanuloNev))
{
command.Parameters.Add("pTanuloNev", SDADBType.Char).Value = pco.TanuloNev;
}
else
{
command.Parameters.Add("pTanuloNev", SDADBType.Char).Value = DBNull.Value;
}
if (!string.IsNullOrWhiteSpace(pco.AnyjaNeve))
{
command.Parameters.Add("pAnyjaNeve", SDADBType.Char).Value = pco.AnyjaNeve;
}
else
{
command.Parameters.Add("pAnyjaNeve", SDADBType.Char).Value = DBNull.Value;
}
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
}
SetDNAME(ds.Tables[1], "KozossegiSzolgalatTipusa");
return ds;
}
public bool CheckUgyiratszamExists(string ugyiratszam)
{
var result = false;
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.Text;
command.Parameters.Add("pUgyiratszam", ugyiratszam);
command.CommandText = @"
SELECT COUNT(ID)
FROM T_TANULOKOZOSSEGISZOLGALAT
WHERE
TOROLT = 'F'
AND C_UGYIRATSZAM = ':pUgyiratszam'
";
var cmdResult = command.ExecuteScalar();
if (cmdResult.ToString() == "1")
result = true;
return result;
}
}
}
}