554 lines
21 KiB
C#
554 lines
21 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using Kreta.Core;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Util;
|
|
using SDA.Kreta.Entities;
|
|
|
|
namespace Kreta.DataAccessManual
|
|
{
|
|
internal class HetesDal : DataAccessBase, IHetesDal
|
|
{
|
|
public HetesDal(DalHandler handler) : base(handler)
|
|
{ }
|
|
|
|
public DataSet GetHetSorszamokTanulokkal(int tanevId, int osztalyCsoportId, int? hetSorszam = null)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),
|
|
};
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
ROW_NUMBER() OVER (ORDER BY nh.C_HETSORSZAMA, IIF(f.C_NEVSORREND = 'T', f.C_UTONEV + ' ' + f.C_VEZETEKNEV, f.C_VEZETEKNEV + ' ' + f.C_UTONEV)) AS ID
|
|
,nh.C_HETSORSZAMA AS HetSorszam
|
|
,tcs.C_TANULOID As TanuloId
|
|
,f.C_NYOMTATASINEV AS Nev
|
|
,IIF(f.C_NEVSORREND = 'T', f.C_UTONEV + ' ' + f.C_VEZETEKNEV, f.C_VEZETEKNEV + ' ' + f.C_UTONEV) AS NevElotagNelkul
|
|
FROM T_NAPTARIHET_OSSZES nh
|
|
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = nh.C_TANEVID
|
|
AND tanev.TOROLT = 'F'
|
|
AND nh.C_HETKEZDONAPJA >= tanev.C_KEZDONAP
|
|
AND nh.C_HETUTOLSONAPJA <= tanev.C_UTOLSONAP
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANEVID = nh.C_TANEVID
|
|
AND tcs.C_BELEPESDATUM <= nh.C_HETKEZDONAPJA
|
|
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= nh.C_HETUTOLSONAPJA)
|
|
AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = tcs.C_TANULOID
|
|
AND f.C_TANEVID = nh.C_TANEVID
|
|
AND f.TOROLT = 'F'
|
|
INNER JOIN T_DICTIONARYITEMBASE_OSSZES hetirend ON hetirend.ID = nh.C_HETIREND
|
|
AND hetirend.TOROLT = 'F'
|
|
AND hetirend.C_TANEVID = nh.C_TANEVID
|
|
WHERE nh.TOROLT = 'F'
|
|
AND nh.C_TANEVID = :pTanevId
|
|
AND tcs.C_OSZTALYCSOPORTID = :pOsztalyCsoportId
|
|
";
|
|
|
|
if (hetSorszam.HasValue)
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pHetSorszam", hetSorszam.Value));
|
|
|
|
commandText += " AND nh.C_HETSORSZAMA = :pHetSorszam";
|
|
}
|
|
|
|
return GetData(commandText, commandParameterList);
|
|
}
|
|
|
|
public DataSet GetHetesek(int tanevId, int osztalyCsoportId)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),
|
|
};
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
nh.ID
|
|
,nh.C_HETSORSZAMA AS HetSorszam
|
|
,nh.C_HETKEZDONAPJA AS HetKezdoNap
|
|
,nh.C_HETUTOLSONAPJA AS HetUtolsoNap
|
|
,ISNULL(hetirend.C_NAME, N'Szünet') AS Hetirend
|
|
,STUFF((
|
|
SELECT
|
|
',' + CAST(h.C_TANULOID AS nvarchar (max))
|
|
FROM T_HETES_OSSZES h
|
|
WHERE h.TOROLT = 'F'
|
|
AND h.C_TANEVID = nh.C_TANEVID
|
|
AND h.C_HETSORSZAMA = nh.C_HETSORSZAMA
|
|
AND h.C_OSZTALYCSOPORTID = :pOsztalyCsoportId
|
|
FOR XML PATH ('')), 1, 1, ''
|
|
) AS Tanulok
|
|
,:pOsztalyCsoportId AS OsztalyCsoportId
|
|
FROM T_NAPTARIHET_OSSZES nh
|
|
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = nh.C_TANEVID
|
|
AND tanev.TOROLT = 'F'
|
|
AND nh.C_HETKEZDONAPJA >= tanev.C_KEZDONAP
|
|
AND nh.C_HETUTOLSONAPJA <= tanev.C_UTOLSONAP
|
|
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES hetirend ON hetirend.ID = nh.C_HETIREND
|
|
AND hetirend.TOROLT = 'F'
|
|
AND hetirend.C_TANEVID = nh.C_TANEVID
|
|
WHERE nh.TOROLT = 'F'
|
|
AND nh.C_TANEVID = :pTanevId
|
|
ORDER BY nh.C_HETSORSZAMA
|
|
";
|
|
|
|
return GetData(commandText, commandParameterList);
|
|
}
|
|
|
|
public void DeleteFutureHetesInOsztalyCsoport(int tanevId, int osztalyCsoportId)
|
|
{
|
|
var ids = GetHetesIDsInFuture(tanevId, osztalyCsoportId);
|
|
|
|
foreach (var id in ids)
|
|
{
|
|
Delete(id);
|
|
}
|
|
}
|
|
|
|
public (List<int> toroltHetesek, List<int> beallitottHetesek) SaveOrDeleteHetesek(int tanevId, int osztalyCsoportId, int hetSorszam, List<int> selectedTanuloIds)
|
|
{
|
|
var ids = GetHetesIDsForDelete(tanevId, osztalyCsoportId, hetSorszam, selectedTanuloIds);
|
|
List<int> torolthetesek = ids.Values.ToList();
|
|
List<int> beallitottHetesek = new List<int>();
|
|
|
|
foreach (var id in ids.Keys)
|
|
{
|
|
Delete(id);
|
|
}
|
|
|
|
if (selectedTanuloIds != null)
|
|
{
|
|
foreach (var tanuloId in selectedTanuloIds)
|
|
{
|
|
int? hetesId = null;
|
|
bool torolt = false;
|
|
int hetesnekBeallitottTanuloId = default;
|
|
|
|
var ds = GetHetesIDForTanuloWithTorolt(tanevId, osztalyCsoportId, hetSorszam, tanuloId);
|
|
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (row["ID"] != null && row["ID"] != DBNull.Value)
|
|
{
|
|
hetesId = Convert.ToInt32(row["ID"]);
|
|
}
|
|
|
|
if (row["TOROLT"] != null && row["TOROLT"] != DBNull.Value)
|
|
{
|
|
torolt = row["TOROLT"].ToString() == "T";
|
|
}
|
|
|
|
if (row["C_TANULOID"] != null && row["C_TANULOID"] != DBNull.Value)
|
|
{
|
|
hetesnekBeallitottTanuloId = Convert.ToInt32(row["C_TANULOID"]);
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
if (!hetesId.HasValue || hetesId.Value < 1)
|
|
{
|
|
Insert(tanevId, osztalyCsoportId, hetSorszam, tanuloId);
|
|
beallitottHetesek.Add(tanuloId);
|
|
}
|
|
else
|
|
{
|
|
if (torolt)
|
|
{
|
|
UnDelete(hetesId.Value);
|
|
beallitottHetesek.Add(hetesnekBeallitottTanuloId);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return (torolthetesek, beallitottHetesek);
|
|
}
|
|
|
|
public string GetHetesekForDatum(int tanevId, int osztalyCsoportId, DateTime datum)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),
|
|
new CommandParameter("pDatum", datum),
|
|
};
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
STUFF((
|
|
SELECT
|
|
', ' + IIF(ocs.ID IS NULL AND tcs.ID IS NULL, '(' + f.C_NYOMTATASINEV + ')', f.C_NYOMTATASINEV)
|
|
FROM T_HETES_OSSZES h
|
|
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = h.C_TANULOID
|
|
AND f.TOROLT = 'F'
|
|
AND f.C_TANEVID = h.C_TANEVID
|
|
-- ha osztály van kiválasztva
|
|
LEFT JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = h.C_OSZTALYCSOPORTID
|
|
AND ocs.TOROLT = 'F'
|
|
AND ocs.ID = @pOsztalyCsoportId
|
|
-- osztálybontott csoport van kiválasztva
|
|
LEFT JOIN T_CSOPORT_OSSZES cs ON cs.C_OSZTALYBONTASID = h.C_OSZTALYCSOPORTID
|
|
AND cs.TOROLT = 'F'
|
|
AND cs.ID = @pOsztalyCsoportId
|
|
LEFT JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = cs.ID
|
|
AND tcs.TOROLT = 'F'
|
|
AND tcs.C_TANULOID = f.ID
|
|
AND tcs.C_OSZTALYCSOPORTID = cs.ID
|
|
AND (tcs.C_BELEPESDATUM <= @pDatum AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= @pDatum))
|
|
WHERE h.TOROLT = 'F'
|
|
AND h.C_TANEVID = nh.C_TANEVID
|
|
AND h.C_HETSORSZAMA = nh.C_HETSORSZAMA
|
|
AND (ocs.ID IS NOT NULL OR cs.ID IS NOT NULL)
|
|
ORDER BY IIF(f.C_NEVSORREND = 'T', f.C_UTONEV + ' ' + f.C_VEZETEKNEV, f.C_VEZETEKNEV + ' ' + f.C_UTONEV)
|
|
FOR XML PATH ('')), 1, 1, ''
|
|
) AS Hetesek
|
|
FROM T_NAPTARIHET_OSSZES nh
|
|
WHERE nh.TOROLT = 'F'
|
|
AND nh.C_TANEVID = @pTanevId
|
|
AND nh.C_HETKEZDONAPJA <= @pDatum AND nh.C_HETUTOLSONAPJA >= @pDatum
|
|
";
|
|
|
|
var ds = GetData(commandText, commandParameterList);
|
|
|
|
foreach (DataRow row in ds.Tables[0].Rows)
|
|
{
|
|
if (row["Hetesek"] != null && row["Hetesek"] != DBNull.Value)
|
|
{
|
|
return row["Hetesek"].ToString();
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public void DeleteHetesekInIdoszak(int tanevId, int osztalyCsoportId, int tanuloId, DateTime? belepesDatum, DateTime? kilepesDatum)
|
|
{
|
|
var ids = GetHetesIDsInIdoszak(tanevId, osztalyCsoportId, tanuloId, belepesDatum, kilepesDatum);
|
|
|
|
foreach (var id in ids)
|
|
{
|
|
Delete(id);
|
|
}
|
|
}
|
|
|
|
public void DeleteHetesekNotInIdoszak(int tanevId, int osztalyCsoportId, int tanuloId, DateTime? belepesDatum, DateTime? kilepesDatum)
|
|
{
|
|
var ids = GetHetesIDsNotInIdoszak(tanevId, osztalyCsoportId, tanuloId, belepesDatum, kilepesDatum);
|
|
|
|
foreach (var id in ids)
|
|
{
|
|
Delete(id);
|
|
}
|
|
}
|
|
|
|
private void Insert(int tanevId, int osztalyCsoportId, int hetSorszam, int tanuloId)
|
|
{
|
|
var entity = Hetes.GiveAnInstance();
|
|
entity.TanevId = tanevId;
|
|
entity.OsztalyCsoportId = osztalyCsoportId;
|
|
entity.HetSorszama = hetSorszam;
|
|
entity.TanuloId = tanuloId;
|
|
|
|
entity.Insert();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
private void Delete(int id)
|
|
{
|
|
var entity = Hetes.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
|
|
entity.Delete();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
private void UnDelete(int id)
|
|
{
|
|
var entity = Hetes.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
|
|
entity.Torolt = false;
|
|
|
|
entity.Update();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
private List<int> GetHetesIDsInFuture(int tanevId, int osztalyCsoportId)
|
|
{
|
|
List<int> ret = new List<int>();
|
|
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),
|
|
};
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
h.ID
|
|
FROM T_HETES_OSSZES h
|
|
INNER JOIN T_NAPTARIHET_OSSZES nh ON nh.C_HETSORSZAMA = h.C_HETSORSZAMA
|
|
AND nh.TOROLT = 'F'
|
|
AND nh.C_TANEVID = h.C_TANEVID
|
|
AND nh.C_HETKEZDONAPJA > GETDATE()
|
|
WHERE h.TOROLT = 'F'
|
|
AND h.C_TANEVID = :pTanevId
|
|
AND h.C_OSZTALYCSOPORTID = :pOsztalyCsoportId
|
|
";
|
|
|
|
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;
|
|
}
|
|
|
|
private Dictionary<int, int> GetHetesIDsForDelete(int tanevId, int osztalyCsoportId, int hetSorszam, List<int> selectedTanuloIds)
|
|
{
|
|
Dictionary<int, int> ret = new Dictionary<int, int>();
|
|
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),
|
|
new CommandParameter("pHetSorszam", hetSorszam),
|
|
};
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
h.ID
|
|
,h.C_TANULOID
|
|
FROM T_HETES_OSSZES h
|
|
WHERE h.TOROLT = 'F'
|
|
AND h.C_TANEVID = :pTanevId
|
|
AND h.C_OSZTALYCSOPORTID = :pOsztalyCsoportId
|
|
AND h.C_HETSORSZAMA = :pHetSorszam
|
|
";
|
|
|
|
if (selectedTanuloIds != null && selectedTanuloIds.Count > 0)
|
|
{
|
|
commandText += $" AND h.C_TANULOID NOT IN ({string.Join(",", selectedTanuloIds)})";
|
|
}
|
|
|
|
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"]), Convert.ToInt32(row["C_TANULOID"]));
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
private DataSet GetHetesIDForTanuloWithTorolt(int tanevId, int osztalyCsoportId, int hetSorszam, int tanuloId)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),
|
|
new CommandParameter("pHetSorszam", hetSorszam),
|
|
new CommandParameter("pTanuloId", tanuloId),
|
|
};
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
h.ID
|
|
,h.TOROLT
|
|
,h.C_TANULOID
|
|
FROM T_HETES_OSSZES h
|
|
WHERE h.C_TANEVID = :pTanevId
|
|
AND h.C_OSZTALYCSOPORTID = :pOsztalyCsoportId
|
|
AND h.C_HETSORSZAMA = :pHetSorszam
|
|
AND h.C_TANULOID = :pTanuloId
|
|
";
|
|
|
|
return GetData(commandText, commandParameterList);
|
|
}
|
|
|
|
private List<int> GetHetesIDsInIdoszak(int tanevId, int osztalyCsoportId, int tanuloId, DateTime? belepesDatum, DateTime? kilepesDatum)
|
|
{
|
|
List<int> ret = new List<int>();
|
|
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),
|
|
new CommandParameter("pTanuloId", tanuloId),
|
|
};
|
|
|
|
if (belepesDatum.HasValue)
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pBelepesDatum", belepesDatum.Value));
|
|
}
|
|
else
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pBelepesDatum", DBNull.Value));
|
|
}
|
|
|
|
if (kilepesDatum.HasValue)
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pKilepesDatum", kilepesDatum.Value));
|
|
}
|
|
else
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pKilepesDatum", DBNull.Value));
|
|
}
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
h.ID
|
|
FROM T_HETES_OSSZES h
|
|
INNER JOIN T_NAPTARIHET_OSSZES nh ON nh.C_HETSORSZAMA = h.C_HETSORSZAMA
|
|
AND nh.TOROLT = 'F'
|
|
AND nh.C_TANEVID = h.C_TANEVID
|
|
AND ((nh.C_HETKEZDONAPJA <= :pBelepesDatum AND nh.C_HETUTOLSONAPJA >= :pBelepesDatum) OR nh.C_HETKEZDONAPJA >= :pBelepesDatum)
|
|
AND (:pKilepesDatum IS NULL OR nh.C_HETKEZDONAPJA <= :pKilepesDatum)
|
|
WHERE h.TOROLT = 'F'
|
|
AND h.C_TANEVID = :pTanevId
|
|
AND h.C_OSZTALYCSOPORTID = :pOsztalyCsoportId
|
|
AND h.C_TANULOID = :pTanuloId
|
|
";
|
|
|
|
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;
|
|
}
|
|
|
|
private List<int> GetHetesIDsNotInIdoszak(int tanevId, int osztalyCsoportId, int tanuloId, DateTime? belepesDatum, DateTime? kilepesDatum)
|
|
{
|
|
List<int> ret = new List<int>();
|
|
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),
|
|
new CommandParameter("pTanuloId", tanuloId),
|
|
};
|
|
|
|
if (belepesDatum.HasValue)
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pBelepesDatum", belepesDatum.Value));
|
|
}
|
|
else
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pBelepesDatum", DBNull.Value));
|
|
}
|
|
|
|
if (kilepesDatum.HasValue)
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pKilepesDatum", kilepesDatum.Value));
|
|
}
|
|
else
|
|
{
|
|
commandParameterList.Add(new CommandParameter("pKilepesDatum", DBNull.Value));
|
|
}
|
|
|
|
string commandText = @"
|
|
SELECT
|
|
h.ID
|
|
FROM T_HETES_OSSZES h
|
|
INNER JOIN T_NAPTARIHET_OSSZES nh ON nh.C_HETSORSZAMA = h.C_HETSORSZAMA
|
|
AND nh.TOROLT = 'F'
|
|
AND nh.C_TANEVID = h.C_TANEVID
|
|
AND (nh.C_HETKEZDONAPJA < :pBelepesDatum OR (:pKilepesDatum IS NOT NULL AND nh.C_HETUTOLSONAPJA > :pKilepesDatum))
|
|
WHERE h.TOROLT = 'F'
|
|
AND h.C_TANEVID = :pTanevId
|
|
AND h.C_OSZTALYCSOPORTID = :pOsztalyCsoportId
|
|
AND h.C_TANULOID = :pTanuloId
|
|
";
|
|
|
|
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 GetHetesNevekHetsorszammal(int tanevId, List<int> osztalyCsoportIdList)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId)
|
|
};
|
|
|
|
string commandText = $@"
|
|
SELECT
|
|
hetes.C_HETSORSZAMA AS Hetsorszama
|
|
,felhasznalo.C_NYOMTATASINEV AS TanuloNev
|
|
,hetes.C_OSZTALYCSOPORTID AS osztalyCsoportId
|
|
,ocs.C_NEV AS OsztalyNev
|
|
,ocs.C_FELADATKATEGORIAID FeladatKategoriaId
|
|
,felhely.C_OKTATASINEVELESIFELADATTIPUS AS OktNevFeladatId
|
|
FROM T_HETES_OSSZES hetes
|
|
INNER JOIN T_FELHASZNALO_OSSZES felhasznalo ON felhasznalo.ID = hetes.C_TANULOID
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = hetes.C_OSZTALYCSOPORTID
|
|
INNER JOIN T_FELADATELLATASIHELY_OSSZES felhely ON felhely.ID = ocs.C_FELADATELLATASIHELYID
|
|
WHERE hetes.TOROLT = 'F'
|
|
AND hetes.C_TANEVID = :pTanevId
|
|
AND hetes.C_OSZTALYCSOPORTID IN ({string.Join(",", osztalyCsoportIdList)})";
|
|
|
|
return GetData(commandText, commandParameterList);
|
|
}
|
|
|
|
public DataSet GetHetesAdatokFeljegyzeshez(int tanevId, int osztalyCsoportId, List<int> selectedTanuloIds, bool IsTorolt)
|
|
{
|
|
var commandParameterList = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),
|
|
new CommandParameter("pIsTorolt", IsTorolt.ToSDABoolean())
|
|
};
|
|
|
|
string commandText = $@"
|
|
SELECT
|
|
felhasznalo.ID AS ID
|
|
,felhasznalo.C_NYOMTATASINEV AS Nev
|
|
,C_HETKEZDONAPJA AS KezdoNap
|
|
,C_HETUTOLSONAPJA AS UtolsoNap
|
|
,ocs.C_NEV AS OsztalyCsoportNev
|
|
FROM T_FELHASZNALO_OSSZES felhasznalo
|
|
INNER JOIN T_HETES_OSSZES hetes ON hetes.C_TANULOID = felhasznalo.ID
|
|
INNER JOIN T_NAPTARIHET naptarihet ON naptarihet.C_HETSORSZAMA = hetes.C_HETSORSZAMA
|
|
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = hetes.C_OSZTALYCSOPORTID
|
|
WHERE
|
|
felhasznalo.TOROLT = 'F'
|
|
AND felhasznalo.C_TANEVID = :pTanevId
|
|
AND hetes.C_OSZTALYCSOPORTID = :pOsztalyCsoportId
|
|
AND hetes.C_TANULOID IN ({string.Join(",", selectedTanuloIds)})
|
|
AND hetes.TOROLT = :pIsTorolt";
|
|
|
|
return GetData(commandText, commandParameterList);
|
|
}
|
|
}
|
|
}
|