585 lines
25 KiB
C#
585 lines
25 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using Kreta.Core;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.ParameterClasses;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Framework;
|
|
using Kreta.Framework.Util;
|
|
using SDA.DataProvider;
|
|
using SDA.Kreta.Entities;
|
|
|
|
namespace Kreta.DataAccessManual
|
|
{
|
|
internal class HelyettesitesDAL : DataAccessBase, IHelyettesitesDAL
|
|
{
|
|
public HelyettesitesDAL(DalHandler handler, GridParameters gridParameters) : base(handler, gridParameters)
|
|
{ }
|
|
|
|
public HelyettesitesDAL(DalHandler handler) : base(handler)
|
|
{ }
|
|
|
|
public DataSet GetTanarOrai(HelyettesitesekKeresesePCO pco, int intezmenyId, int tanevId)
|
|
{
|
|
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_HelyettesitesekKeresese";
|
|
|
|
command.Parameters.Add("IntezmenyId", SDADBType.Int).Value = intezmenyId;
|
|
command.Parameters.Add("TanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pHelyettesitettTanarId", SDADBType.Int).Value = pco.HelyettesitettId;
|
|
command.Parameters.Add("pHelyettesitesKezdete", SDADBType.String).Value = pco.HelyettesitesKezdete.Value.Date.ToString("yyyyMMdd");
|
|
command.Parameters.Add("pHelyettesitesVege", SDADBType.String).Value = pco.HelyettesitesVege.Value.Date.ToString("yyyyMMdd");
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
SetDNAME(ds.Tables[0], "HelyettesitesTipusId");
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
|
|
public DataSet GetHelyettesitesekAjanlasa(LehetsegesHelyettesitoTanarokPCO pco, int tanevId, int intezmenyId)
|
|
{
|
|
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 = "uspGetHelyettesitesekAjanlasa";
|
|
|
|
command.Parameters.Add("pHelyettesitettOrarendiOraId", SDADBType.Int).Value = pco.orarendiOraId;
|
|
command.Parameters.Add("pHelyettesitesDatuma", SDADBType.DateTime).Value = pco.datum;
|
|
command.Parameters.Add("pSzakszeruId", SDADBType.Int).Value = (int)HelyettesitesTipusEnum.szakszeru_helyettesites;
|
|
command.Parameters.Add("pNemSzakszeruId", SDADBType.Int).Value = (int)HelyettesitesTipusEnum.nem_szakszeru_helyettesites_felugyelet_;
|
|
command.Parameters.Add("pOsszevonas", SDADBType.Int).Value = (int)HelyettesitesTipusEnum.oraosszevonas;
|
|
command.Parameters.Add("pFokozatNa", SDADBType.Int).Value = (int)BesorolasiFokozatTipusEnum.na;
|
|
command.Parameters.Add(nameof(tanevId), SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add(nameof(intezmenyId), SDADBType.Int).Value = intezmenyId;
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
SetDNAME(ds.Tables[0], "HelyettesitesTipusId");
|
|
SetBoolFields(ds.Tables[0], "Tulora");
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
|
|
public DataSet GetHelyettesitettTanorak(TanarHelyettesitesekKeresesePCO pco)
|
|
{
|
|
List<CommandParameter> parameters = new List<CommandParameter>();
|
|
parameters.Add(new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas));
|
|
string whereClause = "";
|
|
|
|
if (pco.HelyettesitesKezdete.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pHelyettesitesKezdete", pco.HelyettesitesKezdete));
|
|
whereClause += " AND C_DATUM >= :pHelyettesitesKezdete ";
|
|
}
|
|
|
|
if (pco.HelyettesitesKezdete.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pHelyettesitesVege", pco.HelyettesitesVege));
|
|
whereClause += " AND C_DATUM <= :pHelyettesitesVege";
|
|
}
|
|
|
|
if (pco.HelyettesitettId.HasValue && pco.HelyettesitoId.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pHelyettesitettId", pco.HelyettesitettId));
|
|
parameters.Add(new CommandParameter("pHelyettesitoId", pco.HelyettesitoId));
|
|
whereClause += @"
|
|
AND
|
|
(
|
|
C_HELYETTESITOTANARID = :pHelyettesitoId
|
|
OR
|
|
C_ORATULAJDONOSID = :pHelyettesitettId
|
|
)
|
|
";
|
|
}
|
|
else if (pco.HelyettesitettId.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pHelyettesitettId", pco.HelyettesitettId));
|
|
whereClause += " AND C_ORATULAJDONOSID = :pHelyettesitettId";
|
|
}
|
|
else if (pco.HelyettesitoId.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pHelyettesitoId", pco.HelyettesitoId));
|
|
whereClause += " AND C_HELYETTESITOTANARID = :pHelyettesitoId";
|
|
}
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
T_TANITASIORA.ID ID,
|
|
T_TANITASIORA.C_ORASZAM Ora,
|
|
T_OSZTALYCSOPORT.C_NEV OsztalyCsoportNev,
|
|
T_TANTARGY.C_NEV TantargyNev,
|
|
--T_TANITASIORA.C_ORAEVESSORSZAM OraSorszama,
|
|
T_TANITASIORA.C_TEMA TanitasiOraTemaja,
|
|
T_TANITASIORA.C_MEGTARTOTT Megtartott,
|
|
T_FELHASZNALO.C_NYOMTATASINEV Helyettesites,
|
|
T_TANITASIORA.C_DATUM Datum
|
|
FROM
|
|
T_TANITASIORA
|
|
LEFT JOIN T_OSZTALYCSOPORT ON T_OSZTALYCSOPORT.ID = T_TANITASIORA.C_OSZTALYCSOPORTID AND T_OSZTALYCSOPORT.C_FELADATKATEGORIAID = @OktNevKatTipus
|
|
LEFT JOIN T_TANTARGY ON T_TANTARGY.ID = T_TANITASIORA.C_TANTARGYID
|
|
LEFT JOIN T_FELHASZNALO ON T_FELHASZNALO.ID = T_TANITASIORA.C_HELYETTESITOTANARID
|
|
WHERE
|
|
C_HELYETTESITOTANARID IS NOT NULL "
|
|
+ whereClause
|
|
;
|
|
|
|
DataSet ds = GetData(commandText, parameters: parameters, booleanColumns: "Megtartott");
|
|
|
|
return ds;
|
|
}
|
|
|
|
public DataSet GetHelyettesitesekListajaGrid(HelyettesitesekListajaSearchPCO pco, int pTanevID)
|
|
{
|
|
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 = "uspGetHelyettesitesekListaja";
|
|
|
|
command.Parameters.Add("pKezdoDatum", SDADBType.DateTime).Value = pco.HelyettesitesDatumaTolSearch;
|
|
command.Parameters.Add("pVegDatum", SDADBType.DateTime).Value = pco.HelyettesitesDatumaIgSearch;
|
|
command.Parameters.Add("pHelyettesitesTipusId", SDADBType.Int).Value = pco.HelyettesitesTipusaSearch;
|
|
command.Parameters.Add("pHelyettesitettId", SDADBType.Int).Value = pco.HelyettesitettTanarSearch;
|
|
command.Parameters.Add("pHelyettesitoId", SDADBType.Int).Value = pco.HelyettesitoTanarSearch;
|
|
command.Parameters.Add("pIsNaplozott", SDADBType.Boolean).Value = pco.NaplozottSearch;
|
|
command.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = pco.OsztalyCsoportSearch;
|
|
command.Parameters.Add("pTantargyId", SDADBType.Int).Value = pco.TantargySearch;
|
|
command.Parameters.Add("pKellKapcsolodoCsoportok", SDADBType.Boolean).Value = pco.IsKellKapcsolodoCsoportokSearch;
|
|
command.Parameters.Add("pTanevID", SDADBType.Int).Value = pTanevID;
|
|
|
|
if (pco.FeladatKategoriaId.IsEntityId())
|
|
{ command.Parameters.Add("pFeladatKategoriaId", (int)pco.FeladatKategoriaId); }
|
|
|
|
if (pco.FeladatEllatasiHelyId.IsEntityId())
|
|
{ command.Parameters.Add("pFeladatEllatasiHelyId", (int)pco.FeladatEllatasiHelyId); }
|
|
|
|
if (pco.IsOnlineOra.HasValue)
|
|
{
|
|
command.Parameters.Add("pIsOnlineOra", pco.IsOnlineOra.ToBool());
|
|
}
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
SetDNAME(ds.Tables[0], "HelyettesitesTipusId");
|
|
SetBoolFields(ds.Tables[0], "Naplozott,IsOnlineOra");
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
|
|
public void Delete(int id)
|
|
{
|
|
var entity = HelyettesitesiIdoszak.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
|
|
UpdateDktFeladatHelyettesitoAlkalmazott(entity.HelyettesitettOrarendId, entity.HelyettesitesNapja);
|
|
|
|
entity.Delete();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public IHelyettesitesiIdoszak Get(int id)
|
|
{
|
|
var entity = HelyettesitesiIdoszak.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
return entity;
|
|
}
|
|
|
|
public void FullUpdate(IHelyettesitesiIdoszak dto)
|
|
{
|
|
var entity = dto as HelyettesitesiIdoszak;
|
|
entity.FullUpdate();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public DataSet GetHelyettesitesEmailDataById(int id)
|
|
{
|
|
List<CommandParameter> parameters = new List<CommandParameter>();
|
|
string commandText = string.Format(@"
|
|
SELECT TOP 1
|
|
f.C_NYOMTATASINEV as HelyettesitoNev
|
|
,ISNULL(e.C_EMAILCIM, '-') as HelyettesitoEmail
|
|
,tt.C_NEV as TantargyNev
|
|
,ocs.C_NEV as OsztalyCsoportNev
|
|
,hi.C_HELYETTESITESNAPJA as OraDatuma
|
|
,oo.C_ORAKEZDETE as OraKezdete
|
|
,oo.C_ORAVEGE as OraVege
|
|
,oo.C_ORASZAM as OraSzama
|
|
,IIF(oo.C_CSENGETESIRENDORAID IS NULL,'T','F') as IsNapirend
|
|
,tte.C_NEV as TeremNev
|
|
,helyettesitesTipus.C_NAME AS HelyettesitesTipus
|
|
,helyettesitett.C_NYOMTATASINEV AS HelyettesitettNev
|
|
,f.ID AS HelyettesitoID
|
|
,e.C_GUID AS HelyettesitoEmailGuid
|
|
FROM T_HELYETTESITESIIDOSZAK hi
|
|
INNER JOIN T_DICTIONARYITEMBASE helyettesitesTipus ON helyettesitesTipus.ID = hi.C_HELYETTESITESTIPUS AND helyettesitesTipus.C_INTEZMENYID = hi.C_INTEZMENYID AND helyettesitesTipus.C_TANEVID = hi.C_TANEVID AND helyettesitesTipus.TOROLT = 'F'
|
|
JOIN T_ORARENDIORA oo ON oo.ID = hi.C_HELYETTESITETTORARENDID and oo.TOROLT = 'F'
|
|
JOIN T_FELHASZNALO f ON f.ID = hi.C_HELYETTESTANAROKID and f.TOROLT = 'F'
|
|
JOIN T_FELHASZNALO helyettesitett ON helyettesitett.ID = oo.C_TANARID and helyettesitett.TOROLT = 'F'
|
|
JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = oo.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F'
|
|
JOIN T_TANTARGY tt ON tt.ID = oo.C_TANTARGYID AND tt.TOROLT = 'F'
|
|
JOIN T_TEREM tte ON tte.ID = oo.C_TEREMID and tte.TOROLT = 'F'
|
|
LEFT JOIN T_EMAIL e ON e.C_FELHASZNALOID = f.ID AND e.TOROLT = 'F' AND e.C_ISHIBASANMEGADVA = 'F' AND e.C_ALAPERTELMEZETT = 'T'
|
|
WHERE
|
|
hi.TOROLT = 'F'
|
|
AND hi.ID = {0}
|
|
", id);
|
|
|
|
var CommandText = commandText;
|
|
DataSet ds = GetData(CommandText, parameters: parameters, booleanColumns: "IsNapirend");
|
|
return ds;
|
|
}
|
|
|
|
public void DeleteHelyettesitesek(int orarendiOraId, DateTime start, DateTime end, int tanevId)
|
|
{
|
|
using (var command = new SDACommand
|
|
{
|
|
Connection = UserContext.Instance.SDAConnection,
|
|
Transaction = UserContext.Instance.SDATransaction,
|
|
CommandText = @"
|
|
UPDATE T_HELYETTESITESIIDOSZAK
|
|
SET TOROLT = 'T'
|
|
WHERE C_HELYETTESITETTORARENDID = :pOrarendiOraId
|
|
AND CAST(C_HELYETTESITESNAPJA AS DATE) >= CAST(:pStart AS DATE)
|
|
AND CAST(C_HELYETTESITESNAPJA AS DATE) <= CAST(:pEnd AS DATE)
|
|
AND TOROLT = 'F'
|
|
AND C_TANEVID = :pTanevId
|
|
"
|
|
})
|
|
{
|
|
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
command.Parameters.Add("pStart", start);
|
|
command.Parameters.Add("pEnd", end);
|
|
command.Parameters.Add("pOrarendiOraId", orarendiOraId);
|
|
|
|
command.ExecuteNonQuery();
|
|
}
|
|
}
|
|
|
|
public DataSet GetHelyettesitesDataSetByGroupId(int intezmenyId, int tanevId, int groupId)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pIntezmenyId", intezmenyId),
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pGroupId", groupId)
|
|
};
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
helyettesitesiIdoszak.ID Id
|
|
,helyettesitesiIdoszak.C_HELYETTESITESNAPJA HelyettesitesNapjaDate
|
|
FROM
|
|
T_HELYETTESITESIIDOSZAK_OSSZES helyettesitesiIdoszak
|
|
WHERE
|
|
helyettesitesiIdoszak.C_INTEZMENYID = :pIntezmenyId
|
|
AND helyettesitesiIdoszak.C_TANEVID = :pTanevId
|
|
AND helyettesitesiIdoszak.TOROLT = 'F'
|
|
AND helyettesitesiIdoszak.C_GROUPID = :pGroupId
|
|
";
|
|
|
|
return GetData(commandText, commandParameterList);
|
|
}
|
|
|
|
public DataSet GetHelyettesitesDataSet(int tanevId)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId)
|
|
};
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
helyettesites.ID Id
|
|
,helyettesites.C_HELYETTESITESNAPJA HelyettesitesNapja
|
|
,helyettesites.C_HELYETTESTANAROKID HelyettesitoTanarId
|
|
,orarendiOra.ID OrarendiOraId
|
|
,orarendiOra.C_ORASZAM OrarendiOraOraSorszam
|
|
,orarendiOra.C_ORAKEZDETE OrarendiOraOraKezdete
|
|
,orarendiOra.C_ORAVEGE OrarendiOraOraVege
|
|
,hetirendTipusDictionay.ID OrarendiOraHetirendTipusId
|
|
,hetirendTipusDictionay.C_NAME OrarendiOraHetirendTipusNev
|
|
FROM
|
|
T_HELYETTESITESIIDOSZAK_OSSZES helyettesites
|
|
INNER JOIN
|
|
T_ORARENDIORA_OSSZES orarendiOra ON
|
|
orarendiOra.TOROLT = 'F'
|
|
AND orarendiOra.C_TANEVID = helyettesites.C_TANEVID
|
|
AND orarendiOra.ID = helyettesites.C_HELYETTESITETTORARENDID
|
|
INNER JOIN
|
|
T_HETIRENDTIPUS_OSSZES hetirendTipus ON
|
|
hetirendTipus.TOROLT = 'F'
|
|
AND hetirendTipus.C_ALTANEVID = helyettesites.C_TANEVID
|
|
AND hetirendTipus.ID = orarendiOra.C_HETIREND
|
|
INNER JOIN
|
|
T_DICTIONARYITEMBASE_OSSZES hetirendTipusDictionay ON
|
|
hetirendTipusDictionay.TOROLT = 'F'
|
|
AND hetirendTipusDictionay.C_TANEVID = helyettesites.C_TANEVID
|
|
AND hetirendTipusDictionay.ID = hetirendTipus.ID
|
|
WHERE
|
|
helyettesites.TOROLT = 'F'
|
|
AND helyettesites.C_TANEVID = :pTanevId
|
|
";
|
|
|
|
return GetData(commandText, commandParameterList);
|
|
}
|
|
|
|
public DataSet GetHelyettesitesekListajaByOrerendiOra(DateTime pOraErvenyessegKezdete, DateTime pOraErvenyessegVege, int? pOrerendiOraId)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pOraErvenyessegKezdete", pOraErvenyessegKezdete),
|
|
new CommandParameter("pOraErvenyessegVege", pOraErvenyessegVege),
|
|
new CommandParameter("pOrerendiOraId", pOrerendiOraId)
|
|
};
|
|
|
|
string commandText = @"
|
|
SELECT hisz.ID ID,
|
|
tanora.ID as TANORAID,
|
|
hisz.C_HELYETTESITETTORARENDID,
|
|
hisz.C_HELYETTESITESNAPJA
|
|
FROM T_HELYETTESITESIIDOSZAK hisz
|
|
INNER JOIN T_ORARENDIORA oo ON oo.ID = hisz.C_HELYETTESITETTORARENDID AND oo.TOROLT = 'F'
|
|
LEFT JOIN T_TANITASIORA tanora ON tanora.C_ORARENDIORAGROUPID = oo.ID AND tanora.C_DATUM = hisz.C_HELYETTESITESNAPJA AND tanora.TOROLT = 'F'
|
|
WHERE hisz.C_HELYETTESITETTORARENDID = :pOrerendiOraId
|
|
AND hisz.C_HELYETTESITESNAPJA BETWEEN :pOraErvenyessegKezdete AND :pOraErvenyessegVege
|
|
AND hisz.TOROLT = 'F'
|
|
";
|
|
|
|
return GetData(commandText, commandParameterList);
|
|
}
|
|
|
|
public void UpdateHelyettesitekUjOrarendiOraIdByDate(DateTime pOraErvenyessegKezdete, DateTime? pOraErvenyessegVege, int pOrerendiOraId, int pRegiOrerendiOraId, int tanevId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspUpdateHelyettesitekUjOrarendiOraIdByDate";
|
|
|
|
command.Parameters.Add("pOraErvenyessegKezdete", SDADBType.DateTime).Value = pOraErvenyessegKezdete;
|
|
if (pOraErvenyessegVege.HasValue)
|
|
{
|
|
command.Parameters.Add("pOraErvenyessegVege", SDADBType.DateTime).Value = pOraErvenyessegVege.Value;
|
|
}
|
|
command.Parameters.Add("pOrerendiOraId", SDADBType.Int).Value = pOrerendiOraId;
|
|
command.Parameters.Add("pRegiOrerendiOraId", SDADBType.Int).Value = pRegiOrerendiOraId;
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
|
|
command.ExecuteNonQuery();
|
|
}
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void DeleteAllByOrarendiOraId(int tanevId, int orarendiOraId)
|
|
{
|
|
var ids = GetHelyettesitesIDsForOrarendiOraId(tanevId, orarendiOraId);
|
|
|
|
foreach (var id in ids)
|
|
{
|
|
Delete(id);
|
|
}
|
|
}
|
|
|
|
private List<int> GetHelyettesitesIDsForOrarendiOraId(int tanevId, int orarendiOraId)
|
|
{
|
|
List<int> ret = new List<int>();
|
|
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pOrarendiOraId", orarendiOraId),
|
|
};
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
h.ID
|
|
FROM T_HELYETTESITESIIDOSZAK_OSSZES h
|
|
WHERE h.TOROLT = 'F'
|
|
AND h.C_TANEVID = :pTanevId
|
|
AND h.C_HELYETTESITETTORARENDID = :pOrarendiOraId
|
|
";
|
|
|
|
var ds = GetData(commandText, commandParameterList);
|
|
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (row["ID"] != null && row["ID"] != DBNull.Value)
|
|
{
|
|
ret.Add(Convert.ToInt32(row["ID"]));
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
public void DeleteAllNotInIdoszak(int tanevId, int orarendiOraId, DateTime? oraErvenyessegKezdete, DateTime? oraErvenyessegVege)
|
|
{
|
|
var ids = GetHelyettesitesIDsForOrarendiOraGroupIdNotInIdoszak(tanevId, orarendiOraId, oraErvenyessegKezdete, oraErvenyessegVege);
|
|
|
|
foreach (var id in ids)
|
|
{
|
|
Delete(id);
|
|
}
|
|
}
|
|
|
|
private List<int> GetHelyettesitesIDsForOrarendiOraGroupIdNotInIdoszak(int tanevId, int orarendiOraId, DateTime? oraErvenyessegKezdete, DateTime? oraErvenyessegVege)
|
|
{
|
|
List<int> ret = new List<int>();
|
|
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pOrarendiOraId", orarendiOraId),
|
|
};
|
|
|
|
if (oraErvenyessegKezdete.HasValue)
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pOraErvenyessegKezdete", oraErvenyessegKezdete.Value));
|
|
}
|
|
else
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pOraErvenyessegKezdete", DBNull.Value));
|
|
}
|
|
|
|
if (oraErvenyessegVege.HasValue)
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pOraErvenyessegVege", oraErvenyessegVege.Value));
|
|
}
|
|
else
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pOraErvenyessegVege", DBNull.Value));
|
|
}
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
h.ID
|
|
FROM T_HELYETTESITESIIDOSZAK_OSSZES h
|
|
WHERE h.TOROLT = 'F'
|
|
AND h.C_TANEVID = :pTanevId
|
|
AND h.C_HELYETTESITETTORARENDID = :pOrarendiOraId
|
|
AND (h.C_HELYETTESITESNAPJA < :pOraErvenyessegKezdete OR (:pOraErvenyessegVege IS NOT NULL AND h.C_HELYETTESITESNAPJA > :pOraErvenyessegVege))
|
|
";
|
|
|
|
var ds = GetData(commandText, commandParameterList);
|
|
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (row["ID"] != null && row["ID"] != DBNull.Value)
|
|
{
|
|
ret.Add(Convert.ToInt32(row["ID"]));
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
public DataSet GetNemkotottMunkaidoByHelyettesites(int? id, int? groupId, int tanevId)
|
|
{
|
|
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 = "uspGetNemkotottMunkaidoByHelyettesites";
|
|
|
|
command.Parameters.Add("TanevId", SDADBType.Int).Value = tanevId;
|
|
if (id.HasValue)
|
|
{
|
|
command.Parameters.Add("HelyettesitesId", SDADBType.Int).Value = id.Value;
|
|
}
|
|
if (groupId.HasValue)
|
|
{
|
|
command.Parameters.Add("GroupId", SDADBType.Int).Value = groupId.Value;
|
|
}
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
return ds;
|
|
}
|
|
|
|
public DateTime GetHelyettesitesElrendelese(int helyettesitesId)
|
|
{
|
|
var commandText = $@"
|
|
SELECT CREATED
|
|
FROM T_HELYETTESITESIIDOSZAK_OSSZES
|
|
WHERE ID = {helyettesitesId}
|
|
AND TOROLT = 'F'
|
|
";
|
|
|
|
var ds = GetData(commandText);
|
|
|
|
var created = ds.Tables[0].Rows[0].Field<DateTime>("CREATED");
|
|
return created;
|
|
}
|
|
|
|
public void UpdateDktFeladatHelyettesitoAlkalmazott(int orarendiOraId, DateTime helyettesitesNapja, int? helyettesitoAlkalmazottId = null)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspUpdateDktFeladatHelyettesitoAlkalmazott";
|
|
|
|
command.Parameters.Add("pOrarendiOraId", SDADBType.Int).Value = orarendiOraId;
|
|
command.Parameters.Add("pHelyettesitesNapja", SDADBType.DateTime).Value = helyettesitesNapja;
|
|
command.Parameters.Add("pHelyettesitoAlkalmazottId", SDADBType.Int).Value = helyettesitoAlkalmazottId;
|
|
|
|
command.ExecuteNonQuery();
|
|
}
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
}
|