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

374 lines
15 KiB
C#

using System;
using System.Data;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.Util;
using Kreta.Enums;
using Kreta.Framework;
using Kreta.Framework.Util;
using Kreta.Resources;
using SDA.DataProvider;
namespace Kreta.DataAccessManual
{
internal class AdatszolgaltatasokDAL : DataAccessBase, IAdatszolgaltatasokDal
{
private readonly string sp_GetESL_A03T01_1 = nameof(sp_GetESL_A03T01_1),
sp_GetESL_A03T02_1 = nameof(sp_GetESL_A03T02_1),
sp_GetESL_A03T03_1 = nameof(sp_GetESL_A03T03_1),
sp_ExportEsl_A03T01_1 = nameof(sp_ExportEsl_A03T01_1);
public AdatszolgaltatasokDAL(DalHandler handler, GridParameters parameters) : base(handler, parameters) { }
public AdatszolgaltatasokDAL(DalHandler handler) : base(handler) { }
public DataSet GetOsztalyCsoportokLetszama(int intezmenyId, int tanevId)
{
using (var sdaCommand = new SDACommand())
{
sdaCommand.Connection = UserContext.Instance.SDAConnection;
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
sdaCommand.CommandType = CommandType.StoredProcedure;
sdaCommand.CommandText = "uspGetOsztalyCsoportokLetszama";
sdaCommand.Parameters.Add("pIntezmenyId", intezmenyId);
sdaCommand.Parameters.Add("pTanevId", tanevId);
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = sdaCommand;
sdaDataAdapter.Fill(dataSet);
}
SetDNAME(dataSet.Tables[0], "CsoportTipus,Evfolyam");
return dataSet;
}
}
public int? GetEnaploAdatszolgaltatasId(int intezmenyId, int tanevId)
{
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetEnaploAdatszolgaltatasId";
command.Parameters.Add("pIntezmenyId", intezmenyId);
command.Parameters.Add("pTanevId", tanevId);
var id = command.ExecuteScalar();
if (int.TryParse(id?.ToString(), out int result))
{
return result;
}
return null;
}
}
public int? GetPedagogusIKTAdatszolgaltatasId(int intezmenyId, int tanevId, int tanarId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetPedagogusIKTAdatszolgaltatasId";
command.Parameters.Add("pIntezmenyId", intezmenyId);
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pTanarId", tanarId);
var id = command.ExecuteScalar();
if (int.TryParse(id?.ToString(), out int result))
{
return result;
}
return null;
}
}
public DataSet GetIKTAdatok(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 = "uspGetIKTAdatok";
command.Parameters.Add("pIntezmenyId", intezmenyId);
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pEszkozTipusProjektor", (int)EszkozKategoriaEnum.PROJEKTOR_mobil);
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = command;
sdaDataAdapter.Fill(dataSet);
}
return dataSet;
}
}
public DataSet GetLemorzsolodasEslRiport(int tanevId, int? feladatEllatasiHelyId, bool isFelevi)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = sp_GetESL_A03T01_1;
command.Parameters.Add(nameof(tanevId), tanevId);
if (feladatEllatasiHelyId.HasValue)
{
command.Parameters.Add(nameof(feladatEllatasiHelyId), feladatEllatasiHelyId);
}
else
{
command.Parameters.Add(nameof(feladatEllatasiHelyId), DBNull.Value);
}
command.Parameters.Add(nameof(isFelevi), isFelevi ? 1 : 0);
command.Parameters.Add("osztalyzatTipusTypeID", (int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus);
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
SetTableRowsFromResourceFile(typeof(AdatszolgaltatasokResource), ds.Tables[0], ds.Tables[0].Columns[0].ColumnName);
return ds;
}
}
public DataSet GetLemorzsolodasEslRiportExport(int intezmenyId, int tanevId, int? feladatEllatasiHelyId, bool isFelevi)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = sp_ExportEsl_A03T01_1;
command.Parameters.Add(nameof(tanevId), tanevId);
if (feladatEllatasiHelyId.HasValue)
{
command.Parameters.Add(nameof(feladatEllatasiHelyId), feladatEllatasiHelyId);
}
else
{
command.Parameters.Add(nameof(feladatEllatasiHelyId), DBNull.Value);
}
command.Parameters.Add(nameof(isFelevi), isFelevi ? 1 : 0);
command.Parameters.Add("osztalyzatTipusTypeID", (int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus);
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
if (ds.Tables.Count > 0)
{
SetTableRowsFromResourceFile(typeof(AdatszolgaltatasokResource), ds.Tables[0], ds.Tables[0].Columns[0].ColumnName);
ds.Tables[0].Columns["LeirasValue"].SetOrdinal(0);
ds.Tables[0].Columns["LeirasValue"].ColumnName = "Leírás";
}
return ds;
}
}
public DataSet GetElegtelenEslRiport(int tanevId, int? feladatEllatasiHelyId, bool isFelevi)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = sp_GetESL_A03T02_1;
command.Parameters.Add(nameof(tanevId), tanevId);
if (feladatEllatasiHelyId.HasValue)
{
command.Parameters.Add(nameof(feladatEllatasiHelyId), feladatEllatasiHelyId);
}
else
{
command.Parameters.Add(nameof(feladatEllatasiHelyId), DBNull.Value);
}
command.Parameters.Add(nameof(isFelevi), isFelevi ? 1 : 0);
command.Parameters.Add("ESLTantargykategoriaTypeId", (int)GeneratedAdatszotarTipusEnum.ESLTantargykategoria);
command.Parameters.Add("osztalyzatTipusTypeID", (int)GeneratedAdatszotarTipusEnum.OsztalyzatTipus);
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
return ds;
}
}
public DataSet GetHittanOraszamList(int intezmenyId, int tanevId, int csoportTipus, DateTime hittanAdatszolgaltatasLetszamDatuma, DateTime startDate, DateTime endDate)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetHittanOraszamList";
command.Parameters.Add("pIntezmenyId", intezmenyId);
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pCsoportTipus", csoportTipus);
command.Parameters.Add("pHittanAdatszolgaltatasLetszamDatum", hittanAdatszolgaltatasLetszamDatuma);
command.Parameters.Add("pStartDate", startDate);
command.Parameters.Add("pEndDate", endDate);
command.Parameters.Add("pOktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas);
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = command;
sdaDataAdapter.Fill(dataSet);
}
return dataSet;
}
}
public void SaveOrUpdateHittan(int intezmenyId, int tanevId, int felhasznaloId, int csoportId, int hittanTipusId, int darabszam, int letszam, DateTime startDate, DateTime endDate, bool forJanuar)
{
using (SDACommand command = UserContext.Instance.SDAConnection.CreateCommand())
{
command.CommandType = CommandType.StoredProcedure;
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.Parameters.Add("pIntezmenyId", intezmenyId);
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pUserId", felhasznaloId);
command.Parameters.Add("pCsoportId", csoportId);
command.Parameters.Add("pHittanTipusId", hittanTipusId);
command.Parameters.Add("pDarabszam", darabszam);
command.Parameters.Add("pLetszam", letszam);
command.Parameters.Add("pStartDate", startDate);
command.Parameters.Add("pEndDate", endDate);
command.Parameters.Add("pForJanuar", forJanuar);
command.CommandText = "uspSaveOrUpdateHittan";
command.ExecuteNonQuery();
DalHelper.Commit();
}
}
public DataSet GetHasznaltEvfolyamokForEsl(int? feladatellatasiHelyId, int tanevId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetHasznaltEvfolyamokForEsl";
command.Parameters.Add("pTanevId", tanevId);
if (feladatellatasiHelyId.HasValue)
{
command.Parameters.Add("pFeladatellatasiHelyId", feladatellatasiHelyId.Value);
}
else
{
command.Parameters.Add("pFeladatellatasiHelyId", DBNull.Value);
}
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = command;
sdaDataAdapter.Fill(dataSet);
}
return dataSet;
}
}
public DataSet GetHittanOraszam(int intezmenyId, int tanevId, int csoportTipus, DateTime letszamDatum, DateTime startDate, DateTime endDate)
{
using (var sdaCommand = new SDACommand())
{
sdaCommand.Connection = UserContext.Instance.SDAConnection;
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
sdaCommand.CommandType = CommandType.StoredProcedure;
sdaCommand.CommandText = "uspGetHittanOraszam";
sdaCommand.Parameters.Add("pIntezmenyId", intezmenyId);
sdaCommand.Parameters.Add("pTanevId", tanevId);
sdaCommand.Parameters.Add("pCsoportTipus", csoportTipus);
sdaCommand.Parameters.Add("pLetszamDatum", letszamDatum);
sdaCommand.Parameters.Add("pStartDate", startDate);
sdaCommand.Parameters.Add("pEndDate", endDate);
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = sdaCommand;
sdaDataAdapter.Fill(dataSet);
}
SetDNAME(dataSet.Tables[0], "HittanTipus");
return dataSet;
}
}
public DataSet GetOkosmeroEnergetikaiAdat(int intezmenyId, int tanevId, int? feladatellatasiHely)
{
//TODO: DT: Majd a végleges DB kialakítás után figyelni hogy melyik paraméter kötlező és melyik nem
using (var sdaCommand = new SDACommand())
{
sdaCommand.Connection = UserContext.Instance.SDAConnection;
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
sdaCommand.CommandType = CommandType.StoredProcedure;
sdaCommand.CommandText = "uspGetOkosmeroEnergetikaiAdat";
sdaCommand.Parameters.Add("pIntezmenyId", intezmenyId);
sdaCommand.Parameters.Add("pTanevId", tanevId);
sdaCommand.Parameters.Add("pFeladatellatasiHely", feladatellatasiHely);
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = sdaCommand;
sdaDataAdapter.Fill(dataSet);
}
return dataSet;
}
}
}
}