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

4671 lines
227 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using Kreta.Core;
using Kreta.Core.Domain;
using Kreta.Core.Logic;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.ParameterClasses;
using Kreta.DataAccessManual.Util;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Framework.Entities;
using Kreta.Framework.Util;
using Kreta.Resources;
using SDA.DataProvider;
using SDA.Kreta.Entities;
namespace Kreta.DataAccessManual
{
internal class TanuloDal : DataAccessBase, ITanuloDal
{
public TanuloDal(DalHandler handler, GridParameters parameters)
: base(handler, parameters)
{
}
public TanuloDal(DalHandler handler) : base(handler)
{
}
#region BaseCRUD
public ITanulo Get()
{
return Tanulo.GiveAnInstance();
}
public ITanulo Get(int id)
{
var entity = Tanulo.GiveAnInstance();
entity.LoadByID(id);
return entity;
}
public void FullUpdate(ITanulo dto)
{
var entity = dto as Tanulo;
entity.FullUpdate(true);
DalHelper.Commit();
}
public void Update(ITanulo dto)
{
var entity = dto as Tanulo;
entity.FullUpdate();
DalHelper.Commit();
}
public void Insert(ITanulo dto)
{
var entity = dto as Tanulo;
entity.Insert(true);
dto.ID = entity.ID;
DalHelper.Felhasznalo().UpdateAllEgyediAzonosito();
DalHelper.Commit();
}
public void Delete(int id)
{
var entity = Tanulo.GiveAnInstance();
entity.LoadByID(id);
entity.Gondviselo.ToList().ForEach(g =>
{
g.Email.DeleteAll();
g.Telefon.DeleteAll();
g.FelhasznaloBelepes.DeleteAll();
g.FelhasznaloBelepesTortenet.DeleteAll();
g.Cim.DeleteAll();
g.OldalLatogatottsag.DeleteAll();
g.JelszoModositasLink.DeleteAll();
g.DashboardUzenetFelhasznalo.DeleteAll();
g.EszkozIgenyles.DeleteAll();
g.Delete();
});
entity.DashboardUzenetFelhasznalo.DeleteAll();
entity.Cim.DeleteAll();
entity.Email.DeleteAll();
entity.Telefon.DeleteAll();
entity.FelhasznaloBelepes.DeleteAll();
entity.FelhasznaloBelepesTortenet.DeleteAll();
entity.Szerepkor.RemoveAll();
entity.OldalLatogatottsag.DeleteAll();
entity.FelhasznaloBelepesTortenet.DeleteAll();
entity.eLearning.DeleteAll();
entity.ElearningFelhasznalo.DeleteAll();
entity.UserProfile.DeleteAll();
entity.JelszoModositasLink.DeleteAll();
entity.Diakolimpia.DeleteAll(logikai: true);
entity.Juttatas.DeleteAll();
entity.TanuloSni.DeleteAll();
entity.EszkozIgenyles.DeleteAll();
entity.TanuloEsemeny.ToList().ForEach(te =>
{
te.Tanulo.RemoveAll();
te.OsztalyCsoport.RemoveAll();
te.Delete();
});
entity.Hetes.DeleteAll();
entity.TanuloHaziFeladatStatusz.RemoveAll();
entity.DKT_File.DeleteAll();
entity.JogviszonySzuneteltetes.DeleteAll();
entity.TbJogviszony.DeleteAll();
entity.Delete();
DalHelper.Commit();
}
public void Delete(ITanulo dto)
{
Delete(dto.ID);
}
#endregion
public string GetDiakigazolvanyszamByTanulo(int tanuloId, int tanevId)
{
using (var command = UserContext.Instance.SDAConnection.CreateCommand())
{
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandText = @"
SELECT
C_DIAKIGAZOLVANYSZAM
FROM T_TANULO_OSSZES
WHERE TOROLT = 'F'
AND C_ALTANEVID = :pTanevId
AND ID = :pTanuloId
";
command.Parameters.Add("pTanuloId", tanuloId);
command.Parameters.Add("pTanevId", tanevId);
var result = command.ExecuteScalar();
return result.ToString();
}
}
public DataSet GetTanulokByDiakigazolvanyszam(string diakigazolvanyszam, int tanevId)
{
var parameters = new List<CommandParameter>
{
new CommandParameter("pDiakigazolvanyszam", diakigazolvanyszam),
new CommandParameter("pTanevId", tanevId)
};
const string command = @"
SELECT
f.C_NYOMTATASINEV AS Nev
FROM T_TANULO_OSSZES t
JOIN T_FELHASZNALO_OSSZES f ON f.ID = t.ID AND f.TOROLT = 'F' AND f.C_TANEVID = :pTanevId
WHERE t.TOROLT = 'F'
AND t.C_ALTANEVID = :pTanevId
AND t.C_DIAKIGAZOLVANYSZAM = :pDiakigazolvanyszam
";
return GetData(command, parameters);
}
public DataSet GetTanulokForDDL(bool torolt = false)
{
var paramlist = new List<CommandParameter>
{
new CommandParameter("pTorolt", torolt ? 'T' : 'F'),
new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
};
const string commandText = @"
SELECT
fel.ID
,fel.C_NYOMTATASINEV AS TanuloNeve
,fel.C_ANYJANEVE AS AnyjaNeve
,fel.C_SZULETESIHELY AS SzuletesiHely
,fel.C_SZULETESIDATUM AS SzuletesiIdo
,fel.C_OKTATASIAZONOSITO AS OktatasiAzonosito
,ISNULL(tta.C_TANKOTELEZETT, tanulo.C_TANKOTELEZETT) AS Tankotelezett
,tanterv.C_NEV Tanterv
,tta.C_SZERVEZETID SzervezetId
FROM T_FELHASZNALO fel
JOIN T_TANULO tanulo on tanulo.ID = fel.ID
LEFT JOIN (
SELECT tanulo.ID AS tid, tcso.ID AS tcsoid
FROM T_TANULO tanulo
JOIN T_TANULOCSOPORT tcso ON tcso.C_TANULOID = tanulo.ID AND tcso.TOROLT = 'F'
AND tcso.C_BELEPESDATUM <= GETDATE()
AND (tcso.C_KILEPESDATUM IS NULL OR tcso.C_KILEPESDATUM > GETDATE())
JOIN T_OSZTALY o ON o.ID = tcso.C_OSZTALYCSOPORTID AND o.TOROLT = 'F'
JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F' AND ocs.C_FELADATKATEGORIAID = @OktNevKatTipus
) AS szuro ON szuro.tid = tanulo.ID
LEFT JOIN T_TANULOTANUGYIADATOK tta ON tta.C_TANULOCSOPORTID = szuro.tcsoid AND tta.TOROLT = 'F'
LEFT JOIN T_TANTERV tanterv ON tanterv.id = tta.C_TANTERVID AND tanterv.TOROLT = 'F'
WHERE fel.TOROLT = :pTorolt
ORDER BY IIF(fel.C_NEVSORREND = 'T', fel.C_UTONEV + ' ' + fel.C_VEZETEKNEV, fel.C_VEZETEKNEV + ' ' + fel.C_UTONEV)";
var dataSet = GetData(commandText, paramlist, booleanColumns: "Tankotelezett");
return dataSet;
}
/*TODO (@DevKornél):kiszervezni sp-be*/
public DataSet GetTanuloDataSetByOsztalyCsoportId(
int osztalyCsoportId,
int? feladatKategoriaId,
string nev,
string anyjaSzuletesiNev,
string szuletesiHely,
DateTime? szuletesiIdoTol,
DateTime? szuletesiIdoIg,
string oktatasiAzonosito,
bool? tankotelezett,
int? tanterv,
int? feladatEllatasiHelyId,
DateTime datum)
{
List<CommandParameter> commandParameterList = new List<CommandParameter>
{
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),
new CommandParameter("pDatum", datum)
};
StringBuilder commandText = new StringBuilder(@"
SELECT
fel.ID
,fel.C_NYOMTATASINEV TanuloNeve
,IIF(fel.C_NEVSORREND = 'T',
fel.C_UTONEV + ' ' + fel.C_VEZETEKNEV,
fel.C_VEZETEKNEV + ' ' + fel.C_UTONEV) TanuloNeveElotagNelkul
,fel.C_ANYJANEVE AnyjaNeve
,fel.C_SZULETESIHELY SzuletesiHely
,fel.C_SZULETESIDATUM SzuletesiIdo
,fel.C_OKTATASIAZONOSITO OktatasiAzonosito
,tanuloTanugyiAdatok.C_TANKOTELEZETT Tankotelezett
,osztcsop.C_NEV Osztaly
,osztcsop.ID OsztalyCsoportId
,tanterv.C_NEV Tanterv
FROM T_FELHASZNALO fel
JOIN T_TANULO tanulo on tanulo.ID = fel.ID
LEFT JOIN T_TANULOCSOPORT osztTanulo on osztTanulo.C_TANULOID = tanulo.ID
LEFT JOIN T_OSZTALYCSOPORT osztcsop on osztcsop.ID = osztTanulo.C_OSZTALYCSOPORTID
LEFT JOIN T_OSZTALY oszt on oszt.ID = osztcsop.ID
LEFT JOIN [fnGetOsztalyCsoportTanuloinakTanugyiAdatai](:pOsztalyCsoportId, default) as tanuloTanugyiAdatok ON tanuloTanugyiAdatok.TanuloId = fel.ID
LEFT JOIN T_TANTERV tanterv on tanterv.ID = tanuloTanugyiAdatok.C_TANTERVID AND tanterv.TOROLT= 'F'
WHERE
fel.TOROLT = 'F'
and tanulo.TOROLT = 'F'
and osztTanulo.TOROLT = 'F'
and osztcsop.TOROLT = 'F'
and osztcsop.ID = :pOsztalyCsoportId
and (osztTanulo.C_BELEPESDATUM <= :pDatum and (osztTanulo.C_KILEPESDATUM is null or osztTanulo.C_KILEPESDATUM > :pDatum))
");
if (!string.IsNullOrWhiteSpace(nev))
{
commandText.Append($" AND LOWER(fel.C_NYOMTATASINEV) LIKE '%' + @{nameof(nev)} + '%'");
commandParameterList.Add(new CommandParameter(nameof(nev), nev.ToLowerInvariant()));
}
if (!string.IsNullOrWhiteSpace(anyjaSzuletesiNev))
{
commandText.Append($" AND LOWER(fel.C_ANYJANEVE) LIKE '%' + @{nameof(anyjaSzuletesiNev)} + '%'");
commandParameterList.Add(new CommandParameter(nameof(anyjaSzuletesiNev), anyjaSzuletesiNev.ToLowerInvariant()));
}
if (!string.IsNullOrWhiteSpace(szuletesiHely))
{
commandText.Append($" AND LOWER(fel.C_SZULETESIHELY) LIKE '%' + @{nameof(szuletesiHely)} + '%'");
commandParameterList.Add(new CommandParameter(nameof(szuletesiHely), szuletesiHely.ToLowerInvariant()));
}
if (szuletesiIdoTol.HasValue)
{
commandText.Append(@" AND fel.C_SZULETESIDATUM >= :pSzuletesiIdoTol");
commandParameterList.Add(new CommandParameter("pSzuletesiIdoTol", szuletesiIdoTol));
}
if (szuletesiIdoIg.HasValue)
{
commandText.Append(@" AND fel.C_SZULETESIDATUM <= :pSzuletesiIdoIg");
commandParameterList.Add(new CommandParameter("pSzuletesiIdoIg", szuletesiIdoIg));
}
if (!string.IsNullOrWhiteSpace(oktatasiAzonosito))
{
commandText.Append($" AND LOWER(fel.C_OKTATASIAZONOSITO) LIKE '%' + @{nameof(oktatasiAzonosito)} + '%'");
commandParameterList.Add(new CommandParameter(nameof(oktatasiAzonosito), oktatasiAzonosito.ToLowerInvariant()));
}
if (tankotelezett.HasValue)
{
commandText.Append(@" AND ISNULL(tanuloTanugyiAdatok.C_TANKOTELEZETT, tanulo.C_TANKOTELEZETT) = :pTankotelezett");
string tankotelezettValue = tankotelezett.Value ? "T" : "F";
commandParameterList.Add(new CommandParameter("pTankotelezett", tankotelezettValue));
}
if (tanterv.HasValue)
{
commandText.Append(@" AND tanuloTanugyiAdatok.C_TANTERVID = :pTanterv");
commandParameterList.Add(new CommandParameter("pTanterv", tanterv.Value));
}
if (feladatKategoriaId.IsEntityId())
{
commandText.Append($" AND osztcsop.C_FELADATKATEGORIAID = @{nameof(feladatKategoriaId)}");
commandParameterList.Add(new CommandParameter(nameof(feladatKategoriaId), feladatKategoriaId.Value));
}
if (feladatEllatasiHelyId.IsEntityId())
{
commandText.Append($" AND osztcsop.C_FELADATELLATASIHELYID = @{nameof(feladatEllatasiHelyId)}");
commandParameterList.Add(new CommandParameter(nameof(feladatEllatasiHelyId), feladatEllatasiHelyId.Value));
}
DataSet dataSet = GetData(commandText.ToString(), commandParameterList, booleanColumns: "Tankotelezett");
return dataSet;
}
/// INFO @DevKornel: Mobil használja
public DataSet GetTanuloCsoportjai(int tanuloId, bool csakAktualis = true)
{
var parameters = new List<CommandParameter>(); ///TODO (@DevKornél): Obj. inittel
parameters.Add(new CommandParameter("pTanuloId", tanuloId));
parameters.Add(new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas));
StringBuilder commandText = new StringBuilder(@"select distinct
T_TANULOCSOPORT.C_OSZTALYCSOPORTID ID,
T_CSOPORT.C_TIPUSA CsoportTipusa
from T_TANULOCSOPORT
inner join T_CSOPORT on T_CSOPORT.ID = T_TANULOCSOPORT.C_OSZTALYCSOPORTID
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_CSOPORT.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus
where
T_TANULOCSOPORT.TOROLT = 'F'
and T_TANULOCSOPORT.C_TANULOID = :pTanuloId");
if (csakAktualis)
{
commandText.Append(" and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE() and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM >= GETDATE())");
}
DataSet ds = this.GetData(commandText.ToString(), parameters);
return ds;
}
public DataSet GetGondviselok(int userId, int tanevId)
{
const string commandText = @"SELECT
g.ID AS ID
,g.C_IDPEGYEDIAZONOSITO AS IdpEgyediAzonosito
,g.C_NEV AS Nev
,g.C_ROKONSAGFOKA AS RokonsagFoka
,t.C_TELEFONSZAM AS TelefonSzam
,e.C_EMAILCIM AS EmailCim
,fb.C_BEJELENTKEZESINEV AS BelepesiNev
,g.C_ISTORVENYESKEPVISELO AS IsTorvenyesKepviselo
,IIF(g.C_ISCSOKKENTETTGONDVISELO = 'T', 'F', 'T') AS BovitettJog
,IIF(ISNULL(fb.C_UTOLSOBELEPES, '1900-01-01') > ISNULL(fb_elo.C_UTOLSOBELEPES, '1900-01-01'), fb.C_UTOLSOBELEPES, fb_elo.C_UTOLSOBELEPES) AS UtolsoBelepes
,IIF(ISNULL(fb.C_UTOLSOBELEPESMOBIL, '1900-01-01') > ISNULL(fb_elo.C_UTOLSOBELEPESMOBIL, '1900-01-01'), fb.C_UTOLSOBELEPESMOBIL, fb_elo.C_UTOLSOBELEPESMOBIL) AS UtolsoBelepesMobil
,e.C_ISHIBASANMEGADVA AS IsHibasanMegadva
FROM T_GONDVISELO_OSSZES g
LEFT JOIN T_GONDVISELO_OSSZES g_elo ON g_elo.ID = g.ELOZOTANEVIREKORDID
LEFT JOIN T_TELEFON_OSSZES t ON t.TOROLT = 'F' AND t.C_GONDVISELOID = g.ID AND t.C_TANEVID = g.C_TANEVID AND t.C_FELHASZNALOID = g.C_TANULOID AND t.C_ALAPERTELMEZETT = 'T'
LEFT JOIN T_EMAIL_OSSZES e ON e.TOROLT = 'F' AND e.C_GONDVISELOID = g.ID AND e.C_TANEVID = g.C_TANEVID AND e.C_FELHASZNALOID = g.C_TANULOID AND e.C_ALAPERTELMEZETT = 'T'
LEFT JOIN (
SELECT *, ROW_NUMBER() OVER(PARTITION BY C_GONDVISELOID, C_FELHASZNALOID ORDER BY Utolso DESC) AS Rn
FROM (
SELECT *, IIF(ISNULL(C_UTOLSOBELEPES, '1900-01-01') > ISNULL(C_UTOLSOBELEPESMOBIL, '1900-01-01'), C_UTOLSOBELEPES, C_UTOLSOBELEPESMOBIL) AS Utolso
FROM T_FELHASZNALOBELEPES_OSSZES
) u
) fb ON fb.C_GONDVISELOID = g.ID AND fb.C_FELHASZNALOID = g.C_TANULOID AND fb.C_TANEVID = g.C_TANEVID AND fb.TOROLT = 'F'
LEFT JOIN (
SELECT *, ROW_NUMBER() OVER(PARTITION BY C_GONDVISELOID, C_FELHASZNALOID ORDER BY Utolso DESC) AS Rn
FROM (
SELECT *, IIF(ISNULL(C_UTOLSOBELEPES, '1900-01-01') > ISNULL(C_UTOLSOBELEPESMOBIL, '1900-01-01'), C_UTOLSOBELEPES, C_UTOLSOBELEPESMOBIL) AS Utolso
FROM T_FELHASZNALOBELEPES_OSSZES
) u
) fb_elo ON fb_elo.C_GONDVISELOID = g_elo.ID AND fb_elo.C_FELHASZNALOID = g_elo.C_TANULOID AND fb_elo.C_TANEVID = g_elo.C_TANEVID AND fb_elo.TOROLT = 'F'
WHERE g.TOROLT = 'F'
AND g.C_TANULOID = :pUserId
AND g.C_TANEVID = :pTanevId";
var prams = new List<CommandParameter> { new CommandParameter("pUserId", userId), new CommandParameter("pTanevId", tanevId) };
var ds = this.GetData(commandText, prams, "RokonsagFoka", "IsTorvenyesKepviselo,BovitettJog,IsHibasanMegadva");
return ds;
}
public DataSet GetGondviseloAlapertelmezettAdatok(int tanuloId, int tanevId)
{
string commandText = $@"
SELECT
g.ID AS ID
,g.C_IDPEGYEDIAZONOSITO AS IdpEgyediAzonosito
,g.C_NEV AS Nev
,t.C_TELEFONSZAM AS Telefonszam
,e.C_EMAILCIM AS EmailCim
,g.C_ISTORVENYESKEPVISELO AS IsTorvenyesKepviselo
FROM
T_GONDVISELO_OSSZES g
LEFT JOIN
T_TELEFON_OSSZES t ON t.C_GONDVISELOID = g.ID AND t.C_ALAPERTELMEZETT = 'T' AND t.TOROLT = 'F'
LEFT JOIN
T_EMAIL_OSSZES e ON e.C_GONDVISELOID = g.ID AND e.C_ALAPERTELMEZETT = 'T' AND e.TOROLT = 'F'
WHERE
g.C_TANULOID = {tanuloId}
AND g.C_TANEVID = {tanevId}
AND g.TOROLT = 'F'
";
return GetData(commandText, booleanColumns: "IsTorvenyesKepviselo");
}
public DataSet GetGondviseloCimekByTanulo(int tanuloId, int tanevId)
{
List<CommandParameter> p = new List<CommandParameter>(); ///TODO (@DevKornél): Obj. inittel
p.Add(new CommandParameter("pTanuloId", tanuloId));
p.Add(new CommandParameter("pTanevId", tanevId));
var command = @"
select
T_CIM_OSSZES.ID,
T_CIM_OSSZES.C_GONDVISELOID GondviseloId,
T_GONDVISELO_OSSZES.C_NEV GondviseloNev,
T_CIM_OSSZES.C_CIMTIPUSA CimTipus,
T_CIM_OSSZES.C_ORSZAG Orszag,
T_CIM_OSSZES.C_IRANYITOSZAM Iranyitoszam,
T_CIM_OSSZES.C_VAROS HelysegNev,
T_CIM_OSSZES.C_KOZTERULET KozteruletNev,
T_CIM_OSSZES.C_KOZTERULETJELLEGENEV KozteruletTipusNev,
T_CIM_OSSZES.C_HAZSZAM HazSzam,
T_CIM_OSSZES.C_EPULET Epulet,
T_CIM_OSSZES.C_LEPCSOHAZ LepcsoHaz,
T_CIM_OSSZES.C_EMELET Emelet,
T_CIM_OSSZES.C_AJTO Ajto,
T_CIM_OSSZES.C_ALAPERTELMEZETT Alapertelmezett
from T_CIM_OSSZES
left join T_GONDVISELO_OSSZES on T_GONDVISELO_OSSZES.ID = T_CIM_OSSZES.C_GONDVISELOID and T_GONDVISELO_OSSZES.TOROLT = 'F' and T_CIM_OSSZES.C_TANEVID = T_GONDVISELO_OSSZES.C_TANEVID
inner join T_FELHASZNALO_OSSZES on T_FELHASZNALO_OSSZES.ID = T_GONDVISELO_OSSZES.C_TANULOID and T_FELHASZNALO_OSSZES.TOROLT = 'F' and T_FELHASZNALO_OSSZES.C_TANEVID = T_GONDVISELO_OSSZES.C_TANEVID
inner join T_TANULO_OSSZES on T_TANULO_OSSZES.ID = T_FELHASZNALO_OSSZES.ID and T_TANULO_OSSZES.TOROLT = 'F' and T_TANULO_OSSZES.C_ALTANEVID = T_GONDVISELO_OSSZES.C_TANEVID
where
T_CIM_OSSZES.TOROLT = 'F' and
T_CIM_OSSZES.C_TANEVID = :pTanevId and
T_TANULO_OSSZES.ID = :pTanuloId
";
return this.GetData(command, p, "Orszag,CimTipus", "Alapertelmezett");
}
public DataSet GetGondviseloCimekByGondviselo(int gondviseloId)
{
var p = new List<CommandParameter>(); ///TODO (@DevKornél): Obj. inittel
p.Add(new CommandParameter("pGondvId", gondviseloId));
var command = @"select
T_CIM_OSSZES.ID,
T_CIM_OSSZES.C_GONDVISELOID GondviseloId,
T_CIM_OSSZES.C_CIMTIPUSA CimTipus,
T_CIM_OSSZES.C_ORSZAG Orszag,
T_CIM_OSSZES.C_IRANYITOSZAM Iranyitoszam,
T_CIM_OSSZES.C_VAROS HelysegNev,
T_CIM_OSSZES.C_KOZTERULET KozteruletNev,
T_CIM_OSSZES.C_KOZTERULETJELLEGENEV KozteruletTipusNev,
T_CIM_OSSZES.C_HAZSZAM HazSzam,
T_CIM_OSSZES.C_EPULET Epulet,
T_CIM_OSSZES.C_LEPCSOHAZ LepcsoHaz,
T_CIM_OSSZES.C_EMELET Emelet,
T_CIM_OSSZES.C_AJTO Ajto,
T_CIM_OSSZES.C_ALAPERTELMEZETT Alapertelmezett
from T_CIM_OSSZES
where
T_CIM_OSSZES.TOROLT = 'F' and
T_CIM_OSSZES.C_GONDVISELOID = :pGondvId";
return this.GetData(command, p, "CimTipus", "Alapertelmezett");
}
public DataSet GetTantargyak(int userId)
{
const string commandText = @"
Select min(f.ID) as id
,t.ID as TantargyID
,t.C_NEV as Tantargy
,u.ID as TanarID
,u.C_NYOMTATASINEV as Tanar
From(
SELECT ID
,C_OSZTALYCSOPORTID
FROM T_TANULOCSOPORT_OSSZES where TOROLT = 'F'
and C_BELEPESDATUM < GETDATE()
and (C_KILEPESDATUM is null or C_KILEPESDATUM >= GETDATE())
and C_TANULOID = :pUserId
) as tcs
Inner Join (Select T_FOGLALKOZAS_OSSZES.ID
,T_FOGLALKOZAS_OSSZES.C_TANTARGYID
,T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID
,T_FOGLALKOZAS_OSSZES.C_TANEVID
,T_FOGLALKOZAS_OSSZES.C_TANARID
FROM T_FOGLALKOZAS_OSSZES
Where TOROLT = 'F') as f
On f.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID
Inner Join (SELECT ID
,C_NYOMTATASINEV
FROM T_FELHASZNALO_OSSZES Where TOROLT = 'F') as u
On f.C_TANARID = u.ID
Inner Join (SELECT ID
,C_NEV
FROM T_TANTARGY_OSSZES Where TOROLT = 'F') as t
On f.C_TANTARGYID = t.ID
Group by t.ID
,t.C_NEV
,u.ID
,u.C_NYOMTATASINEV
";
var prams = new List<CommandParameter> { new CommandParameter("pUserId", userId) };
var ds = this.GetData(commandText, prams);
return ds;
}
public DataSet GetOrarend(int userId)
{
const string commandText = @"
Select o.ID
,o.C_HETIREND as Hetirend
,o.C_HETNAPJA as Hetnapja
,o.C_ORASZAM as Oraszam
,t.C_NEV as Tantargy
,ocs.C_NEV as OsztalyCsoport
,p.C_NYOMTATASINEV as Pedagogus
,h.C_NEV as Terem
,o.C_ORAERVENYESSEGKEZDETE as OrarendErvenyessegKezdete
,o.C_ORAERVENYESSEGVEGE as OrarendErvenyessegVege
From(
SELECT ID
,C_OSZTALYCSOPORTID
FROM T_TANULOCSOPORT_OSSZES where TOROLT = 'F'
and C_BELEPESDATUM < GETDATE()
and (C_KILEPESDATUM is null or C_KILEPESDATUM >= GETDATE())
and C_TANULOID = :pUserId
) as tcs
Inner Join (Select T_FOGLALKOZAS_OSSZES.ID
,T_FOGLALKOZAS_OSSZES.C_TANTARGYID
,T_FOGLALKOZAS_OSSZES.C_OSZTALYCSOPORTID
,T_FOGLALKOZAS_OSSZES.C_TANARID
FROM T_FOGLALKOZAS_OSSZES
Where T_FOGLALKOZAS_OSSZES.TOROLT = 'F') as f
On f.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID
Inner Join (SELECT ID
,C_HETIREND
,C_HETNAPJA
,C_ORASZAM
,C_ORAERVENYESSEGKEZDETE
,C_ORAERVENYESSEGVEGE
,C_TEREMID
,C_FOGLALKOZASID
FROM T_ORARENDIORA_OSSZES Where TOROLT = 'F') as o
On o.C_FOGLALKOZASID = f.ID
Left Join (SELECT ID
,C_Nev
FROM T_OSZTALYCSOPORT_OSSZES Where TOROLT = 'F') as ocs
On f.C_OSZTALYCSOPORTID = ocs.ID
Left Join (SELECT ID
,C_NYOMTATASINEV
FROM T_FELHASZNALO_OSSZES Where TOROLT = 'F') as p
On f.C_TANARID = p.ID
Left Join (SELECT ID
,C_NEV
FROM [T_TANTARGY_OSSZES] Where [TOROLT] = 'F') as t
On f.[C_TANTARGYID] = t.[ID]
Left Join (SELECT [ID]
,[C_NEV]
FROM [T_TEREM_OSSZES] Where [TOROLT] = 'F') as h
on o.C_TEREMID = h.ID
";
var prams = new List<CommandParameter> {
new CommandParameter("pUserId", userId)
};
var ds = this.GetData(commandText, prams, "Hetirend,Hetnapja");
return ds;
}
public DataSet GetErtekeles(int tanuloId, int? feladatKategoriaId)
{
const string commandText = @"
SELECT
tanuluErtekeles.ID ID
,tanuluErtekeles.C_DATUM ErtekelesDatuma
,tanuluErtekeles.C_ERTEKELESSZOVEG ErtekelesSzoveg
,tanuluErtekeles.C_ERTEKELESOSZTALYZATID Erdemjegy
,tanuluErtekeles.C_ERTEKELESMODID ErtekelesModja
,tanuluErtekeles.C_ERTEKELESTEMA Tema
,tanarFehasznalo.C_NYOMTATASINEV Pedagogus
,tantargy.C_NEV Tantargy
,osztalyCsoport.C_NEV OsztalyCsoport
FROM
T_TANULOERTEKELES_OSSZES tanuluErtekeles
LEFT JOIN
T_FELHASZNALO_OSSZES tanarFehasznalo ON
tanarFehasznalo.ID = tanuluErtekeles.C_ERTEKELOID
AND tanarFehasznalo.TOROLT = 'F'
LEFT JOIN
T_TANTARGY_OSSZES tantargy ON
tantargy.ID = tanuluErtekeles.C_TANTARGYID
AND tantargy.TOROLT = 'F'
LEFT JOIN
T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON
osztalyCsoport.ID = tanuluErtekeles.C_OSZTALYCSOPORTID
AND osztalyCsoport.TOROLT = 'F'
AND (osztalyCsoport.C_FELADATKATEGORIAID = :pFeladatKategoriaId OR :pFeladatKategoriaId IS NULL)
WHERE
tanuluErtekeles.C_TANULOID = :pTanuloId
AND tanuluErtekeles.TOROLT = 'F'";
var commandParameterList = new List<CommandParameter>
{
new CommandParameter("pTanuloId", tanuloId),
feladatKategoriaId.IsEntityId() ?
new CommandParameter("pFeladatKategoriaId", feladatKategoriaId) :
new CommandParameter("pFeladatKategoriaId", DBNull.Value)
};
var dataSet = GetData(commandText, commandParameterList, "ErtekelesModja,Erdemjegy");
return dataSet;
}
public bool HasErtekelesekForTanuloInTanuloCsoport(int tanuloId, int tanuloCsoportId)
{
using (var command = UserContext.Instance.SDAConnection.CreateCommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.Text;
command.Parameters.Add("pTanuloId", tanuloId);
command.Parameters.Add("pTanuloCsoportId", tanuloCsoportId);
command.CommandText = @"
SELECT
COUNT(te.ID)
FROM T_TANULOERTEKELES_OSSZES te
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON te.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID AND te.C_TANULOID = tcs.C_TANULOID AND tcs.TOROLT = 'F' AND tcs.C_TANEVID = te.C_TANEVID
WHERE te.TOROLT = 'F'
AND te.C_TANULOID = :pTanuloId
AND tcs.ID = :pTanuloCsoportId";
var cmdResult = command.ExecuteScalar();
return (cmdResult.ToString() != "0");
}
}
public DataSet GetMulasztasok(int userId, int? feladatKategoriaId)
{
string commandText = string.Format(@"
Select tm.ID
,tm.[C_IGAZOLT] as IsIgazolt
,tm.[C_KESESPERCBEN] as KesesPercben
,tm.[C_TIPUS] as MulasztasTipusa
,tm.[C_IGAZOLASTIPUSA] as IgazolasTipusa
,ocs.[C_Nev] as OsztalyCsoport
,t.[C_NEV] as Tantargy
,tano.C_ORASZAM as Oraszam
,tano.C_DATUM as Datum
From (
SELECT [ID]
,[C_IGAZOLT]
,[C_KESESPERCBEN]
,[C_MEGJEGYZES]
,[C_TIPUS]
,[C_IGAZOLASTIPUSA]
,[C_ORATANULOIID]
,[C_TANITASIORAKID]
FROM [T_TANULOMULASZTAS_OSSZES] Where [TOROLT] = 'F' And [C_ORATANULOIID] = :pUserId And [C_TIPUS] NOT IN ({0}, {1})) as tm
Left join (SELECT [ID]
,[C_ORASZAM]
,[C_DATUM]
,[C_TANTARGYID]
,[C_OSZTALYCSOPORTID]
FROM [T_TANITASIORA_OSSZES] where [TOROLT] = 'F') as tano
on tano.ID = tm.C_TANITASIORAKID
Left Join (SELECT [ID]
,[C_NEV]
FROM [T_TANTARGY_OSSZES] Where [TOROLT] = 'F') as t
On t.ID = tano.[C_TANTARGYID]
Inner Join (SELECT [ID]
,[C_Nev]
,[C_FELADATKATEGORIAID]
,[C_TANEVID]
FROM [T_OSZTALYCSOPORT_OSSZES] Where [TOROLT] = 'F') as ocs
On tano.[C_OSZTALYCSOPORTID] = ocs.[ID] AND (ocs.C_FELADATKATEGORIAID = :pFeladatKategoriaId OR :pFeladatKategoriaId IS NULL)
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = tano.C_OSZTALYCSOPORTID
AND tm.C_ORATANULOIID = tcs.C_TANULOID
AND tcs.TOROLT = 'F'
WHERE
tcs.C_BELEPESDATUM <= tano.C_DATUM
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > tano.C_DATUM)
", (int)Enums.MulasztasTipusEnum.jelenlet, (int)Enums.MulasztasTipusEnum.ures);
var prams = new List<CommandParameter> { new CommandParameter("pUserId", userId) };
if (feladatKategoriaId.IsEntityId())
{ prams.Add(new CommandParameter("pFeladatKategoriaId", feladatKategoriaId)); }
else
{ prams.Add(new CommandParameter("pFeladatKategoriaId", DBNull.Value)); }
var ds = this.GetData(commandText, prams, "MulasztasTipusa,IgazolasTipusa", "IsIgazolt");
return ds;
}
public bool HasMulasztasokForTanuloInTanuloCsoport(int tanuloId, int tanuloCsoportId)
{
using (var command = UserContext.Instance.SDAConnection.CreateCommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.Text;
command.Parameters.Add("pTanuloId", tanuloId);
command.Parameters.Add("pTanuloCsoportId", tanuloCsoportId);
command.CommandText = string.Format(@"
SELECT
COUNT(tm.ID)
FROM T_TANULOMULASZTAS_OSSZES tm
INNER JOIN T_TANITASIORA_OSSZES tOra ON tm.C_TANITASIORAKID = tOra.ID AND tora.TOROLT = 'F' AND tm.C_TANEVID = tOra.C_TANEVID
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tOra.C_OSZTALYCSOPORTID = tcs.C_OSZTALYCSOPORTID AND tm.C_ORATANULOIID = tcs.C_TANULOID AND tcs.TOROLT = 'F' AND tcs.C_TANEVID = tm.C_TANEVID
WHERE tm.TOROLT = 'F'
AND tm.C_TIPUS NOT IN ({0}, {1})
AND tm.C_ORATANULOIID = :pTanuloId
AND tcs.ID = :pTanuloCsoportId",
(int)MulasztasTipusEnum.jelenlet, (int)MulasztasTipusEnum.ures);
var cmdResult = command.ExecuteScalar();
return (cmdResult.ToString() != "0");
}
}
public bool VanMasOsztalya(int tanuloId, int osztalyId, OktNevelesiKategoriaEnum? kategoria)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.Parameters.Add(nameof(tanuloId), tanuloId);
command.Parameters.Add(nameof(osztalyId), osztalyId);
if (kategoria.HasValue)
{
command.Parameters.Add(nameof(kategoria), (int)kategoria);
}
else
{
command.Parameters.Add(nameof(kategoria), DBNull.Value);
}
command.CommandText = $@"
IF EXISTS
(
SELECT 1
FROM T_TANULOCSOPORT tcs
INNER JOIN T_OSZTALYCSOPORT ocs ON tcs.C_OSZTALYCSOPORTID = ocs.ID
AND (ocs.C_FELADATKATEGORIAID = @{nameof(kategoria)} OR @{nameof(kategoria)} IS NULL)
INNER JOIN T_OSZTALY o ON ocs.ID = o.ID AND o.ID <> @{nameof(osztalyId)}
WHERE tcs.C_TANULOID = @{nameof(tanuloId)}
AND tcs.C_BELEPESDATUM <= GETDATE() AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
)
SELECT 1
ELSE
SELECT 0
";
return Convert.ToBoolean(command.ExecuteScalar());
}
}
public DataSet GetIgazolasok(int userId, int? feladatKategoriaId)
{
const string commandText = @"
Select i.ID
,i.C_KEZDETE as IgazolasKezdete
,i.C_VEGE as IgazolasVege
,i.C_IGAZOLASTIPUSA as Tipusa
,p.[C_NYOMTATASINEV] as Pedagogus
,i.C_UGYIRATSZAM as Ugyiratszam
,i.C_MEGJEGYZES AS Megjegyzes
From (
SELECT [ID]
,[C_IGAZOLASTIPUSA]
,[C_KEZDETE]
,[C_MEGJEGYZES]
,[C_ROGZITESDATUMA]
,[C_VEGE]
,[C_TANULOID]
,[C_ROGZITOID]
,C_UGYIRATSZAM
FROM [T_IGAZOLAS_OSSZES] where [TOROLT] = 'F' And [C_TANULOID] = :pUserId) as i
Left Join (SELECT [ID]
,[C_NYOMTATASINEV]
FROM [T_FELHASZNALO_OSSZES] Where [TOROLT] = 'F') as p
On i.[C_ROGZITOID] = p.[ID]
";
var prams = new List<CommandParameter> { new CommandParameter("pUserId", userId) };
if (feladatKategoriaId.IsEntityId())
{ prams.Add(new CommandParameter("pFeladatKategoriaId", feladatKategoriaId)); }
else
{ prams.Add(new CommandParameter("pFeladatKategoriaId", DBNull.Value)); }
var ds = this.GetData(commandText, prams, "Tipusa");
return ds;
}
public DataSet GetJogviszonySzuneteltetes(int userId, int? kategoria)
{
var prams = new List<CommandParameter> { new CommandParameter("pUserId", userId) };
string commandText = @"
SELECT
jvsz.ID AS ID
,jvsz.C_KEZDETE as Kezdete
,jvsz.C_VEGE as Vege
,ocs.C_NEV as OsztalyNev
FROM T_JOGVISZONYSZUNETELTETES jvsz
LEFT JOIN T_TANULOTANUGYIADATOK ta on ta.ID = jvsz.C_TANULOTANUGYIADATOKID
LEFT JOIN T_TANULOCSOPORT tcs on tcs.ID = ta.C_TANULOCSOPORTID
LEFT JOIN T_OSZTALYCSOPORT ocs on ocs.ID = tcs.C_OSZTALYCSOPORTID
WHERE
jvsz.TOROLT = 'F' AND jvsz.C_TANULOID = :pUserId
";
if (kategoria.HasValue)
{
prams.Add(new CommandParameter("pKategoria", kategoria));
commandText += " AND ocs.C_FELADATKATEGORIAID = :pKategoria";
}
else
{
prams.Add(new CommandParameter("pKategoria", (int)OktNevelesiKategoriaEnum.NevelesOktatas));
commandText += " AND (ocs.C_FELADATKATEGORIAID = :pKategoria OR ocs.C_FELADATKATEGORIAID IS NULL)";
}
var ds = this.GetData(commandText, prams);
return ds;
}
public DataSet GetFeljegyzesekHavi(int tanuloId, int tanevId, int osztalyId)
{
List<CommandParameter> p = new List<CommandParameter>(); ///TODO (@DevKornél): Obj. inittel
p.Add(new CommandParameter("pTanuloId", tanuloId));
p.Add(new CommandParameter("pTanevId", tanevId));
p.Add(new CommandParameter("pOsztalyId", osztalyId));
var command = @"
SELECT
tte.C_TANULOID AS TanuloId
,d.C_NAME AS Tipus
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 9 THEN 1 ELSE 0 END) AS Szeptember
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 10 THEN 1 ELSE 0 END) AS Oktober
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 11 THEN 1 ELSE 0 END) AS November
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 12 THEN 1 ELSE 0 END) AS December
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 1 THEN 1 ELSE 0 END) AS Januar
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 2 THEN 1 ELSE 0 END) AS Februar
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 3 THEN 1 ELSE 0 END) AS Marcius
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 4 THEN 1 ELSE 0 END) AS Aprilis
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 5 THEN 1 ELSE 0 END) AS Majus
,SUM(CASE WHEN DATEPART(MONTH, te.C_ESEMENYDATUMA) = 6 THEN 1 ELSE 0 END) AS Junius
,SUM(CASE WHEN te.C_ESEMENYDATUMA <= tr.C_DATUM THEN 1 ELSE 0 END) AS Felev
,SUM(1) AS Ossz
FROM T_TANULO_TANULOESEMENY tte
INNER JOIN T_TANULOESEMENY_OSSZES te ON te.ID = tte.C_TANULOESEMENYID AND te.TOROLT = 'F'
INNER JOIN T_DICTIONARYITEMBASE_OSSZES d ON d.ID = te.C_TIPUS AND d.TOROLT = 'F' AND d.C_TANEVID = :pTanevId
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID=:pTanuloId AND tcs.C_OSZTALYCSOPORTID=:pOsztalyId AND tcs.TOROLT='F'
LEFT JOIN T_TANEVRENDJE tr ON tr.C_TANEVID=te.C_TANEVID AND tr.C_NAPTIPUSA=1400 AND tr.TOROLT='F'--aggregált oszlopban nem lehet subselect
WHERE tte.C_TANULOID = :pTanuloId AND te.TOROLT = 'F' AND tcs.C_BELEPESDATUM <= te.C_ESEMENYDATUMA AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM >= te.C_ESEMENYDATUMA)
GROUP BY tte.C_TANULOID, d.C_NAME";
return this.GetData(command, p);
}
public DataSet GetUtkozoOsztalyok(int tanuloId, DateTime belepesDatum, int tanuloCsoportId, int atsorolasOsztalyId, OktNevelesiKategoriaEnum? kategoria)
{
List<CommandParameter> p = new List<CommandParameter>
{
new CommandParameter("pTanuloId", tanuloId),
new CommandParameter("pBelepesDatum", belepesDatum),
new CommandParameter("pTanuloCsoportId", tanuloCsoportId),
new CommandParameter("pAtsorolasOsztalyId", atsorolasOsztalyId)
};
if (kategoria.HasValue)
{
p.Add(new CommandParameter(nameof(kategoria), (int)kategoria));
}
else
{
p.Add(new CommandParameter(nameof(kategoria), DBNull.Value));
}
var commandText = $@"
SELECT
ocs.C_NEV AS OsztalyCsoport,
tcs.C_BELEPESDATUM AS BelepesDatuma,
tcs.C_KILEPESDATUM AS KilepesDatuma,
f.C_NYOMTATASINEV AS TanuloNeve
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND ocs.TOROLT = 'F' AND (ocs.C_FELADATKATEGORIAID = @{nameof(kategoria)} OR @{nameof(kategoria)} IS NULL)
INNER JOIN T_OSZTALY_OSSZES o ON ocs.ID = o.ID AND o.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_OSSZES f ON tcs.C_TANULOID = f.ID AND f.TOROLT = 'F'
WHERE tcs.TOROLT = 'F'
AND tcs.C_TANULOID = :pTanuloId
AND :pBelepesDatum >= tcs.C_BELEPESDATUM AND (tcs.C_KILEPESDATUM IS NULL OR :pBelepesDatum < tcs.C_KILEPESDATUM)
";
if (atsorolasOsztalyId == 0)
{
commandText += @"
AND tcs.ID != :pTanuloCsoportId
";
}
else
{
commandText += @"
AND o.ID != :pTanuloCsoportId AND o.ID != :pAtsorolasOsztalyId
";
}
var ds = this.GetData(commandText, p);
return ds;
}
public DataSet GetHistoria(int userId, int? feladatKategoriaId = null)
{
var prams = new List<CommandParameter> { new CommandParameter("pUserId", userId) };
if (feladatKategoriaId.IsEntityId())
prams.Add(new CommandParameter("pFeladatKategoriaId", feladatKategoriaId));
else
prams.Add(new CommandParameter("pFeladatKategoriaId", DBNull.Value));
const string commandText = @"
SELECT tcs.ID
,tcs.C_BELEPESDATUM AS BelepesDatuma
,tcs.C_KILEPESDATUM AS KilepesDatuma
,ocs.C_NEV AS OsztalyCsoport
,tanev.C_NEV AS Tanev
,STUFF((
SELECT CAST(', ' + C_SZOVEG AS NVARCHAR(MAX)) FROM T_ZARADEK_OSSZES z
WHERE
z.C_TANULOCSOPORTID = tcs.ID
AND C_ISKIVAGYATSOROLASIZARADEK = 'F'
AND TOROLT = 'F'
AND C_TANEVID = tcs.C_TANEVID
FOR XML PATH(''), TYPE).value('.','NVARCHAR(MAX)'),1,2,'') AS Zaradek
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND ocs.TOROLT = 'F' AND (ocs.C_FELADATKATEGORIAID = :pFeladatKategoriaId OR :pFeladatKategoriaId IS NULL)
INNER JOIN T_TANEV_OSSZES tanev ON tanev.ID = ocs.C_TANEVID AND tanev.TOROLT = 'F'
WHERE tcs.TOROLT = 'F'
AND tcs.C_TANULOID = :pUserId
";
var ds = this.GetData(commandText, prams);
return ds;
}
public DataSet KIRTanulokImport(string tanuloiAdatokXml, int intezmenyId, int tanevId, int userId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "sp_KIRImportTanulok";
command.Parameters.Add("TanulokXML", tanuloiAdatokXml);
command.Parameters.Add("intezmenyID", intezmenyId);
command.Parameters.Add("tanevID", tanevId);
command.Parameters.Add("userId", userId);
var dts = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(dts);
}
DalHelper.Commit();
return dts;
}
}
/// INFO @DevKornel: Mobil használja
public DataSet GetTanuloOsztaly(int tanuloId, DateTime? datum = null, OktNevelesiKategoriaEnum? feladatKategoria = OktNevelesiKategoriaEnum.NevelesOktatas, bool csakAktualis = true, bool feladatKategoriaval = false)
{
var commandParameterList = new List<CommandParameter>
{
new CommandParameter("pTanuloId", tanuloId)
};
if (feladatKategoria.HasValue)
{ commandParameterList.Add(new CommandParameter("pFeladatKategoriaId", (int)feladatKategoria)); }
else
{ commandParameterList.Add(new CommandParameter("pFeladatKategoriaId", DBNull.Value)); }
var datumParameter = "DEFAULT";
if (datum.HasValue)
{
datumParameter = ":pDatum";
commandParameterList.Add(new CommandParameter("pDatum", datum.Value));
}
commandParameterList.Add(new CommandParameter("pKiiratkozottNeJelenjenMeg", csakAktualis ? 1 : 0));
string commandText = $@"SELECT * FROM fnGetTanuloOsztaly(:pTanuloId, {datumParameter}, :pFeladatKategoriaId, :pKiiratkozottNeJelenjenMeg, DEFAULT)";
if (feladatKategoriaval)
{
commandText += "AS o\r\nINNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID AND ocs.TOROLT = 'F'";
commandText = commandText.Replace("*", "o.*, ocs.C_FELADATKATEGORIAID");
}
return GetData(commandText, commandParameterList);
}
public DataSet GetTanuloCsoportId(int userId, int? osztalyCsoportId, DateTime? tanevElsoNapja)
{
var prams = new List<CommandParameter> { new CommandParameter("pUserId", userId) };
if (osztalyCsoportId.HasValue)
prams.Add(new CommandParameter("pOsztalycsoportId", osztalyCsoportId));
else
prams.Add(new CommandParameter("pOsztalycsoportId", DBNull.Value));
prams.Add(tanevElsoNapja.HasValue ? new CommandParameter("pDatum", tanevElsoNapja.Value) : new CommandParameter("pDatum", DateTime.Now));
const string commandText = @"
Select tcs.ID
From(
SELECT [ID]
,[C_OSZTALYCSOPORTID]
,[C_TANULOID]
FROM [T_TANULOCSOPORT_OSSZES] where [TOROLT] = 'F'
and C_BELEPESDATUM <= @pDatum
and (C_KILEPESDATUM is null or C_KILEPESDATUM > @pDatum)
and C_TANULOID = @pUserId
) tcs
Inner Join (SELECT [ID]
FROM [T_OSZTALY_OSSZES] where [TOROLT] = 'F') as o
On tcs.C_OSZTALYCSOPORTID = o.ID
where
o.ID = @pOsztalycsoportId OR @pOsztalycsoportId IS NULL
";
var ds = this.GetData(commandText, prams);
return ds;
}
public DataSet GetTanuloOraAdatai(int? orarendiOraId, int? tanitasiOraId, DateTime datum)
{
string commandText = string.Empty;
List<CommandParameter> parameters = new List<CommandParameter>();
if (orarendiOraId.HasValue)
{
commandText = $@"
SELECT
T_TANTARGY.C_NEV TargyNev,
'F' Megtartott,
osztaly.C_NEV OsztalyNev,
tanar.C_NYOMTATASINEV TanarNev,
T_TEREM.C_NEV TeremNev,
'' Tema,
hTanar.C_NYOMTATASINEV Helyettesito,
T_ORARENDIORA.C_ORASZAM Oraszam,
T_ORARENDIORA.C_ORAKEZDETE OraKezdet,
T_ORARENDIORA.C_ORAVEGE OraVege,
'' HaziFeladat
FROM T_ORARENDIORA
LEFT JOIN T_TANTARGY ON T_TANTARGY.ID = T_ORARENDIORA.C_TANTARGYID
LEFT JOIN T_FELHASZNALO tanar ON T_ORARENDIORA.C_TANARID = tanar.ID
LEFT JOIN T_OSZTALYCSOPORT osztaly ON T_ORARENDIORA.C_OSZTALYCSOPORTID = osztaly.ID
LEFT JOIN T_TEREM ON T_TEREM.ID = T_ORARENDIORA.C_TEREMID
LEFT JOIN T_HELYETTESITESIIDOSZAK h ON h.C_HELYETTESITETTORARENDID = T_ORARENDIORA.ID AND h.C_HELYETTESITESNAPJA = @{nameof(datum)} AND h.TOROLT = 'F'
LEFT JOIN T_FELHASZNALO hTanar ON hTanar.ID = h.C_HELYETTESTANAROKID
WHERE
T_ORARENDIORA.TOROLT='F' AND T_ORARENDIORA.ID = @{nameof(orarendiOraId)}";
parameters.Add(new CommandParameter(nameof(orarendiOraId), orarendiOraId.Value));
parameters.Add(new CommandParameter(nameof(datum), datum.Date));
}
else
{
commandText = $@"
SELECT T_TANTARGY.C_NEV TargyNev,
T_TANITASIORA.C_MEGTARTOTT Megtartott,
osztaly.C_NEV OsztalyNev,
tanar.C_NYOMTATASINEV TanarNev,
T_TEREM.c_nev TeremNev,
T_TANITASIORA.C_TEMA Tema,
helyettesito.C_NYOMTATASINEV Helyettesito,
T_TANITASIORA.C_ORASZAM Oraszam,
T_TANITASIORA.C_ORAKEZDETE OraKezdet,
T_TANITASIORA.C_ORAVEGE OraVege,
T_TANITASIORA.C_HAZIFELADAT HaziFeladat
FROM T_TANITASIORA
LEFT JOIN T_TANTARGY ON T_TANTARGY.ID = T_TANITASIORA.C_TANTARGYID
LEFT JOIN T_FELHASZNALO tanar ON tanar.ID = T_TANITASIORA.C_TANARID
LEFT JOIN T_FELHASZNALO helyettesito ON T_TANITASIORA.C_HELYETTESITOTANARID = helyettesito.ID
LEFT JOIN T_OSZTALYCSOPORT osztaly ON T_TANITASIORA.C_OSZTALYCSOPORTID = osztaly.ID
LEFT JOIN T_TEREM ON T_TEREM.ID = T_TANITASIORA.C_TEREMID
WHERE T_TANITASIORA.TOROLT = 'F'
AND T_TANITASIORA.ID = @{nameof(tanitasiOraId)}";
parameters.Add(new CommandParameter(nameof(tanitasiOraId), tanitasiOraId.Value));
}
var ds = this.GetData(commandText, parameters);
return ds;
}
public DataSet GetTanuloOraSzamonkeresAdatai(int? orarendiOraId, int? tanitasiOraId, DateTime date)
{
var param = new List<CommandParameter>
{
new CommandParameter("pId", orarendiOraId.HasValue ? orarendiOraId : tanitasiOraId),
new CommandParameter("pDate", date),
new CommandParameter("pTipusId", (int)GeneratedAdatszotarTipusEnum.ErtekelesMod)
};
var commandText = @"
SELECT
sze.C_SZAMONKERESMEGNEVEZES AS SzamonkeresMegnevezes
,dib.C_NAME AS SzamonkeresMod
FROM T_SZAMONKERESELOREJELZES sze
INNER JOIN ";
commandText += orarendiOraId.HasValue ?
@" T_ORARENDIORA o ON sze.C_SZAMONKERESDATUMA between o.C_ORAERVENYESSEGKEZDETE AND o.C_ORAERVENYESSEGVEGE " :
@" T_TANITASIORA o ON sze.C_SZAMONKERESDATUMA = o.C_DATUM ";
commandText += @" AND o.ID = :pId AND sze.C_TANEVID = o.C_TANEVID AND sze.C_ORARENDIORAGROUPID = o.C_ORARENDIORAGROUPID AND o.TOROLT = 'F' ";
commandText += @"
INNER JOIN T_DICTIONARYITEMBASE dib ON dib.ID = sze.C_SZAMONKERESMODID AND dib.C_INTEZMENYID = sze.C_INTEZMENYID AND dib.C_TANEVID = sze.C_TANEVID AND dib.C_DICTIONARYTYPEID = :pTipusId
WHERE sze.C_SZAMONKERESDATUMA = :pDate AND sze.TOROLT = 'F' ";
DataSet ds = GetData(commandText, param);
return ds;
}
/// INFO @DevKornel: Mobil használja
public DataSet GetOsztalyTanuloi(int osztalyId, DateTime? date = null)
{
var pDate = !date.HasValue || date == default(DateTime) ? DateTime.Now : date.Value;
var param = new List<CommandParameter>
{
new CommandParameter("pOsztalyID", osztalyId),
new CommandParameter("pDate", pDate)
};
var commandText = @"
SELECT DISTINCT
T_FELHASZNALO_OSSZES.ID ID,
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV Nev,
T_FELHASZNALO_OSSZES.C_SZULETESIDATUM SzuletesiDatum,
T_FELHASZNALO_OSSZES.C_ANYJANEVE AnyaNev
FROM
T_TANULOCSOPORT_OSSZES
INNER JOIN
T_FELHASZNALO_OSSZES ON
T_FELHASZNALO_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_TANULOID
WHERE
T_TANULOCSOPORT_OSSZES.torolt = 'F' AND
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM <= :pDate AND
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM > :pDate)
AND T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(:pOsztalyID))
ORDER BY
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV";
DataSet ds = GetData(commandText, param);
return ds;
}
public DataSet GetCsoportTanuloi(int osztalyId, int tanevId, string osztalyLista = null)
{
var param = new List<CommandParameter>
{
osztalyLista != null ?
new CommandParameter("pOsztalyLista", osztalyLista) :
new CommandParameter("pOsztalyID", osztalyId),
new CommandParameter("pTanevId", tanevId)
};
var commandText = @"
SELECT DISTINCT
T_FELHASZNALO_OSSZES.ID ID,
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV Nev,
IIF(T_FELHASZNALO_OSSZES.C_NEVSORREND = 'T',
T_FELHASZNALO_OSSZES.C_UTONEV + ' ' + T_FELHASZNALO_OSSZES.C_VEZETEKNEV,
T_FELHASZNALO_OSSZES.C_VEZETEKNEV + ' ' + T_FELHASZNALO_OSSZES.C_UTONEV) NevElotagNelkul,
T_FELHASZNALO_OSSZES.C_SZULETESIDATUM SzuletesiDatum,
T_FELHASZNALO_OSSZES.C_ANYJANEVE AnyaNev
FROM
T_TANULOCSOPORT_OSSZES
INNER JOIN
T_FELHASZNALO_OSSZES ON
T_FELHASZNALO_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_TANULOID
WHERE
T_TANULOCSOPORT_OSSZES.TOROLT = 'F' AND T_TANULOCSOPORT_OSSZES.C_TANEVID = :pTanevId AND
T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() AND
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM IS NULL OR T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM >= GETDATE())"
+ (osztalyLista == null ? @" AND T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID = :pOsztalyID "
: " AND T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID IN (:pOsztalyLista)");
DataSet ds = GetData(commandText, param);
return ds;
}
/// <summary>
/// Visszaadja az osztályból már kiléptetett és majd a jövőben az osztálybasorolt tanulókat is
/// </summary>
public DataSet GetOsztalyCsoportMindenkoriTanuloi(int osztalyId, string osztalyLista = null)
{
var param = new List<CommandParameter>();
if (osztalyLista != null)
param.Add(new CommandParameter("pOsztalyLista", osztalyLista));
else
param.Add(new CommandParameter("pOsztalyID", osztalyId));
string whereClause = "";
if (osztalyLista == null)
{
whereClause += @" AND T_TANULOCSOPORT_OSSZES.c_osztalycsoportid=:pOsztalyID ";
}
else
{
whereClause += @" AND T_TANULOCSOPORT_OSSZES.c_osztalycsoportid in (:pOsztalyLista) ";
}
var commandText = @"
SELECT
T_FELHASZNALO_OSSZES.ID ID
,T_FELHASZNALO_OSSZES.C_NYOMTATASINEV Nev
,IIF(T_FELHASZNALO_OSSZES.C_NEVSORREND = 'T'
,T_FELHASZNALO_OSSZES.C_UTONEV + ' ' + T_FELHASZNALO_OSSZES.C_VEZETEKNEV
,T_FELHASZNALO_OSSZES.C_VEZETEKNEV + ' ' + T_FELHASZNALO_OSSZES.C_UTONEV) NevElotagNelkul
,T_FELHASZNALO_OSSZES.C_SZULETESIDATUM SzuletesiDatum
,T_FELHASZNALO_OSSZES.C_ANYJANEVE AnyaNev
,OSZTALY.Osztalynev OsztalyNev
,T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM BelepesDatum
,T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM KilepesDatum
FROM T_TANULOCSOPORT_OSSZES
INNER JOIN T_FELHASZNALO_OSSZES ON T_FELHASZNALO_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_TANULOID
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_OSZTALYCSOPORT_OSSZES.ID = T_TANULOCSOPORT_OSSZES.C_OSZTALYCSOPORTID AND T_OSZTALYCSOPORT_OSSZES.TOROLT = 'F'
CROSS APPLY fnGetTanuloOsztalyString(T_FELHASZNALO_OSSZES.ID,default,T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID,default,default, NULL) OSZTALY
WHERE
T_TANULOCSOPORT_OSSZES.TOROLT = 'F'
" + whereClause;
DataSet ds = GetData(commandText, param);
return ds;
}
/// <summary>
/// Visszaadja az osztályból már kiléptetett és majd a jövőben az osztálybasorolt tanulókat is
/// </summary>
public DataSet GetOsztalyCsoportMindenkoriTanuloiTanuloCsoportonkent(int osztalyCsoportId)
{
var commandParameterList = new List<CommandParameter>
{
new CommandParameter("pOsztalyCsoportId", osztalyCsoportId)
};
string commandText = @"
SELECT
TanuloCsoport.ID ID
,TanuloCsoport.C_BELEPESDATUM BelepesDatum
,TanuloCsoport.C_KILEPESDATUM KilepesDatum
,TanuloTanugyiAdatok.Id TanuloTanugyiAdatokId
,TanuloTanugyiAdatok.C_NAPLOSORSZAM Naplosorszam
,TanuloTanugyiAdatok.C_TORZSLAPSZAM Torzslapszam
,Felhasznalo.C_NYOMTATASINEV Nev
,IIF(Felhasznalo.C_NEVSORREND = 'T',
Felhasznalo.C_UTONEV + ' ' + Felhasznalo.C_VEZETEKNEV,
Felhasznalo.C_VEZETEKNEV + ' ' + Felhasznalo.C_UTONEV) NevElotagNelkul
,Felhasznalo.C_SZULETESIDATUM SzuletesiDatum
,Felhasznalo.C_ANYJANEVE AnyaNev
,Felhasznalo.C_OKTATASIAZONOSITO OktatasiAzonosito
FROM
T_TANULOCSOPORT_OSSZES TanuloCsoport
INNER JOIN
T_TANULOTANUGYIADATOK_OSSZES TanuloTanugyiAdatok ON
TanuloTanugyiAdatok.TOROLT = 'F'
AND TanuloTanugyiAdatok.C_TANULOCSOPORTID = TanuloCsoport.ID
INNER JOIN
T_FELHASZNALO_OSSZES Felhasznalo ON
Felhasznalo.TOROLT = 'F'
AND Felhasznalo.ID = TanuloCsoport.C_TANULOID
WHERE
TanuloCsoport.TOROLT = 'F'
AND TanuloCsoport.C_OSZTALYCSOPORTID = :pOsztalyCsoportId
";
DataSet dataSet = GetData(commandText, commandParameterList);
return dataSet;
}
public DataSet TanuloKereses(TanuloKeresesPCO 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 = pco.IsFromSzervezet ? "uspTanuloKeresesForSzervezet" : "uspTanuloKereses";
command.Parameters.Add("pDatum", pco.LekerdezesNapja);
if (pco.IsFromSzervezet)
{
command.Parameters.Add("pSzervezetId", pco.SzervezetId);
command.Parameters.Add("pSzervezetNev", pco.SzervezetNev);
command.Parameters.Add("pSzervezetAzonosito", pco.SzervezetAzonosito);
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = pco.IntezmenyId;
command.Parameters.Add("pSzervezetekHalmaza", SDADBType.Int).Value = (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek;
}
else
{
command.Parameters.Add("pTanuloBelepesNelkul", pco.TanuloBelepesNelkul.ToBit());
command.Parameters.Add("pNincsAllampolgarsag", pco.NincsAllampolgarsag.HasValue && pco.NincsAllampolgarsag.Value ? (int)AllampolgarsagEnum.na : (int?)null);
command.Parameters.Add("pNincsAnyanyelv", pco.NincsAnyanyelv.HasValue && pco.NincsAnyanyelv.Value ? (int)AnyanyelvEnum.na : (int?)null);
command.Parameters.Add("pFelvetelEve", pco.FelvetelEve);
command.Parameters.Add("pNincsOsztondijAlapAdat", pco.NincsOsztondijAlapAdat.ToBit());
command.Parameters.Add("pNincsOsztondijUtalasAdat", pco.NincsOsztondijUtalasAdat.ToBit());
command.Parameters.Add("pVanKettosOsztalybesorolas", pco.VanKettosOsztalybesorolas.ToBit());
}
command.Parameters.Add("pTanevId", pco.TanevId);
foreach (var item in pco.ExtractParameters(pco.IsFromSzervezet))
{
command.Parameters.Add(item.Name, item.Value);
}
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
}
DataTable dataTable = ds.Tables[0];
if (!pco.IsFromSzervezet)
{
SetDNAME(dataTable, "MuveszetiAgId");
SetBoolFields(dataTable, "Tankotelezett,IsArchivalt");
}
DataTable result = SortingAndPaging(dataTable, GridParameters);
return result.AsDataSet();
}
#region Export
public DataSet GetTanulokLakcimmel(int intezmenyId, int tanevId, TanuloKeresesPCO pco, bool isShowId = false)
{
string tanuloAlias = "tanulo";
string felhasznaloAlias = "felhasznalo";
string osztalycsoportAlias = "OsztalyCsoport";
string tanuloTanugyiadatokAlias = "tta";
var showId = isShowId ? $",{felhasznaloAlias}.ID AS FelhasznaloId" : string.Empty;
List<CommandParameter> paramlist = new List<CommandParameter>();
paramlist.Add(new CommandParameter(nameof(intezmenyId), intezmenyId));
paramlist.Add(new CommandParameter(nameof(tanevId), tanevId));
paramlist.Add(new CommandParameter(nameof(pco.LekerdezesNapja), pco.LekerdezesNapja));
StringBuilder CommandText = new StringBuilder($@"
SELECT DISTINCT
{felhasznaloAlias}.C_ELOTAG AS '{TanuloResource.Elotag}'
,{felhasznaloAlias}.C_VEZETEKNEV AS '{TanuloResource.Vezeteknev}'
,{felhasznaloAlias}.C_UTONEV AS '{TanuloResource.UtoNev}'
,{felhasznaloAlias}.C_OKTATASIAZONOSITO AS '{TanuloResource.OktatasiAzonosito}'
,Osztalyok.OsztalyNev AS '{TanuloResource.Osztaly}'
,CONVERT(nvarchar(25), {felhasznaloAlias}.C_SZULETESIDATUM, 102) AS 'Születési dátuma'
,{felhasznaloAlias}.C_ANYJANEVE AS '{TanuloResource.AnyjaNeve}'
,IIF({tanuloAlias}.C_KOLLEGIUMIELLATASOS = 'T', 'Igen', 'Nem') AS '{TanuloResource.KollegiumiEllatasos}'
,IIF(ISNULL({tanuloTanugyiadatokAlias}.C_BEJARO,{tanuloAlias}.C_BEJARO) = 'T', 'Igen', 'Nem') AS '{TanuloResource.Bejaro}'
,'{TanuloResource.Telefonszam}' = (
SELECT ISNULL(STUFF((
SELECT CHAR(10) + C_TELEFONSZAM
FROM T_TELEFON_OSSZES
WHERE C_FELHASZNALOID = tanulo.ID AND C_GONDVISELOID IS NULL AND TOROLT = 'F'
FOR XML PATH('')),1,1,''), '')
)
,'{TanuloResource.EmailCim}' = (
SELECT ISNULL(STUFF((
SELECT CHAR(10) + C_EMAILCIM
FROM T_EMAIL_OSSZES
WHERE C_FELHASZNALOID = tanulo.ID AND C_GONDVISELOID IS NULL AND TOROLT = 'F'
FOR XML PATH('')),1,1,''), '')
)
,ISNULL(lakcim_allando.C_IRANYITOSZAM, '') AS '{TanuloResource.AllandoLakcimIranyitoszam}'
,ISNULL(lakcim_allando.C_VAROS, '') AS '{TanuloResource.AllandoLakcimVaros}'
,ISNULL(lakcim_allando.C_KOZTERULET, '') AS '{TanuloResource.AllandoLakcimKozteruletNeve}'
,ISNULL(lakcim_allando.C_KOZTERULETJELLEGENEV, '') AS '{TanuloResource.AllandoLakcimKozteruletJellege}'
,ISNULL(lakcim_allando.C_HAZSZAM, '') AS '{TanuloResource.AllandoLakcimHazszam}'
,ISNULL(lakcim_allando.C_EMELET, '') AS '{TanuloResource.AllandoLakcimEmelet}'
,ISNULL(lakcim_allando.C_AJTO, '') AS '{TanuloResource.AllandoLakcimAjto}'
,ISNULL(lakcim_ideiglenes.C_IRANYITOSZAM, '') AS '{TanuloResource.IdeiglenesLakcimIranyitoszam}'
,ISNULL(lakcim_ideiglenes.C_VAROS, '') AS '{TanuloResource.IdeiglenesLakcimVaros}'
,ISNULL(lakcim_ideiglenes.C_KOZTERULET, '') AS '{TanuloResource.IdeiglenesLakcimKozteruletNeve}'
,ISNULL(lakcim_ideiglenes.C_KOZTERULETJELLEGENEV, '') AS '{TanuloResource.IdeiglenesLakcimKozteruletJellege}'
,ISNULL(lakcim_ideiglenes.C_HAZSZAM, '') AS '{TanuloResource.IdeiglenesLakcimHazszam}'
,ISNULL(lakcim_ideiglenes.C_EMELET, '') AS '{TanuloResource.IdeiglenesLakcimEmelet}'
,ISNULL(lakcim_ideiglenes.C_AJTO, '') AS '{TanuloResource.IdeiglenesLakcimAjto}'
,ISNULL(lakcim_tartozkodas.C_IRANYITOSZAM, '') AS '{TanuloResource.TartozkodasiHelyIranyitoszam}'
,ISNULL(lakcim_tartozkodas.C_VAROS, '') AS '{TanuloResource.TartozkodasiHelyVaros}'
,ISNULL(lakcim_tartozkodas.C_KOZTERULET, '') AS '{TanuloResource.TartozkodasiHelyKozteruletNeve}'
,ISNULL(lakcim_tartozkodas.C_KOZTERULETJELLEGENEV, '') AS '{TanuloResource.TartozkodasiHelyKozteruletJellege}'
,ISNULL(lakcim_tartozkodas.C_HAZSZAM, '') AS '{TanuloResource.TartozkodasiHelyHazszam}'
,ISNULL(lakcim_tartozkodas.C_EMELET, '') AS '{TanuloResource.TartozkodasiHelyEmelet}'
,ISNULL(lakcim_tartozkodas.C_AJTO, '') AS '{TanuloResource.TartozkodasiHelyAjto}'
,ISNULL(lakcim_intezmeny.C_IRANYITOSZAM, '') AS '{TanuloResource.IntezmenycimIranyitoszam}'
,ISNULL(lakcim_intezmeny.C_VAROS, '') AS '{TanuloResource.IntezmenycimVaros}'
,ISNULL(lakcim_intezmeny.C_KOZTERULET, '') AS '{TanuloResource.IntezmenycimKozteruletNeve}'
,ISNULL(lakcim_intezmeny.C_KOZTERULETJELLEGENEV, '') AS '{TanuloResource.IntezmenycimKozteruletJellege}'
,ISNULL(lakcim_intezmeny.C_HAZSZAM, '') AS '{TanuloResource.IntezmenycimHazszam}'
,ISNULL(lakcim_intezmeny.C_EMELET, '') AS '{TanuloResource.IntezmenycimEmelet}'
,ISNULL(lakcim_intezmeny.C_AJTO, '') AS '{TanuloResource.IntezmenycimAjto}'
,ISNULL(lakcim_na.C_IRANYITOSZAM, '') AS '{TanuloResource.IsmeretlenLakcimIranyitoszam}'
,ISNULL(lakcim_na.C_VAROS, '') AS '{TanuloResource.IsmeretlenLakcimVaros}'
,ISNULL(lakcim_na.C_KOZTERULET, '') AS '{TanuloResource.IsmeretlenLakcimKozteruletNeve}'
,ISNULL(lakcim_na.C_KOZTERULETJELLEGENEV, '') AS '{TanuloResource.IsmeretlenLakcimKozteruletJellege}'
,ISNULL(lakcim_na.C_HAZSZAM, '') AS '{TanuloResource.IsmeretlenLakcimHazszam}'
,ISNULL(lakcim_na.C_EMELET, '') AS '{TanuloResource.IsmeretlenLakcimEmelet}'
,ISNULL(lakcim_na.C_AJTO, '') AS '{TanuloResource.IsmeretlenLakcimAjto}'
{showId}
FROM T_TANULO_OSSZES {tanuloAlias}
INNER JOIN T_FELHASZNALO_OSSZES {felhasznaloAlias} ON {felhasznaloAlias}.ID = {tanuloAlias}.ID AND {tanuloAlias}.C_ALINTEZMENYID = {felhasznaloAlias}.C_INTEZMENYID AND {felhasznaloAlias}.C_TANEVID = {tanevId}
CROSS APPLY fnGetTanuloOsztalyString ({felhasznaloAlias}.ID, @{nameof(pco.LekerdezesNapja)}, @{nameof(pco.FeladatKategoriaId)}, 0, default, NULL) Osztalyok
LEFT JOIN (
SELECT
ocs.ID
,ocs.C_FELADATKATEGORIAID
,ocs.C_NEV
,tcs.C_TANULOID as TanuloId
,tcs.ID as TanuloCsoportId
,o.ID as OsztalyID
,ocs.C_EVFOLYAMTIPUSA
,ocs.C_VEGZOSEVFOLYAM
,ocs.C_FELADATELLATASIHELYID
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND (ocs.C_FELADATKATEGORIAID = @{nameof(pco.FeladatKategoriaId)} OR @{nameof(pco.FeladatKategoriaId)} IS NULL) AND ocs.TOROLT='F'
LEFT JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND o.TOROLT = 'F'
WHERE tcs.TOROLT = 'F'
AND tcs.C_TANEVID = {tanevId}
AND tcs.C_BELEPESDATUM <= " + (pco.IsAktivTanev ? @"GETDATE() " : $@" CONVERT(date,@{nameof(pco.LekerdezesNapja)}) ") + @"
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > " + (pco.IsAktivTanev ? @"GETDATE() " : $@" CONVERT(date,@{nameof(pco.LekerdezesNapja)}) ") + $@")
) {osztalycsoportAlias} ON {osztalycsoportAlias}.TanuloId={tanuloAlias}.Id
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES {tanuloTanugyiadatokAlias} ON {tanuloTanugyiadatokAlias}.C_TANULOCSOPORTID = {osztalycsoportAlias}.TanuloCsoportId
LEFT JOIN T_CIM_OSSZES lakcim_allando ON lakcim_allando.TOROLT = 'F' AND lakcim_allando.C_GONDVISELOID IS NULL AND lakcim_allando.C_FELHASZNALOID = {tanuloAlias}.ID AND lakcim_allando.C_CIMTIPUSA = 907
LEFT JOIN T_CIM_OSSZES lakcim_tartozkodas ON lakcim_tartozkodas.TOROLT = 'F' AND lakcim_tartozkodas.C_GONDVISELOID IS NULL AND lakcim_tartozkodas.C_FELHASZNALOID = {tanuloAlias}.ID AND lakcim_tartozkodas.C_CIMTIPUSA = 909
LEFT JOIN T_CIM_OSSZES lakcim_ideiglenes ON lakcim_ideiglenes.TOROLT = 'F' AND lakcim_ideiglenes.C_GONDVISELOID IS NULL AND lakcim_ideiglenes.C_FELHASZNALOID = {tanuloAlias}.ID AND lakcim_ideiglenes.C_CIMTIPUSA = 908
LEFT JOIN T_CIM_OSSZES lakcim_intezmeny ON lakcim_intezmeny.TOROLT = 'F 'AND lakcim_intezmeny.C_GONDVISELOID IS NULL AND lakcim_intezmeny.C_FELHASZNALOID = {tanuloAlias}.ID AND lakcim_intezmeny.C_CIMTIPUSA = 910
LEFT JOIN T_CIM_OSSZES lakcim_na ON lakcim_na.TOROLT = 'F' AND lakcim_na.C_GONDVISELOID IS NULL AND lakcim_na.C_FELHASZNALOID = {tanuloAlias}.ID AND lakcim_na.C_CIMTIPUSA = 906
WHERE {tanuloAlias}.C_ALINTEZMENYID = {intezmenyId}
AND {felhasznaloAlias}.TOROLT = 'F'
AND {tanuloAlias}.TOROLT = 'F'
AND {tanuloAlias}.C_ALTANEVID = {tanevId}
AND (@FeladatKategoriaId IS NULL OR OsztalyCsoport.ID IS NOT NULL)
");
if (!pco.OsztalyId.HasValue)
{
CommandText.Append(" AND (OsztalyCsoport.TanuloCsoportId IS NULL OR OsztalyCsoport.OsztalyID IS NOT NULL)");
}
// whereClause kifejtése:
CommandText.Append(pco.ToWhereClause(paramlist, osztalycsoportAlias, tanuloAlias, felhasznaloAlias, tanuloTanugyiadatokAlias));
//order csatolása
CommandText.Append($" ORDER BY {felhasznaloAlias}.C_VEZETEKNEV, {felhasznaloAlias}.C_UTONEV");
DataSet ds = GetData(CommandText.ToString(), paramlist);
return ds;
}
public DataSet GetGondviselokElerhetosegei(int tanevId, TanuloKeresesPCO pco, bool isShowId = false)
{
var kovetkezoTanev = pco.LekerdezesNapja > DateTime.Now;
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetGondviselokElerhetosegeiExport";
command.Parameters.Add("pTanevId", tanevId);
foreach (var item in pco.ExtractParameters())
{
command.Parameters.Add(item.Name, item.Value);
}
if (kovetkezoTanev)
{
command.Parameters.Add("pDatum", pco.LekerdezesNapja);
}
if (isShowId)
{
command.Parameters.Add("pShowId", true);
}
var dts = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(dts);
}
return dts;
}
}
public DataSet GetTanulokTanugyiAdatai(int tanevId, TanuloKeresesPCO pco, DateTime datum)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetTanulokTanugyiAdatai";
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pTorolt", pco.Torolt ? 'T' : 'F');
if (pco.FeladatKategoriaId.HasValue)
{
command.Parameters.Add("pFeladatKategoriaId", pco.FeladatKategoriaId.Value);
}
if (pco.TanterviJellegSearchId.HasValue)
{
command.Parameters.Add("pTanterviJellegId", pco.TanterviJellegSearchId.Value);
}
command.Parameters.Add("pDatum", datum);
command.Parameters.Add("pOsztalyId", pco.OsztalyId);
var dataSet = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(dataSet);
}
var dataTable = dataSet.Tables[0];
SetDNAME(dataTable, "JogviszonyTipusId");
var columnIndex = dataTable.Columns.IndexOf("JogviszonyTipusId");
dataTable.Columns.Remove("JogviszonyTipusId");
dataTable.Columns["JogviszonyTipusId_DNAME"].SetOrdinal(columnIndex);
dataTable.Columns["JogviszonyTipusId_DNAME"].ColumnName = TanuloResource.TanuloJogviszonya;
return dataSet;
}
}
public DataSet GetTanulokTantargyaiEsPedagogusaiExcelExport(int tanevId, TanuloKeresesPCO pco)
{
var kovetkezoTanev = pco.LekerdezesNapja > DateTime.Now;
DateTime? datum;
if (!kovetkezoTanev)
{
datum = DateTime.Now;
}
else
{
datum = pco.LekerdezesNapja;
}
int amiKategoriaId = (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas;
var dts = new DataSet();
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetTanulokTantargyaiEsPedagogusaiExcelExport";
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pAmiKategoriaId", amiKategoriaId);
if (pco.FeladatKategoriaId.IsEntityId())
{
command.Parameters.Add("pFeladatkategoriaId", pco.FeladatKategoriaId.Value);
}
command.Parameters.Add("pDatum", datum);
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(dts);
}
return dts;
}
}
public DataSet GetTanuloKirStatExport(int tanevId, TanuloKeresesPCO pco)
{
/*TODO:Tobb Osztaly*//*OM-1635*/
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 = "uspGetTanuloKirStatExport";
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pForOktober", pco.ForOktober.ToSDABoolean());
command.Parameters.Add("pAktiv", pco.Aktiv.ToSDABoolean());
if (!string.IsNullOrWhiteSpace(pco.Nev))
{
command.Parameters.Add("pNev", pco.Nev);
}
if (pco.NincsNem.HasValue && pco.NincsNem.Value)
{
command.Parameters.Add("pNem", NemEnum.NA);
}
else if (pco.Neme.HasValue)
{
command.Parameters.Add("pNem", pco.Neme.Value);
}
if (pco.SzuletesiIdoKezdet.HasValue)
{
command.Parameters.Add("pSzuletesiIdoKezdet", pco.SzuletesiIdoKezdet.Value);
}
if (pco.SzuletesiIdoVeg.HasValue)
{
command.Parameters.Add("pSzuletesiIdoveg", pco.SzuletesiIdoVeg.Value);
}
if (!string.IsNullOrWhiteSpace(pco.AnyjaNeve))
{
command.Parameters.Add("pAnyjaNeve", pco.AnyjaNeve);
}
if (!string.IsNullOrWhiteSpace(pco.SzuletesiHely))
{
command.Parameters.Add("pSzuletesiHely", pco.SzuletesiHely);
}
if (!string.IsNullOrWhiteSpace(pco.OktatasiAzonosito))
{
command.Parameters.Add("pOktatasiAzonosito", pco.OktatasiAzonosito);
}
if (pco.OsztalyId.IsEntityId())
{
command.Parameters.Add("pOsztalyId", pco.OsztalyId.Value);
}
if (pco.Vegzos.HasValue)
{
command.Parameters.Add("pVegzos", pco.Vegzos.Value.ToSDABoolean());
}
if (pco.SNI.HasValue)
{
command.Parameters.Add("pSNI", pco.SNI.Value.ToSDABoolean());
}
if (pco.BTM.HasValue)
{
command.Parameters.Add("pBTM", pco.BTM.Value.ToSDABoolean());
}
if (pco.FeladatellatasiHelyId.IsEntityId())
{
command.Parameters.Add("pFeladatellatasiHelyId", pco.FeladatellatasiHelyId.Value);
}
if (pco.HatranyosHelyzetId.IsEntityId())
{
command.Parameters.Add("pHatranyosHelyzetId", pco.HatranyosHelyzetId.Value);
}
if (pco.EvfolyamId.IsEntityId())
{
command.Parameters.Add("pEvfolyamId", pco.EvfolyamId.Value);
}
if (pco.OsztalybaSoroltTantervNelkul.HasValue)
{
command.Parameters.Add("pOsztalybaSoroltTantervNelkul", pco.OsztalybaSoroltTantervNelkul.Value.ToSDABoolean());
}
if (pco.FeladatKategoriaId.IsEntityId())
{
command.Parameters.Add("pFeladatKategoriaId", pco.FeladatKategoriaId.Value);
}
if (pco.SearchMuveszetiAgId.IsEntityId())
{
command.Parameters.Add("pSearchMuveszetiAgId", pco.SearchMuveszetiAgId.Value);
}
if (pco.TanterviJellegSearchId.IsEntityId())
{
command.Parameters.Add("pTanterviJellegId", pco.TanterviJellegSearchId.Value);
}
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
}
if (ds.Tables[0].AsEnumerable().Any())
{
return ds.Tables[0].AsEnumerable().OrderBy(t => t.Field<string>(TanuloResource.Vezeteknev)).ThenBy(t => t.Field<string>(TanuloResource.UtoNev)).CopyToDataTable().AsDataSet();
}
return ds;
}
public DataSet GetTanulokMulasztasaiExcelExport(MulasztasKeresesePCO pco)
{
StringBuilder clause = new StringBuilder();
List<CommandParameter> parameters = new List<CommandParameter>();
if (pco.Tol.HasValue)
{
parameters.Add(new CommandParameter("pTol", pco.Tol.Value));
}
if (pco.Ig.HasValue)
{
parameters.Add(new CommandParameter("pIg", pco.Ig.Value));
}
if (pco.TanuloId.HasValue)
{
parameters.Add(new CommandParameter("pTanuloId", pco.TanuloId.Value));
clause.Append(" AND fh.ID = :pTanuloId");
}
if (!string.IsNullOrWhiteSpace(pco.TanuloNev))
{
parameters.Add(new CommandParameter("pTanulo", pco.TanuloNev));
clause.Append(" AND upper(fh.C_NYOMTATASINEV) like upper('%'+:pTanulo+'%') ");
}
if (pco.OsztCsop.HasValue)
{
parameters.Add(new CommandParameter("pOsztcsop", pco.OsztCsop));
}
if (pco.CsopTip.HasValue)
{
parameters.Add(new CommandParameter("pCsoptip", pco.CsopTip));
}
if (pco.Fogl.HasValue)
{
parameters.Add(new CommandParameter("pFogl", pco.Fogl));
}
if (pco.Targy.HasValue)
{
parameters.Add(new CommandParameter("pTargy", pco.Targy));
}
if (pco.OraId.HasValue)
{
parameters.Add(new CommandParameter("pOraID", pco.OraId.Value));
}
if (pco.MulTip.HasValue)
{
parameters.Add(new CommandParameter("pMulTip", pco.MulTip));
}
if (pco.KesIdo > 0)
{
parameters.Add(new CommandParameter("pKesIdo", pco.KesIdo));
}
if (pco.IgazolasTipus.HasValue)
{
parameters.Add(new CommandParameter(nameof(pco.IgazolasTipus), pco.IgazolasTipus));
}
if (pco.FeladatKategoriaId.IsEntityId())
{
parameters.Add(new CommandParameter(nameof(pco.FeladatKategoriaId), pco.FeladatKategoriaId.Value));
clause.Append($" AND ocs.C_FELADATKATEGORIAID = @{nameof(pco.FeladatKategoriaId)}");
}
if (pco.FeladatEllatasiHelyId.HasValue)
{
parameters.Add(new CommandParameter(nameof(pco.FeladatEllatasiHelyId), pco.FeladatEllatasiHelyId.Value));
clause.Append($" AND ocs.C_FELADATELLATASIHELYID = @{nameof(pco.FeladatEllatasiHelyId)}");
}
clause.Append(@" GROUP BY fh.ID, evfolyam.C_ORDER, tm.OsztId
ORDER BY evfolyam.C_ORDER,[Osztály/csoport neve],[Tanuló neve]
DROP TABLE #TanulokFilter");
/*TODO:Tobb Osztaly*//*OM-1636*/
var command = @"
CREATE TABLE #TanulokFilter(C_ORATANULOIID INT,C_IGAZOLT nVARCHAR(1),C_TIPUS INT,C_KESESPERCBEN INT,OsztID INT,CNT INT)
INSERT INTO #TanulokFilter (C_ORATANULOIID,C_IGAZOLT,C_TIPUS,C_KESESPERCBEN,OsztID,CNT)
SELECT
tm.C_ORATANULOIID,tm.C_IGAZOLT, tm.C_TIPUS,SUM(tm.C_KESESPERCBEN),ocs.ID AS OsztID,
COUNT(1) as CNT
FROM T_TANULOMULASZTAS tm
INNER JOIN T_TANITASIORA tora ON tora.ID = tm.C_TANITASIORAKID
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_OSZTALYCSOPORTID = tora.C_OSZTALYCSOPORTID AND tm.C_ORATANULOIID = tcs.C_TANULOID
AND (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > tora.C_DATUM) AND (tcs.C_BELEPESDATUM <= tora.C_DATUM)
INNER JOIN T_OSZTALYCSOPORT ocs on ocs.ID = tcs.C_OSZTALYCSOPORTID
INNER JOIN T_ORATULAJDONSAGTIPUS ottOnlineOra ON ottOnlineOra.ID = 8615
LEFT JOIN T_TANITASIORATULAJDONSAG totOnlineOra ON totOnlineOra.C_ORATULAJDONSAGID = ottOnlineOra.ID AND totOnlineOra.C_TANITASIORAID = tora.ID
WHERE (tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > tora.C_DATUM) AND (tcs.C_BELEPESDATUM <= tora.C_DATUM)" +
(pco.Tol.HasValue ? " AND tora.C_DATUM >= cast(:pTol as date) " : string.Empty) +
(pco.Ig.HasValue ? " AND tora.C_DATUM <= cast(:pIg as date) " : string.Empty) +
(pco.OsztCsop.HasValue ?
pco.IsKellKapcsolodoCsoportok ? " AND tora.C_OSZTALYCSOPORTID in (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(:pOsztcsop)) "
: " AND tora.C_OSZTALYCSOPORTID = :pOsztcsop "
: string.Empty) +
(pco.Fogl.HasValue ? " AND tora.C_FOGLALKOZASID = :pFogl " : string.Empty) +
(pco.Targy.HasValue ? " AND tora.C_TANTARGYID = :pTargy " : string.Empty) +
(pco.OraId.HasValue ? " AND tora.ID = :pOraID " : string.Empty) +
(pco.MulTip.HasValue ? " AND tm.C_TIPUS = :pMulTip " : string.Empty) +
(pco.KesIdo.HasValue ?
pco.KesIdo > 0 ? " AND tm.C_KESESPERCBEN <= :pKesIdo " : string.Empty
: string.Empty) +
(pco.IgazoltsagAllapota.HasValue ?
pco.IgazoltsagAllapota.Value == 0 ? " AND tm.C_IGAZOLT = 'F' "
: pco.IgazoltsagAllapota.Value == 1 ? " AND tm.C_IGAZOLT = 'T' "
: pco.IgazoltsagAllapota.Value == 2 ? " AND tm.C_IGAZOLT IS NULL "
: string.Empty
: string.Empty) +
(pco.IgazolasTipus.HasValue ? $" AND tm.C_IGAZOLASTIPUSA = @{nameof(pco.IgazolasTipus)}" : string.Empty) +
(!pco.IsNemBesoroltTanulokMulasztasainakMegjelenitese ? " AND tcs.C_BELEPESDATUM <= tora.C_DATUM AND(tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > tora.C_DATUM) " : string.Empty) +
(!pco.IsNemJelenlevoTanulokMegjelenitese ? " AND tm.C_TIPUS != 1817" : string.Empty) +
(pco.CsopTip.HasValue ?
pco.CsopTip.Value == (int)CsoportTipusEnum.iskolai_csoport_tanorai_celu_ ?
" AND EXISTS ( select 1 from T_CSOPORT " +
"INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_CSOPORT.ID " +
" where T_CSOPORT.TOROLT = 'F' and (T_CSOPORT.ID = tora.C_OSZTALYCSOPORTID OR T_CSOPORT.C_OSZTALYBONTASID = tora.C_OSZTALYCSOPORTID) and T_CSOPORT.C_TIPUSA = :pCsoptip) "
: " AND EXISTS ( select 1 from T_CSOPORT " +
"INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_CSOPORT.ID " +
" where T_CSOPORT.TOROLT = 'F' and T_CSOPORT.ID = tora.C_OSZTALYCSOPORTID and T_CSOPORT.C_TIPUSA = :pCsoptip) "
: string.Empty) +
(pco.IsOnlineOra.HasValue ? (" AND ISNULL(totOnlineOra.C_BOOLERTEK, ottOnlineOra.C_BOOLDEFAULT) = " + (pco.IsOnlineOra.ToBool() ? "'T'" : "'F'")) : string.Empty) +
@" GROUP BY tm.C_ORATANULOIID, ocs.ID,tm.C_TIPUS,tm.C_IGAZOLT
SELECT
MAX(fh.C_NYOMTATASINEV) as [Tanuló neve]
, MAX(ISNULL(tanuloOsztaly.Osztalynev,'')) as [Tanuló jelenlegi osztálya(i)]
, MAX(ISNULL(CONVERT(nvarchar(25), fh.C_SZULETESIDATUM, 102),'')) as [Születési idő]
, MAX(ISNULL(fh.C_OKTATASIAZONOSITO,'')) as [Tanuló azonosítója]
, MAX(ISNULL(ocs.C_NEV,'')) as [Osztály/csoport neve]
, ISNULL(SUM(IIF(tm.C_TIPUS = 1500,tm.CNT,0)),0) as [Összes hiányzás]
, ISNULL(SUM(IIF(tm.C_TIPUS = 1500 AND tm.C_IGAZOLT = 'T',tm.CNT,0)),0) as [Igazolt hiányzás]
, ISNULL(SUM(IIF(tm.C_TIPUS = 1500 AND tm.C_IGAZOLT = 'F',tm.CNT,0)),0) as [Igazolatlan hiányzás]
, ISNULL(SUM(IIF(tm.C_TIPUS = 1500 AND tm.C_IGAZOLT IS NULL,tm.CNT,0)),0) as [Igazolandó hiányzás]
, ISNULL(SUM(IIF(tm.C_TIPUS = 1499,tm.C_KESESPERCBEN,0)),0) as [Összes késés (perc)]
, ISNULL(SUM(IIF( tm.C_TIPUS = 1499 AND tm.C_IGAZOLT = 'T',tm.C_KESESPERCBEN,0)),0) as [Igazolt késés (perc)]
, ISNULL(SUM(IIF( tm.C_TIPUS = 1499 AND tm.C_IGAZOLT = 'F',tm.C_KESESPERCBEN,0)),0) as [Igazolatlan késés (perc)]
, ISNULL(SUM(IIF( tm.C_TIPUS = 1499 AND tm.C_IGAZOLT IS NULL,tm.C_KESESPERCBEN,0)),0) as [Igazolandó késés (perc)]
FROM T_FELHASZNALO fh
INNER JOIN #TanulokFilter tm ON fh.ID = tm.C_ORATANULOIID
CROSS APPLY fnGetTanuloOsztalyString(fh.ID, GETDATE(),default,default,default, NULL) tanuloOsztaly
LEFT JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tm.OsztID
LEFT JOIN T_DICTIONARYITEMBASE evfolyam ON evfolyam.ID = ocs.C_EVFOLYAMTIPUSA AND evfolyam.C_INTEZMENYID = ocs.C_INTEZMENYID
WHERE fh.TOROLT = 'F'
";
command += clause;
string commandText = command;
return GetData(commandText, parameters);
}
public DataSet GetTanorakonNemJelenlevokExcelExport(MulasztasKeresesePCO pco)
{
StringBuilder clause = new StringBuilder();
List<CommandParameter> parameters = new List<CommandParameter>();
if (pco.Tol.HasValue)
{
parameters.Add(new CommandParameter("pTol", pco.Tol.Value));
clause.Append(" AND o.C_DATUM >= cast(:pTol as date) ");
}
if (pco.Ig.HasValue)
{
parameters.Add(new CommandParameter("pIg", pco.Ig.Value));
clause.Append(" AND o.C_DATUM <= cast(:pIg as date) ");
}
if (pco.TanuloId.HasValue)
{
parameters.Add(new CommandParameter("pTanuloId", pco.TanuloId.Value));
clause.Append(" AND f.ID = :pTanuloId");
}
if (!string.IsNullOrWhiteSpace(pco.TanuloNev))
{
parameters.Add(new CommandParameter("pTanulo", pco.TanuloNev));
clause.Append(" AND upper(f.C_NYOMTATASINEV) like upper('%'+:pTanulo+'%') ");
}
if (pco.OsztCsop.HasValue)
{
parameters.Add(new CommandParameter("pOsztcsop", pco.OsztCsop));
if (pco.IsKellKapcsolodoCsoportok)
{
clause.Append(" AND o.C_OSZTALYCSOPORTID in (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(:pOsztcsop))");
}
else
{
clause.Append(" AND o.C_OSZTALYCSOPORTID = :pOsztcsop");
}
}
parameters.Add(new CommandParameter("pOktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas));
if (pco.CsopTip.HasValue)
{
parameters.Add(new CommandParameter("pCsoptip", pco.CsopTip));
if (pco.CsopTip.Value == (int)CsoportTipusEnum.iskolai_csoport_tanorai_celu_)
{
clause.Append(" AND EXISTS ( select 1 from T_CSOPORT " +
"INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_CSOPORT.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = :pOktNevKatTipus " +
" where T_CSOPORT.TOROLT = 'F' and (T_CSOPORT.ID = o.C_OSZTALYCSOPORTID OR T_CSOPORT.C_OSZTALYBONTASID = o.C_OSZTALYCSOPORTID) and T_CSOPORT.C_TIPUSA = :pCsoptip) ");
}
else
{
clause.Append(" AND EXISTS ( select 1 from T_CSOPORT " +
"INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_CSOPORT.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = :pOktNevKatTipus " +
" where T_CSOPORT.TOROLT = 'F' and T_CSOPORT.ID = o.C_OSZTALYCSOPORTID and T_CSOPORT.C_TIPUSA = :pCsoptip) ");
}
}
if (pco.Fogl.HasValue)
{
parameters.Add(new CommandParameter("pFogl", pco.Fogl));
clause.Append(" AND o.C_FOGLALKOZASID = :pFogl");
}
if (pco.Targy.HasValue)
{
parameters.Add(new CommandParameter("pTargy", pco.Targy));
clause.Append(" AND o.C_TANTARGYID = :pTargy");
}
if (pco.OraId.HasValue)
{
parameters.Add(new CommandParameter("pOraID", pco.OraId.Value));
clause.Append(" AND o.ID = :pOraID");
}
if (pco.MulTip.HasValue)
{
parameters.Add(new CommandParameter("pMulTip", pco.MulTip));
clause.Append(" AND tm.C_TIPUS = :pMulTip");
}
if (pco.KesIdo > 0)
{
parameters.Add(new CommandParameter("pKesIdo", pco.KesIdo));
clause.Append(" AND tm.C_KESESPERCBEN <= :pKesIdo");
}
if (pco.IgazoltsagAllapota.HasValue)
{
switch (pco.IgazoltsagAllapota)
{
case 0:
clause.Append(" AND tm.C_IGAZOLT = 'F' ");
break;
case 1:
clause.Append(" AND tm.C_IGAZOLT = 'T' ");
break;
case 2:
clause.Append(" AND tm.C_IGAZOLT IS NULL");
break;
}
}
if (pco.IgazolasTipus.HasValue)
{
parameters.Add(new CommandParameter(nameof(pco.IgazolasTipus), pco.IgazolasTipus));
clause.Append($" AND tm.C_IGAZOLASTIPUSA = @{nameof(pco.IgazolasTipus)}");
}
if (pco.FeladatKategoriaId.IsEntityId())
{
parameters.Add(new CommandParameter(nameof(pco.FeladatKategoriaId), pco.FeladatKategoriaId.Value));
clause.Append($" AND ocs.C_FELADATKATEGORIAID = @{nameof(pco.FeladatKategoriaId)}");
}
if (pco.FeladatEllatasiHelyId.HasValue)
{
parameters.Add(new CommandParameter(nameof(pco.FeladatEllatasiHelyId), pco.FeladatEllatasiHelyId.Value));
clause.Append($" AND ocs.C_FELADATELLATASIHELYID = @{nameof(pco.FeladatEllatasiHelyId)}");
}
if (pco.IsOnlineOra.HasValue)
{
clause.Append($" AND ISNULL(totOnlineOra.C_BOOLERTEK, ottOnlineOra.C_BOOLDEFAULT) = {(pco.IsOnlineOra.ToBool() ? "'T'" : "'F'")}");
}
clause.Append(" ORDER BY o.C_DATUM DESC");
string command = @"
SELECT
f.C_NYOMTATASINEV AS 'Tanuló neve'
,ISNULL(tanugyiAdatok.C_NEV,'') as 'Tanuló osztálya'
,ISNULL(CONVERT(nvarchar(25), f.C_SZULETESIDATUM, 102),'') as 'Születési idő'
,ISNULL(f.C_OKTATASIAZONOSITO,'') as 'Tanuló azonosítója'
,FORMAT(o.C_DATUM, 'yyyy.MM.dd.') AS 'Dátum'
,o.C_ORASZAM AS 'Óra'
,ocs.C_NEV AS 'Osztály/csoport'
,t.C_NEV AS 'Tantárgy'
,N'' AS 'Típus'
,ISNULL(tm.C_KESESPERCBEN, N'') AS 'Késés(perc)'
,IIF(tm.C_IGAZOLT = 'T', N'Igen', IIF(tm.C_IGAZOLT = 'F', N'Nem', N'')) AS 'Igazolt?'
,ISNULL(igazolasTipus.C_NAME, N'') AS 'Igazolás típusa'
,IIF(totOnlineOra.C_BOOLERTEK IS NOT NULL, 'Igen', 'Nem') AS 'On-line óra'
from T_TANULOMULASZTAS tm
LEFT JOIN (
T_TANITASIORA o
INNER JOIN T_ORATULAJDONSAGTIPUS ottOnlineOra ON ottOnlineOra.ID = 8615
LEFT JOIN T_TANITASIORATULAJDONSAG totOnlineOra ON totOnlineOra.C_ORATULAJDONSAGID = ottOnlineOra.ID AND totOnlineOra.C_TANITASIORAID = o.ID
) ON o.ID = tm.C_TANITASIORAKID
LEFT JOIN T_FELHASZNALO f on f.ID = tm.C_ORATANULOIID
LEFT JOIN
(SELECT tanulo.ID TanuloId, tta.C_TANKOTELEZETT, tcso.C_OSZTALYCSOPORTID OsztalyId, ocs.C_NEV AS C_NEV, ocs.C_MUVESZETIAGID
FROM T_TANULO_OSSZES tanulo
INNER JOIN T_TANULOCSOPORT_OSSZES tcso ON tcso.C_TANULOID = tanulo.ID AND tcso.TOROLT='F'
AND tcso.C_BELEPESDATUM <= GETDATE()
AND (tcso.C_KILEPESDATUM IS NULL OR tcso.C_KILEPESDATUM > GETDATE())
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcso.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' AND (ocs.C_FELADATKATEGORIAID = :pOktNevKatTipus OR :pOktNevKatTipus IS NULL)
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcso.ID AND tta.TOROLT='F'
) as tanugyiAdatok ON tanugyiAdatok.TanuloId = f.ID
LEFT JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = o.C_OSZTALYCSOPORTID
LEFT JOIN T_TANTARGY t ON t.ID = o.C_TANTARGYID
LEFT JOIN T_DICTIONARYITEMBASE igazolasTipus ON igazolasTipus.ID = tm.C_IGAZOLASTIPUSA
LEFT JOIN T_TANITASIORATULAJDONSAG_OSSZES onlineOra ON onlineOra.C_TANITASIORAID = o.ID AND onlineOra.TOROLT = 'F' AND onlineOra.C_ORATULAJDONSAGID = 8615 -- On-line óra
WHERE tm.TOROLT = 'F'
AND o.TOROLT = 'F'
AND tm.C_TIPUS = 1817
";
command += clause;
string commandText = command;
return GetData(commandText, parameters);
}
public DataSet GetTanulokJegyeiByErtekelesTipusExcelExport(int tanevId, int tipusId, TanuloErtekelesListPco tanuloErtekelesListPco)
{
var whereClause = new StringBuilder();
var commandParameterList = new List<CommandParameter>
{
new CommandParameter("pTanevId", tanevId),
new CommandParameter("pTipusId", tipusId),
tanuloErtekelesListPco.FeladatKategoriaId.IsEntityId() ?
new CommandParameter("OktNevKatTipus", tanuloErtekelesListPco.FeladatKategoriaId.Value) :
new CommandParameter("OktNevKatTipus", DBNull.Value)
};
if (tanuloErtekelesListPco.TanuloIds?.Count > 0 && tanuloErtekelesListPco.TanuloIds.All(x => x.IsEntityId()))
{
commandParameterList.Add(new CommandParameter("pTanuloIdsString", SqlLogic.ParseListToParameter(tanuloErtekelesListPco.TanuloIds)));
whereClause.Append(" AND tanuloErtekeles.C_TANULOID IN (SELECT value FROM STRING_SPLIT(@pTanuloIdsString, ',')) ");
}
if (tanuloErtekelesListPco.OsztalyCsoportId.HasValue)
{
commandParameterList.Add(new CommandParameter("pOsztalyCsoportId", tanuloErtekelesListPco.OsztalyCsoportId.Value));
if (tanuloErtekelesListPco.IsKellKapcsolodoCsoportok)
{
commandParameterList.Add(new CommandParameter("pKellKapcsolodoCsoportok", tanuloErtekelesListPco.IsKellKapcsolodoCsoportok));
whereClause.Append(@" AND tanuloErtekeles.C_OSZTALYCSOPORTID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(:pOsztalyCsoportId))
AND EXISTS (SELECT 1
FROM
T_TANULOCSOPORT tanuloCsoport
WHERE
tanuloCsoport.TOROLT = 'F'
AND tanuloCsoport.C_OSZTALYCSOPORTID = :pOsztalyCsoportId
AND tanuloCsoport.C_TANULOID = tanuloErtekeles.C_TANULOID) ");
}
else
{
whereClause.Append(" AND tanuloErtekeles.C_OSZTALYCSOPORTID = :pOsztalyCsoportId");
}
}
if (tanuloErtekelesListPco.CsoportTipusId.HasValue)
{
commandParameterList.Add(new CommandParameter("pCsoportTipusId", tanuloErtekelesListPco.CsoportTipusId.Value));
whereClause.Append(" AND csoport.C_TIPUSA = :pCsoportTipusId");
}
if (tanuloErtekelesListPco.TantargyUids?.Count > 0)
{
commandParameterList.Add(new CommandParameter("pTantargyUidsString", SqlLogic.ParseListToParameter(tanuloErtekelesListPco.TantargyUids)));
whereClause.Append(" AND tantargy.ID IN (SELECT value FROM STRING_SPLIT(@pTantargyUidsString, ',')) ");
}
if (tanuloErtekelesListPco.ErtekeloId.HasValue)
{
commandParameterList.Add(new CommandParameter("pErtekeloId", tanuloErtekelesListPco.ErtekeloId.Value));
whereClause.Append(" AND tanarFelhasznalo.ID = :pErtekeloId");
}
if (tanuloErtekelesListPco.OsztalyzatId.HasValue)
{
commandParameterList.Add(new CommandParameter("pOsztalyzatId", tanuloErtekelesListPco.OsztalyzatId.Value));
whereClause.Append(" AND (tanuloErtekeles.C_ERTEKELESOSZTALYZATID = :pOsztalyzatId OR tanuloErtekeles.C_MAGATARTASOSZTALYZATID = :pOsztalyzatId OR tanuloErtekeles.C_SZORGALOMOSZTALYZATID = :pOsztalyzatId)");
}
if (tanuloErtekelesListPco.ErtekelesModId.HasValue)
{
commandParameterList.Add(new CommandParameter("pErtekelesModId", tanuloErtekelesListPco.ErtekelesModId.Value));
whereClause.Append(" AND tanuloErtekeles.C_ERTEKELESMODID = :pErtekelesModId");
}
if (tanuloErtekelesListPco.DatumTol.HasValue)
{
commandParameterList.Add(new CommandParameter("pDatumTol", tanuloErtekelesListPco.DatumTol.Value));
whereClause.Append(" AND tanuloErtekeles.C_DATUM >= :pDatumTol");
}
if (tanuloErtekelesListPco.DatumIg.HasValue)
{
commandParameterList.Add(new CommandParameter("pDatumIg", tanuloErtekelesListPco.DatumIg.Value.Date.AddDays(1).AddSeconds(-1)));
whereClause.Append(" AND tanuloErtekeles.C_DATUM <= :pDatumIg");
}
if (tanuloErtekelesListPco.RogzitesDatumTol.HasValue)
{
commandParameterList.Add(new CommandParameter("pRogzitesDatumTol", tanuloErtekelesListPco.RogzitesDatumTol.Value));
whereClause.Append(" AND tanuloErtekeles.C_ROGZITESDATUM >= :pRogzitesDatumTol");
}
if (tanuloErtekelesListPco.RogzitesDatumIg.HasValue)
{
commandParameterList.Add(new CommandParameter("pRogzitesDatumIg", tanuloErtekelesListPco.RogzitesDatumIg.Value.Date.AddDays(1).AddSeconds(-1)));
whereClause.Append(" AND tanuloErtekeles.C_ROGZITESDATUM <= :pRogzitesDatumIg");
}
if (!string.IsNullOrWhiteSpace(tanuloErtekelesListPco.ErtekelesSzoveg))
{
commandParameterList.Add(new CommandParameter("pErtekelesSzoveg", tanuloErtekelesListPco.ErtekelesSzoveg.ToLowerInvariant()));
whereClause.Append(" AND (tanuloErtekeles.C_ERTEKELESSZOVEG LIKE '%' + :pErtekelesSzoveg + '%' OR tanuloErtekeles.C_MAGATARTASSZOVEG LIKE '%' + :pErtekelesSzoveg + '%' OR tanuloErtekeles.C_SZORGALOMSZOVEG LIKE '%' + :pErtekelesSzoveg + '%')");
}
if (!string.IsNullOrWhiteSpace(tanuloErtekelesListPco.ErtekelesTema))
{
commandParameterList.Add(new CommandParameter("pErtekelesTema", tanuloErtekelesListPco.ErtekelesTema.ToLowerInvariant()));
whereClause.Append(" AND tanuloErtekeles.C_ERTEKELESTEMA LIKE '%' + :pErtekelesTema + '%'");
}
if (tanuloErtekelesListPco.SpecialisOsztalyzatId.IsEntityId())
{
var egyszerAdhatoTanuloErtekelesTipusIdListString = string.Join(",", tanuloErtekelesListPco.EgyszerAdhatoTanuloErtekelesTipusIdList);
var jelesValue = (int)OsztalyzatTipusEnum.jeles_5_;
switch (tanuloErtekelesListPco.SpecialisOsztalyzatId.Value)
{
//NOTE: A leküldött adat már teljesen jól formázott, de a db-ben lehetnek rossz adatok. Az összehasonlításhoz ezt csináljuk:
// Kisbetűsítjük -> Lecseréljük a NO BREAK SPACE-eket, SPACE-ekre -> Lecseréljük az összes többszörös szóközt egyre -> Trimmelünk
case (int)SpecialisErtekelesOsztalyzatEnum.NemIrt:
whereClause.Append($@" AND (tanuloErtekeles.C_TIPUSID NOT IN ({egyszerAdhatoTanuloErtekelesTipusIdListString}) AND
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(tanuloErtekeles.C_ERTEKELESSZOVEG),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER('{TanuloErtekelesResource.NemIrt}') AND
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(tanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER('{TanuloErtekelesResource.NemIrtRovidNev}'))");
break;
case (int)SpecialisErtekelesOsztalyzatEnum.Dicseret:
whereClause.Append($@" AND (tanuloErtekeles.C_TIPUSID IN ({egyszerAdhatoTanuloErtekelesTipusIdListString}) AND
tanuloErtekeles.C_ERTEKELESOSZTALYZATID = {jelesValue} AND
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(tanuloErtekeles.C_ERTEKELESTEMA),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER('{TanuloErtekelesResource.Dicseret}'))");
break;
case (int)SpecialisErtekelesOsztalyzatEnum.Kituno:
whereClause.Append($@" AND (tanuloErtekeles.C_TIPUSID IN ({egyszerAdhatoTanuloErtekelesTipusIdListString}) AND
tanuloErtekeles.C_ERTEKELESOSZTALYZATID = {jelesValue} AND
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(tanuloErtekeles.C_ERTEKELESTEMA),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER('{TanuloErtekelesResource.Kituno}'))");
break;
case (int)SpecialisErtekelesOsztalyzatEnum.Mentesitve:
whereClause.Append($@" AND (tanuloErtekeles.C_TIPUSID IN ({egyszerAdhatoTanuloErtekelesTipusIdListString}) AND
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(tanuloErtekeles.C_ERTEKELESSZOVEG),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER('{TanuloErtekelesResource.Mentesitve}') AND
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(tanuloErtekeles.C_ERTEKELESSZOVEGROVIDNEV),CHAR(160),CHAR(32)),CHAR(9),CHAR(32)),CHAR(32),'(¤¤)'),'¤)(¤',''),'(¤¤)',CHAR(32)) = LOWER('{TanuloErtekelesResource.MentesitveRovidNev}'))");
break;
}
}
if (tanuloErtekelesListPco.FeladatKategoriaId.IsEntityId())
{
commandParameterList.Add(new CommandParameter("pFeladatKategoriaId", tanuloErtekelesListPco.FeladatKategoriaId.Value));
whereClause.Append(" AND osztalyCsoport.C_FELADATKATEGORIAID = :pFeladatKategoriaId");
}
if (tanuloErtekelesListPco.FeladatEllatasiHelyId.IsEntityId())
{
commandParameterList.Add(new CommandParameter("pFeladatEllatasiHelyId", tanuloErtekelesListPco.FeladatEllatasiHelyId.Value));
whereClause.Append(" AND osztalyCsoport.C_FELADATELLATASIHELYID = :pFeladatEllatasiHelyId");
}
whereClause.Append(" ORDER BY tanuloFelhasznalo.C_NYOMTATASINEV");
const string command = @"
SELECT
tanuloFelhasznalo.C_NYOMTATASINEV 'Tanuló név'
,ISNULL(tanugyiAdatok.C_NEV,'') as 'Tanuló osztálya'
,ISNULL(CONVERT(nvarchar(25), tanuloFelhasznalo.C_SZULETESIDATUM, 102),'') as 'Születési idő'
,ISNULL(tanuloFelhasznalo.C_OKTATASIAZONOSITO,'') as 'Tanuló azonosítója',
ISNULL(tantargykategoria.C_NAME, ' - ') 'Tárgy kategória',
ISNULL(tantargy.C_NEV, ' - ') 'Tantárgy',
osztalyCsoport.C_NEV 'Osztály/Csoport név',
tanarFelhasznalo.C_NYOMTATASINEV 'Pedagógus név',
ISNULL(tanuloErtekeles.C_ERTEKELESTEMA, ' - ') 'Téma',
ISNULL(ertekelesmod.C_NAME, ' - ') 'Értékelés módja',
ISNULL(osztalyzat.C_NAME, ' - ') 'Osztályzat',
osztalyzat.C_VALUE 'Jegy',
ISNULL(tanuloErtekeles.C_ERTEKELESSZOVEG, ' - ') 'Szöveges értékelés',
tanuloErtekeles.C_ERTEKELESSZAZALEK 'Százalékos értékelés',
ISNULL(magatartas.C_NAME, ' - ') 'Magatartás',
ISNULL(szorgalom.C_NAME, ' - ') 'Szorgalom',
FORMAT(tanuloErtekeles.C_DATUM, 'yyyy.MM.dd.') 'Bejegyzés dátuma',
FORMAT(tanuloErtekeles.C_ROGZITESDATUM, 'yyyy.MM.dd.') 'Rögzítés dátuma',
tantargy.C_TARGYKATEGORIA,
tanuloErtekeles.C_ERTEKELESOSZTALYZATID
FROM
T_TANULOERTEKELES_OSSZES tanuloErtekeles
INNER JOIN
T_FELHASZNALO_OSSZES tanuloFelhasznalo ON
tanuloFelhasznalo.ID = tanuloErtekeles.C_TANULOID
AND tanuloFelhasznalo.C_TANEVID = tanuloErtekeles.C_TANEVID
AND tanuloFelhasznalo.TOROLT = 'F'
LEFT JOIN
(SELECT tanulo.ID TanuloId, tta.C_TANKOTELEZETT, tcso.C_OSZTALYCSOPORTID OsztalyId, ocs.C_NEV AS C_NEV, ocs.C_MUVESZETIAGID
FROM T_TANULO_OSSZES tanulo
INNER JOIN T_TANULOCSOPORT_OSSZES tcso ON tcso.C_TANULOID = tanulo.ID AND tcso.TOROLT='F'
AND tcso.C_BELEPESDATUM <= GETDATE()
AND (tcso.C_KILEPESDATUM IS NULL OR tcso.C_KILEPESDATUM > GETDATE())
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcso.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' AND (ocs.C_FELADATKATEGORIAID = @OktNevKatTipus OR @OktNevKatTipus IS NULL)
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcso.ID AND tta.TOROLT='F'
) as tanugyiAdatok ON tanugyiAdatok.TanuloId = tanuloFelhasznalo.ID and tanugyiAdatok.OsztalyId = tanuloErtekeles.C_OSZTALYCSOPORTID
LEFT JOIN
T_TANTARGY_OSSZES tantargy ON
tantargy.ID = tanuloErtekeles.C_TANTARGYID
AND tantargy.C_TANEVID = tanuloErtekeles.C_TANEVID
AND tantargy.TOROLT = 'F'
LEFT JOIN
T_DICTIONARYITEMBASE_OSSZES tantargykategoria ON
tantargykategoria.ID = tantargy.C_TARGYKATEGORIA
AND tantargykategoria.C_TANEVID = tanuloErtekeles.C_TANEVID
AND tantargykategoria.TOROLT = 'F'
INNER JOIN
T_OSZTALYCSOPORT_OSSZES osztalyCsoport ON
osztalyCsoport.ID = tanuloErtekeles.C_OSZTALYCSOPORTID
AND osztalyCsoport.C_TANEVID = tanuloErtekeles.C_TANEVID
AND osztalyCsoport.TOROLT = 'F'
AND (osztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus OR @OktNevKatTipus IS NULL)
LEFT JOIN T_CSOPORT_OSSZES csoport ON
csoport.C_ALTANEVID = tanuloErtekeles.C_TANEVID
AND csoport.TOROLT = 'F'
AND csoport.ID = osztalyCsoport.ID
INNER JOIN
T_FELHASZNALO_OSSZES tanarFelhasznalo ON
tanarFelhasznalo.ID = tanuloErtekeles.C_ERTEKELOID
AND tanarFelhasznalo.C_TANEVID = tanuloErtekeles.C_TANEVID
AND tanarFelhasznalo.TOROLT = 'F'
LEFT JOIN
T_DICTIONARYITEMBASE_OSSZES osztalyzat ON
osztalyzat.ID = tanuloErtekeles.C_ERTEKELESOSZTALYZATID
AND osztalyzat.C_TANEVID = tanuloErtekeles.C_TANEVID
AND osztalyzat.TOROLT = 'F'
LEFT JOIN
T_DICTIONARYITEMBASE_OSSZES ertekelesmod ON
ertekelesmod.ID = tanuloErtekeles.C_ERTEKELESMODID
AND ertekelesmod.C_TANEVID = tanuloErtekeles.C_TANEVID
AND ertekelesmod.TOROLT = 'F'
LEFT JOIN
T_DICTIONARYITEMBASE_OSSZES magatartas ON
magatartas.ID = tanuloErtekeles.C_MAGATARTASERTEKID
AND magatartas.C_TANEVID = tanuloErtekeles.C_TANEVID
AND magatartas.TOROLT = 'F'
LEFT JOIN
T_DICTIONARYITEMBASE_OSSZES szorgalom ON
szorgalom.ID = tanuloErtekeles.C_SZORGALOMERTEKID
AND szorgalom.C_TANEVID = tanuloErtekeles.C_TANEVID
AND szorgalom.TOROLT = 'F'
WHERE
tanuloErtekeles.C_TIPUSID = :pTipusId
AND tanuloErtekeles.C_TANEVID = :pTanevId
AND tanuloErtekeles.TOROLT = 'F'
";
string commandText = command + whereClause;
return GetData(commandText, commandParameterList);
}
#endregion
public List<int> GetElozoOranHianyzottTanulok(DateTime oraKezdetDatuma, int osztalyCsoportId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "sp_GetElozoOranHianyzottTanulok";
command.Parameters.Add("Datum", oraKezdetDatuma.Date);
command.Parameters.Add("OraKezdete", oraKezdetDatuma);
command.Parameters.Add("OsztalyCsoportId", osztalyCsoportId);
command.Parameters.Add("HianyzasTipus", (int)MulasztasTipusEnum.hianyzas);
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
var list = ds.Tables[0].AsEnumerable()
.Select(r => r.Field<int>("TanuloID"))
.ToList();
return list;
}
}
public DataSet GetKozossegiSzolgalat(int userId)
{
const string commandText = @"
SELECT
tksz.ID as ID
,tksz.C_KEZDETE as Kezdete
,tksz.C_MEGJEGYZES as Megjegyzes
,tksz.C_ORASZAM as Oraszam
,tksz.C_VEGE as Vege
,felh.C_NYOMTATASINEV as Alkalmazott
FROM T_TANULOKOZOSSEGISZOLGALAT_OSSZES tksz
JOIN T_FELHASZNALO_OSSZES felh on felh.ID = tksz.C_FELJEGYZOID
WHERE
tksz.TOROLT = 'F' AND tksz.C_TANULOID = :pUserId
";
var prams = new List<CommandParameter> { new CommandParameter("pUserId", userId) };
var ds = this.GetData(commandText, prams);
return ds;
}
public DataSet GetGondviseloUtolsoBelepes(int userId)
{
const string commandText = @"
SELECT DISTINCT
g.ID as ID
,g.C_NEV as GondviseloNev
,CONVERT(nvarchar(12), fb.C_UTOLSOBELEPES, 102) as UtolsoBelepes
FROM T_GONDVISELO g
LEFT JOIN T_FELHASZNALOBELEPES fb on fb.C_GONDVISELOID = g.ID AND fb.TOROLT = 'F'
WHERE
g.C_TANULOID = :pUserId
";
var prams = new List<CommandParameter> { new CommandParameter("pUserId", userId) };
var ds = this.GetData(commandText, prams);
return ds;
}
public DataSet GetTanuloElerhetosegekTel(int tanuloId, int tanevId)
{
string commandText = $@"
SELECT
t.ID as Id
,t.C_TELEFONSZAM as Text
FROM T_TELEFON_OSSZES t
WHERE
t.C_FELHASZNALOID = @{nameof(tanuloId)}
AND t.TOROLT = 'F'
AND C_TANEVID = @{nameof(tanevId)}
";
var prams = new List<CommandParameter> { new CommandParameter(nameof(tanuloId), tanuloId), new CommandParameter(nameof(tanevId), tanevId) };
var ds = this.GetData(commandText, prams);
return ds;
}
public DataSet GetTanuloElerhetosegekEmail(int tanuloId, int tanevId)
{
string commandText = $@"
SELECT
e.ID as Id
,e.C_EMAILCIM as Text
FROM T_EMAIL_OSSZES e
WHERE
e.C_FELHASZNALOID = @{nameof(tanuloId)}
AND e.TOROLT = 'F'
AND e.C_TANEVID = @{nameof(tanevId)}
";
var prams = new List<CommandParameter> { new CommandParameter(nameof(tanuloId), tanuloId), new CommandParameter(nameof(tanevId), tanevId) };
var ds = this.GetData(commandText, prams);
return ds;
}
public DataSet GetCsoportbolMaTorlendoTanulok()
{
var command = @"select C_TANULOID ID,
C_OSZTALYCSOPORTID OsztCsopID
from T_TANULOCSOPORT
WHERE
TOROLT = 'F' and
C_KILEPESDATUM = cast(GETDATE() as date)
";
return this.GetData(command);
}
public DataSet GetTanulokByOsztalyfonokForDDL(int ofoId)
{
List<CommandParameter> p = new List<CommandParameter>(); ///TODO @DevKornél: refact Obj. inittel
p.Add(new CommandParameter("pOfoID", ofoId));
p.Add(new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas));
var command = @"select
T_FELHASZNALO.ID,
T_FELHASZNALO.C_NYOMTATASINEV Nev
FROM T_TANULOCSOPORT
inner join T_FELHASZNALO on T_FELHASZNALO.ID = T_TANULOCSOPORT.C_TANULOID and T_FELHASZNALO.TOROLT = 'F'
inner join T_OSZTALY on T_OSZTALY.ID = T_TANULOCSOPORT.C_OSZTALYCSOPORTID and T_OSZTALY.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = T_OSZTALY.ID AND OsztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus
where T_TANULOCSOPORT.TOROLT = 'F'
and T_TANULOCSOPORT.C_BELEPESDATUM < GETDATE()
and (T_TANULOCSOPORT.C_KILEPESDATUM is null or T_TANULOCSOPORT.C_KILEPESDATUM > GETDATE())
and T_OSZTALY.C_OSZTALYFONOKID = :pOfoID
ORDER BY IIF(T_FELHASZNALO.C_NEVSORREND = 'T', T_FELHASZNALO.C_UTONEV + ' ' + T_FELHASZNALO.C_VEZETEKNEV, T_FELHASZNALO.C_VEZETEKNEV + ' ' + T_FELHASZNALO.C_UTONEV)";
return this.GetData(command, p);
}
public DataSet GetBesorolasTobbesModTanuloValidationItems(List<int> tanuloCsoportIdList = null)
{
List<CommandParameter> p = new List<CommandParameter>();
var command = @"
SELECT tcs.ID as 'Id'
,felhasznalo.C_NYOMTATASINEV as 'Nev'
,tcs.C_KILEPESDATUM as 'KilepesDatum'
,tcs.C_TANULOID as 'TanuloId'
,tcs.C_OSZTALYCSOPORTID as 'OsztalyCsoportId'
FROM T_TANULOCSOPORT tcs
join T_FELHASZNALO felhasznalo on felhasznalo.ID = tcs.C_TANULOID
WHERE tcs.ID in (" + string.Join(",", tanuloCsoportIdList.ToArray()) + ")";
return this.GetData(command, p);
}
public DataSet GetTanulokGondviseloiDDL(int tanuloId)
{
List<CommandParameter> p = new List<CommandParameter>(); ///TODO @DevKornél: refact Obj. inittel
p.Add(new CommandParameter("pTanuloId", tanuloId));
var command = @"
SELECT
ID
,C_NEV Nev
FROM
T_GONDVISELO_OSSZES
WHERE
TOROLT = 'F'
--AND C_AKTIV = 'T'
AND C_TANULOID = :pTanuloId
";
return this.GetData(command, p);
}
public DataSet GetTanulokFelmentesei(IEnumerable<int> tanuloIds, int tanevId, bool isFromSzervezet = false, int? tantargyId = null, int? dualisKepzesTantargyId = null)
{
var p = new List<CommandParameter>
{
new CommandParameter("pTanevId", tanevId)
};
if (dualisKepzesTantargyId.HasValue)
{
tantargyId = dualisKepzesTantargyId;
}
if (tantargyId != null)
{
p.Add(new CommandParameter("pTantargyId", tantargyId));
}
var command = @"
SELECT
T_TANULOMENTESSEG_OSSZES.C_TANULOID TanuloId
,T_TANULOMENTESSEG_OSSZES.ID
,T_TANULOMENTESSEG_OSSZES.C_TANTARGYID AS TantargyId
,T_TANTARGY_OSSZES.C_NEV AS TantargyNev
,T_TANULOMENTESSEG_OSSZES.C_ERTEKELESMENTESITES AS ErtekelesMentesites
,T_TANULOMENTESSEG_OSSZES.C_ORAMENTESITES AS OraMentesites
,T_TANULOMENTESSEG_OSSZES.C_MENTESSEGOKA AS FelmentesOka
,T_TANULOMENTESSEG_OSSZES.C_KEZDETE AS Kezdete
,T_TANULOMENTESSEG_OSSZES.C_VEGE AS Vege
,T_TANULOMENTESSEG_OSSZES.C_SZOVEGESENERTEKELHETO AS SzovegesenErtekelheto
FROM T_TANULOMENTESSEG_OSSZES
INNER JOIN T_TANTARGY_OSSZES ON T_TANTARGY_OSSZES.ID = T_TANULOMENTESSEG_OSSZES.C_TANTARGYID and T_TANTARGY_OSSZES.TOROLT = 'F'
WHERE T_TANULOMENTESSEG_OSSZES.TOROLT = 'F'
AND T_TANULOMENTESSEG_OSSZES.C_TANEVID = :pTanevId
" + (tanuloIds.Any() ? "AND T_TANULOMENTESSEG_OSSZES.C_TANULOID IN (" + string.Join(",", tanuloIds.ToArray()) + ")" : string.Empty)
+ (tantargyId != null ? @" AND T_TANULOMENTESSEG_OSSZES.C_TANTARGYID " + (!isFromSzervezet ? "<>" : "=") + @" :pTantargyId " : "");
return GetData(command, p, "", "ErtekelesMentesites,OraMentesites,SzovegesenErtekelheto");
}
public DataSet GetTantargyFelosztasokByTanuloId(int tanuloId, int tanevId, int? tanarId = null, int? osztalyCsoportId = null, int? tantargyId = null, double? oraszam = null, DateTime? datum = null, int? feladatellatasihelyId = null, int? feladatKategoriaId = null)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetTantargyFelosztasokByTanuloId";
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pTanuloId", tanuloId);
command.Parameters.Add("pDatum", datum);
command.Parameters.Add("pFeladatellatasihelyId", feladatellatasihelyId);
command.Parameters.Add("pFeladatKategoriaId", feladatKategoriaId);
command.Parameters.Add("pTanarId", tanarId);
command.Parameters.Add("pOsztalyCsoportId", osztalyCsoportId);
command.Parameters.Add("pTantargyId", tantargyId);
command.Parameters.Add("pOraszam", oraszam);
var dts = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(dts);
}
DataTable dt = SortingAndPaging(dts.Tables[0], GridParameters);
return dt.AsDataSet();
}
}
public List<int> GetTanuloMulasztasaiFelmentesRogziteshez(int tanuloId, int tantargyId, bool egeszEvre = false)
{
List<CommandParameter> p = new List<CommandParameter>(); ///TODO @DevKornél: refact Obj. inittel
p.Add(new CommandParameter("pTanuloId", tantargyId));
p.Add(new CommandParameter("pTanTargyId", tantargyId));
StringBuilder command = new StringBuilder(@"select
T_TANULOMULASZTAS.ID
from T_TANULOMULASZTAS
inner join T_TANITASIORA on T_TANITASIORA.ID = T_TANULOMULASZTAS.C_TANITASIORAKID and T_TANITASIORA.TOROLT = 'F'
inner join T_TANULOMENTESSEG on T_TANULOMENTESSEG.C_TANULOID = T_TANULOMULASZTAS.C_ORATANULOIID and
T_TANULOMENTESSEG.C_TANTARGYID = T_TANITASIORA.C_TANTARGYID and
T_TANULOMENTESSEG.TOROLT = 'F'
where T_TANULOMULASZTAS.TOROLT = 'F'
and T_TANULOMULASZTAS.C_ORATANULOIID = :pTanuloId
and T_TANITASIORA.C_TANTARGYID = :pTanTargyId ");
if (egeszEvre)
{
command.Append(@" and (T_TANULOMENTESSEG.C_KEZDETE is null and
T_TANULOMENTESSEG.C_VEGE is null and
T_TANULOMENTESSEG.C_TANEVID = T_TANITASIORA.C_TANEVID) ");
}
else
{
command.Append(@" and ((T_TANULOMENTESSEG.C_KEZDETE is not null and T_TANULOMENTESSEG.C_KEZDETE <= T_TANITASIORA.C_ORAKEZDETE) or
(T_TANULOMENTESSEG.C_VEGE is not null and T_TANULOMENTESSEG.C_VEGE >= T_TANITASIORA.C_ORAVEGE)) ");
}
var ds = this.GetData(command.ToString(), p);
return ds.Tables[0].Rows.Count > 0 ? ds.Tables[0].AsEnumerable().Select(x => x.Field<int>("ID")).ToList() : new List<int>();
}
#region Besorolás listák
public DataSet GetTanulokEsOsztalyokCsoportokGrid(BesorolasSearchPCO pco, bool isCsoport = false)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetTanulokEsOsztalyokCsoportokGrid";
command.Parameters.Add("pTanevId", pco.TanevId);
command.Parameters.Add("pTanuloSrc", pco.TanuloSrc);
if (pco.OsztalyId.HasValue)
{
command.Parameters.Add("pOsztalyId", pco.OsztalyId);
}
else
{
command.Parameters.Add("pOsztalyId", DBNull.Value);
}
if (pco.CsoportId.HasValue)
{
command.Parameters.Add("pCsoportId", pco.CsoportId);
}
else
{
command.Parameters.Add("pCsoportId", DBNull.Value);
}
if (pco.OktNevelesiKategoriaId.HasValue)
{
command.Parameters.Add("pFeladatKategoriaId", pco.OktNevelesiKategoriaId.Value);
}
else
{
command.Parameters.Add("pFeladatKategoriaId", DBNull.Value);
}
command.Parameters.Add("pBelepesiDatumTol", pco.BelepesiDatumTol);
command.Parameters.Add("pBelepesiDatumIg", pco.BelepesiDatumIg);
command.Parameters.Add("pKilepesiDatumTol", pco.KilepesiDatumTol);
command.Parameters.Add("pKilepesiDatumIg", pco.KilepesiDatumIg);
if (pco.ZaradekokSzamaTol.HasValue)
{
command.Parameters.Add("pZaradekokSzamaTol", pco.ZaradekokSzamaTol.Value);
}
else
{
command.Parameters.Add("pZaradekokSzamaTol", DBNull.Value);
}
if (pco.ZaradekokSzamaIg.HasValue)
{
command.Parameters.Add("pZaradekokSzamaIg", pco.ZaradekokSzamaIg.Value);
}
else
{
command.Parameters.Add("pZaradekokSzamaIg", DBNull.Value);
}
if (pco.KiVagyAtSorolasiZaradek.HasValue)
{
command.Parameters.Add("pKiVagyAtSorolasiZaradek", pco.KiVagyAtSorolasiZaradek.Value == 1);
}
else
{
command.Parameters.Add("pKiVagyAtSorolasiZaradek", DBNull.Value);
}
if (pco.NaplosorszamTol.HasValue)
{
command.Parameters.Add("pNaplosorszamTol", pco.NaplosorszamTol.Value);
}
else
{
command.Parameters.Add("pNaplosorszamTol", DBNull.Value);
}
if (pco.NaplosorszamIg.HasValue)
{
command.Parameters.Add("pNaplosorszamIg", pco.NaplosorszamIg.Value);
}
else
{
command.Parameters.Add("pNaplosorszamIg", DBNull.Value);
}
command.Parameters.Add("pTorzslapszam", pco.Torzslapszam);
command.Parameters.Add("pKileptetesiDatumTol", pco.KileptetesiDatumTol);
command.Parameters.Add("pKileptetesiDatumIg", pco.KileptetesiDatumIg);
command.Parameters.Add("pUtolsoModositasDatumTol", pco.UtolsoModositasDatumTol);
command.Parameters.Add("pUtolsoModositasDatumIg", pco.UtolsoModositasDatumIg);
command.Parameters.Add("pIsKiirt", pco.IsKiirt);
command.Parameters.Add("pIsZaradekBontott", pco.IsZaradekBontott);
command.Parameters.Add("pIsExport", pco.IsExport);
command.Parameters.Add("pIsImport", pco.IsImport);
command.Parameters.Add("pIsCsoport", isCsoport);
var dts = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(dts);
}
DataTable dt = SortingAndPaging(dts.Tables[0], GridParameters);
return dt.AsDataSet();
}
}
public DataSet GetNemBesoroltTanulok()
{
List<CommandParameter> parameters = new List<CommandParameter>();
var command = @"
SELECT
t.ID as ID
,f.C_NYOMTATASINEV as TanuloNev
,IIF(f.C_NEVSORREND = 'F',
f.C_VEZETEKNEV + ' ' + f.C_UTONEV,
f.C_UTONEV + ' ' + f.C_VEZETEKNEV) AS NevElotagNelkul
,f.C_SZULETESIDATUM as SzuletesiIdo
,f.C_SZULETESIHELY as SzuletesiHely
,f.C_ANYJANEVE as AnyjaNeve
FROM T_TANULO t
INNER JOIN T_FELHASZNALO f ON f.ID = t.ID AND f.TOROLT = 'F'
LEFT JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID = t.ID AND tcs.TOROLT = 'F'
WHERE
t.TOROLT = 'F' AND tcs.ID IS NULL
";
return this.GetData(command, parameters);
}
#endregion
public void UpdateTanuloCsoportBesorolasDatum(List<string> ids, int userId/*, DateTime aktTanevOkt1Datum*/, DateTime aktTanevSzept1Datum)
{
string whereCondition = string.Empty;
bool isFirstItem = true;
foreach (var item in ids)
{
if (isFirstItem)
{
whereCondition = "ID = " + item;
isFirstItem = false;
}
else
{
whereCondition += " OR ID = " + item;
}
}
var commandText = $@"
UPDATE
T_TANULOCSOPORT
SET
C_BELEPESDATUM = :pAktTanevSzept1Datum,
SERIAL = SERIAL + 1,
LASTCHANGED = GETDATE(),
MODIFIER = :pUserId
WHERE
TOROLT = 'F' AND
/*C_BELEPESDATUM < :pAktTanevOkt1Datum AND*/
(
{whereCondition}
)";
using (SDACommand command = DAUtil.CreateCommand(commandText))
{
/*command.Parameters.Add("pAktTanevOkt1Datum", SDADBType.DateTime).Value = aktTanevOkt1Datum;*/
command.Parameters.Add("pAktTanevSzept1Datum", SDADBType.DateTime).Value = aktTanevSzept1Datum;
command.Parameters.Add("pUserId", userId);
command.ExecuteNonQuery();
}
DalHelper.Commit();
}
public DataSet GetTanulokWithOutBelepesWithGondviselo(int intezmenyId, int tanevId, List<int> tanuloIdList, bool torolt = false)
{
var paramlist = new List<CommandParameter>
{
new CommandParameter("pTorolt", torolt ? 'T' : 'F'),
new CommandParameter("pIntezmenyId", intezmenyId),
new CommandParameter("pTanevId", tanevId)
,new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
};
string commandText = @"
SELECT
fh.ID C_TANULOID,
fh.C_NYOMTATASINEV C_TANULONEV,
fh.C_OKTATASIAZONOSITO C_OKTATASIAZONOSITO,
fh.C_SZULETESIDATUM C_SZULETESIDATUM,
tanuloOsztalyCsoport.C_NEV C_OSZTALYNEV,
NULL C_BEJELENTKEZESINEV,
NULL C_GONDVISELOID
FROM T_FELHASZNALO fh
INNER JOIN T_TANULO tanulo ON tanulo.ID = fh.ID
LEFT JOIN (
SELECT C_TANULOID, C_OSZTALYCSOPORTID, C_NEV
FROM T_TANULOCSOPORT tanuloCsoport
INNER JOIN T_OSZTALY osztaly ON osztaly.ID = tanuloCsoport.C_OSZTALYCSOPORTID
INNER JOIN T_OSZTALYCSOPORT osztalyCsoport ON osztalyCsoport.ID = osztaly.ID AND osztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus
WHERE tanuloCsoport.TOROLT = 'F' AND tanuloCsoport.C_KILEPESDATUM IS NULL
) tanuloOsztalyCsoport ON tanuloOsztalyCsoport.C_TANULOID = tanulo.ID
WHERE NOT EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES fb WHERE fb.C_FELHASZNALOID = fh.ID AND fb.C_GONDVISELOID IS NULL AND TOROLT = :pTorolt )
AND EXISTS (SELECT 1 FROM T_FELHASZNALOBELEPES fb WHERE fb.C_FELHASZNALOID = fh.ID AND fb.C_GONDVISELOID IS NOT NULL AND TOROLT = :pTorolt )
AND fh.TOROLT = :pTorolt AND fh.C_INTEZMENYID = :pIntezmenyId AND fh.C_TANEVID = :pTanevId ";
if (tanuloIdList != null && tanuloIdList.Count > 0)
{
commandText += $"AND tanulo.ID IN ( ";
commandText += string.Join(",", tanuloIdList);
commandText += $")";
}
DataSet ds = GetData(commandText, paramlist);
return ds;
}
public DataSet GetTanulokForBelepesiAzonositoGeneralas(int intezmenyId, int tanevId, List<int> tanuloIdList, bool torolt = false, bool csakAkiknekNincsAzonositojuk = true, bool toroltFelhasznaloBelepes = false)
{
var paramlist = new List<CommandParameter>
{
new CommandParameter("pTorolt", torolt ? 'T' : 'F'),
new CommandParameter("pIntezmenyId", intezmenyId),
new CommandParameter("pTanevId", tanevId)
};
string commandText = @"
SELECT distinct
felhasznalo.ID C_TANULOID,
felhasznalo.C_NYOMTATASINEV C_TANULONEV,
felhasznalo.C_OKTATASIAZONOSITO C_OKTATASIAZONOSITO,
felhasznalo.C_SZULETESIDATUM C_SZULETESIDATUM,
STUFF((
SELECT distinct ', ' + ocs.C_NEV
FROM T_TANULOCSOPORT tcs
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
INNER JOIN T_OSZTALY o ON o.ID = ocs.ID
WHERE tanulo.ID = tcs.C_TANULOID
AND tcs.TOROLT = 'F'
AND tcs.C_TANEVID = @pTanevId
" + (!toroltFelhasznaloBelepes ? @" AND tcs.C_KILEPESDATUM IS NULL " : @" ") +
@"FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') AS C_OSZTALYNEV,
felhasznaloBelepes.C_BEJELENTKEZESINEV C_BEJELENTKEZESINEV,
felhasznaloBelepes.C_GONDVISELOID C_GONDVISELOID
FROM
T_FELHASZNALO felhasznalo
INNER JOIN
T_TANULO tanulo ON
tanulo.ID = felhasznalo.ID
LEFT JOIN (
SELECT
C_TANULOID,
C_OSZTALYCSOPORTID
FROM
T_TANULOCSOPORT tanuloCsoport
INNER JOIN
T_OSZTALY osztaly ON
osztaly.ID = tanuloCsoport.C_OSZTALYCSOPORTID
WHERE
tanuloCsoport.TOROLT = 'F' AND
tanuloCsoport.C_KILEPESDATUM IS NULL
) tanuloOsztalyCsoport ON
tanuloOsztalyCsoport.C_TANULOID = tanulo.ID
LEFT JOIN
T_FELHASZNALOBELEPES_OSSZES felhasznaloBelepes ON
felhasznaloBelepes.C_FELHASZNALOID = felhasznalo.ID
";
if (!toroltFelhasznaloBelepes)
commandText += " AND felhasznaloBelepes.TOROLT = 'F'";
commandText += @"WHERE
felhasznalo.C_INTEZMENYID = @pIntezmenyId AND
felhasznalo.C_TANEVID = @pTanevId AND
felhasznalo.TOROLT = @pTorolt AND
tanulo.TOROLT = @pTorolt ";
if (csakAkiknekNincsAzonositojuk)
{
commandText += $@"AND (felhasznalo.ID NOT IN (
SELECT
C_FELHASZNALOID
FROM
T_FELHASZNALOBELEPES_OSSZES belepes
WHERE
belepes.TOROLT = :pTorolt AND belepes.C_GONDVISELOID IS NULL)
OR felhasznaloBelepes.ID IS NULL)";
}
if (tanuloIdList != null && tanuloIdList.Count > 0)
{
commandText += $"AND tanulo.ID IN ( ";
foreach (var id in tanuloIdList)
{
commandText += $"{id},";
}
commandText = commandText.Substring(0, commandText.Length - 1);
commandText += $")";
}
DataSet ds = GetData(commandText, paramlist);
return ds;
}
public DataSet GetTanulokGondviseloIdvalForBelepesiAzonositoGeneralas(int intezmenyId, int tanevId, List<int> tanuloIdList, bool torolt = false, bool csakAkiknekNincsAzonositojuk = true)
{
var paramlist = new List<CommandParameter>
{
new CommandParameter("pTorolt", torolt ? 'T' : 'F'),
new CommandParameter("pIntezmenyId", intezmenyId),
new CommandParameter("pTanevId", tanevId)
,new CommandParameter("OktNevKatTipus", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
};
string commandText = @"
SELECT
felhasznalo.ID C_TANULOID,
felhasznalo.C_NYOMTATASINEV C_TANULONEV,
felhasznalo.C_OKTATASIAZONOSITO C_OKTATASIAZONOSITO,
felhasznalo.C_SZULETESIDATUM C_SZULETESIDATUM,
gondviselo.ID C_GONDVISELOID,
gondviselo.C_NEV C_GONDVISELONEV,
felhasznaloBelepes.C_GONDVISELOID C_BELEPESGONDVISELOID,
felhasznaloBelepes.C_BEJELENTKEZESINEV C_BEJELENTKEZESINEV,
osztalyCsoport.C_NEV C_OSZTALYNEV
FROM
T_FELHASZNALO felhasznalo
INNER JOIN
T_GONDVISELO gondviselo ON
gondviselo.C_TANULOID = felhasznalo.ID
LEFT JOIN
T_FELHASZNALOBELEPES felhasznaloBelepes ON
felhasznaloBelepes.C_GONDVISELOID = gondviselo.ID
AND felhasznaloBelepes.TOROLT = :pTorolt
LEFT JOIN (
SELECT
C_TANULOID,
C_OSZTALYCSOPORTID
FROM
T_TANULOCSOPORT tanuloCsoport
INNER JOIN
T_OSZTALY osztaly ON
osztaly.ID = tanuloCsoport.C_OSZTALYCSOPORTID
WHERE
tanuloCsoport.TOROLT = 'F' AND
tanuloCsoport.C_KILEPESDATUM IS NULL
) tanuloOsztalyCsoport ON
tanuloOsztalyCsoport.C_TANULOID = felhasznalo.ID
LEFT JOIN
T_OSZTALYCSOPORT osztalyCsoport ON
osztalyCsoport.ID = tanuloOsztalyCsoport.C_OSZTALYCSOPORTID AND osztalyCsoport.C_FELADATKATEGORIAID = @OktNevKatTipus
WHERE
felhasznalo.C_INTEZMENYID = :pIntezmenyId AND
felhasznalo.C_TANEVID = :pTanevId AND
felhasznalo.TOROLT = :pTorolt AND
gondviselo.TOROLT = :pTorolt ";
if (csakAkiknekNincsAzonositojuk)
{
commandText += @"AND felhasznaloBelepes.C_BEJELENTKEZESINEV IS NULL";
}
if (tanuloIdList != null && tanuloIdList.Count > 0)
{
commandText += $"AND gondviselo.C_TANULOID IN ( ";
foreach (var id in tanuloIdList)
{
commandText += $"{id},";
}
commandText = commandText.Substring(0, commandText.Length - 1);
commandText += $")";
}
DataSet ds = GetData(commandText, paramlist);
return ds;
}
public DataSet GetTanulokOktatasiAzonositoja(int intezmenyId, int tanevId, bool torolt = false)
{
var paramlist = new List<CommandParameter>
{
new CommandParameter("pTorolt", torolt ? 'T' : 'F'),
new CommandParameter("pIntezmenyId", intezmenyId),
new CommandParameter("pTanevId", tanevId)
};
const string commandText = @"
SELECT
felhasznalo.ID C_TANULOID,
felhasznalo.C_OKTATASIAZONOSITO C_OKTATASIAZONOSITO,
felhasznalo.C_NYOMTATASINEV C_NYOMTATASINEV,
felhasznalo.C_ANYJANEVE C_ANYJANEVE,
felhasznalo.C_SZULETESIHELY C_SZULETESIHELY,
felhasznalo.C_SZULETESIDATUM C_SZULETESIDATUM
FROM
T_FELHASZNALO_OSSZES felhasznalo
INNER JOIN
T_TANULO_OSSZES tanulo ON
tanulo.C_ALINTEZMENYID = felhasznalo.C_INTEZMENYID AND
tanulo.C_ALTANEVID = felhasznalo.C_TANEVID AND
tanulo.TOROLT = felhasznalo.TOROLT AND
tanulo.ID = felhasznalo.ID
WHERE
felhasznalo.C_INTEZMENYID = :pIntezmenyId AND
felhasznalo.C_TANEVID = :pTanevId AND
felhasznalo.TOROLT = :pTorolt
";
DataSet ds = GetData(commandText, paramlist);
return ds;
}
public DataSet GetTanulokForJelszoReset(int intezmenyId, int tanevId)
{
var paramlist = new List<CommandParameter>
{
new CommandParameter("pIntezmenyId", intezmenyId),
new CommandParameter("pTanevId", tanevId)
};
string commandText = @"
SELECT
felhasznalo.ID C_TANULOID
,belepes.C_BEJELENTKEZESINEV C_BEJELENTKEZESINEV
,felhasznalo.C_SZULETESIDATUM C_SZULETESIDATUM
FROM T_FELHASZNALO felhasznalo
INNER JOIN T_TANULO tanulo ON tanulo.ID = felhasznalo.ID
INNER JOIN T_FELHASZNALOBELEPES belepes ON belepes.C_FELHASZNALOID = felhasznalo.ID
WHERE
felhasznalo.C_INTEZMENYID = :pIntezmenyId AND
felhasznalo.C_TANEVID = :pTanevId AND
tanulo.TOROLT = 'F' and felhasznalo.TOROLT = 'F' and belepes.TOROLT = 'F' and belepes.C_GONDVISELOID is null
";
DataSet ds = GetData(commandText, paramlist);
return ds;
}
public void UpdateTanulokNKTesSZKTSzakkepzesesAdatok(string tanulokIdString, SzakkepzesesAdatokPCO szakkepzesesAdatok, bool isSzakkepzesesUpdate, bool isNKTSzakkepzesesUpdate)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspUpdateTanulokNKTesSZKTSzakkepzesesAdatok";
command.Parameters.Add(nameof(tanulokIdString), tanulokIdString);
command.Parameters.Add(nameof(isSzakkepzesesUpdate), isSzakkepzesesUpdate);
command.Parameters.Add(nameof(isNKTSzakkepzesesUpdate), isNKTSzakkepzesesUpdate);
command.Parameters.Add(nameof(szakkepzesesAdatok.SzakiranyNKTTipusId), szakkepzesesAdatok.SzakiranyNKTTipusId);
command.Parameters.Add(nameof(szakkepzesesAdatok.SzakkepesitesNKTTipusId), szakkepzesesAdatok.SzakkepesitesNKTTipusId);
command.Parameters.Add(nameof(szakkepzesesAdatok.TanulmanyiTeruletNKTTipusId), szakkepzesesAdatok.TanulmanyiTeruletNKTTipusId);
command.Parameters.Add(nameof(szakkepzesesAdatok.Szakmacsoport), szakkepzesesAdatok.Szakmacsoport);
command.Parameters.Add(nameof(szakkepzesesAdatok.Agazat), szakkepzesesAdatok.Agazat);
command.Parameters.Add(nameof(szakkepzesesAdatok.Szakkepesites), szakkepzesesAdatok.Szakkepesites);
command.Parameters.Add(nameof(szakkepzesesAdatok.Reszszakkepesites), szakkepzesesAdatok.Reszszakkepesites);
command.ExecuteNonQuery();
DalHelper.Commit();
}
}
public double GetKozossegiSzolgalatOsszesOraszam(int intezmenyId, int tanuloId)
{
double result;
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "sp_GetKozossegiSzolgalatOsszesOraszam";
command.Parameters.Add("pIntezmenyId", intezmenyId);
command.Parameters.Add("pTanuloId", tanuloId);
result = Convert.ToDouble(command.ExecuteScalar());
}
return result;
}
public DataSet GetTanuloGondviseloListData(int intezmenyId, int tanevId, int userId)
{
var parameterList = new List<CommandParameter> {
new CommandParameter("pIntezmenyId", intezmenyId),
new CommandParameter("pTanevId", tanevId),
new CommandParameter("pUserId", userId)
};
const string commandText = @"
SELECT
gondviselo.ID ID
,gondviselo.C_NEV Nev
,(SELECT --
C_BEJELENTKEZESINEV --
FROM --
T_FELHASZNALOBELEPES_OSSZES --
WHERE --
C_GONDVISELOID = gondviselo.ID --
AND C_INTEZMENYID = :pIntezmenyId --
AND C_TANEVID = :pTanevId --
AND TOROLT = 'F' --
) BelepesiNev
FROM
(SELECT
ID
,C_NEV
FROM
T_GONDVISELO_OSSZES
WHERE
C_TANULOID = :pUserId
AND C_INTEZMENYID = :pIntezmenyId
AND C_TANEVID = :pTanevId
AND TOROLT = 'F'
) gondviselo";
var ds = GetData(commandText, parameterList);
return ds;
}
public DataSet GetTanuloModalHeader(int tanuloId)
{
var parameters = new List<CommandParameter> { new CommandParameter(nameof(tanuloId), tanuloId) };
var text = $@"
SELECT
C_NYOMTATASINEV AS Nev,
C_SZULETESIDATUM AS Szulido
FROM
T_FELHASZNALO_OSSZES
WHERE
ID = @{nameof(tanuloId)}
";
return GetData(text, parameters);
}
public DataSet GetGondviselokAdataiByOktatasiAzonosito(string oktatasiAzonosito)
{
var parameters = new List<CommandParameter> { new CommandParameter(nameof(oktatasiAzonosito), oktatasiAzonosito) };
var text = $@"
SELECT
g.C_NEV
,g.ID AS GondviseloId
,e.C_EMAILCIM
,t.ID AS TanuloId
,tanev.ID AS TanevId
,t.C_ALINTEZMENYID AS IntezmenyId
,e.C_GUID
FROM T_TANULO t
LEFT JOIN T_GONDVISELO g ON t.ID = g.C_TANULOID AND g.TOROLT = 'F'
INNER JOIN T_FELHASZNALO f ON f.ID = t.ID AND f.TOROLT = 'F'
INNER JOIN T_TANEV tanev ON tanev.ID = t.C_ALTANEVID AND tanev.C_INTEZMENYID = t.C_ALINTEZMENYID AND tanev.C_AKTIV = 'T' AND tanev.TOROLT = 'F'
LEFT JOIN T_EMAIL e ON e.C_GONDVISELOID = g.ID AND e.C_FELHASZNALOID = t.ID AND e.TOROLT = 'F' AND e.C_ISHIBASANMEGADVA = 'F' AND e.C_ALAPERTELMEZETT = 'T'
WHERE t.TOROLT = 'F'
AND f.C_OKTATASIAZONOSITO = @{nameof(oktatasiAzonosito)}
";
return GetData(text, parameters);
}
public void FollowUpTanulo(int intezmenyId, int tanevId, int kovTanevId, int tanuloId)
{
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspFollowUpTanulo";
command.Parameters.Add("intezmenyId", intezmenyId);
command.Parameters.Add("tanuloId", tanuloId);
command.Parameters.Add("kovetkezoTanevId", kovTanevId);
command.Parameters.Add("aktTanevId", tanevId);
command.ExecuteNonQuery();
}
DalHelper.Commit();
}
public void FollowUpTanuloCim(int intezmenyId, int tanevId, int kovTanevId, int tanuloId)
{
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspFollowUpFelhasznaloCim";
command.Parameters.Add("intezmenyId", intezmenyId);
command.Parameters.Add("felhasznaloId", tanuloId);
command.Parameters.Add("kovetkezoTanevId", kovTanevId);
command.Parameters.Add("aktTanevId", tanevId);
command.ExecuteNonQuery();
}
DalHelper.Commit();
}
public void FollowUpTanuloEmail(int intezmenyId, int tanevId, int kovTanevId, int tanuloId)
{
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspFollowUpFelhasznaloEmail";
command.Parameters.Add("intezmenyId", intezmenyId);
command.Parameters.Add("felhasznaloId", tanuloId);
command.Parameters.Add("kovetkezoTanevId", kovTanevId);
command.Parameters.Add("aktTanevId", tanevId);
command.ExecuteNonQuery();
}
DalHelper.Commit();
}
public void FollowUpTanuloFelmentes(int intezmenyId, int tanevId, int kovTanevId, int felmentesId)
{
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspFollowUpTanuloFelmentes";
command.Parameters.Add("intezmenyId", intezmenyId);
command.Parameters.Add("felmentesId", felmentesId);
command.Parameters.Add("kovetkezoTanevId", kovTanevId);
command.Parameters.Add("aktTanevId", tanevId);
command.ExecuteNonQuery();
}
DalHelper.Commit();
}
public void FollowUpTanuloSni(int intezmenyId, int tanevId, int kovTanevId, int tanuloSniId)
{
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspFollowUpTanuloSni";
command.Parameters.Add("intezmenyId", intezmenyId);
command.Parameters.Add("tanuloSniId", tanuloSniId);
command.Parameters.Add("kovetkezoTanevId", kovTanevId);
command.Parameters.Add("aktTanevId", tanevId);
command.ExecuteNonQuery();
}
DalHelper.Commit();
}
public void FollowUpTBJogviszony(int intezmenyId, int tanevId, int kovTanevId, int tanuloId)
{
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspFollowUpTBJogviszony";
command.Parameters.Add("IntezmenyId", intezmenyId);
command.Parameters.Add("AktTanevId", tanevId);
command.Parameters.Add("KovetkezoTanevId", kovTanevId);
command.Parameters.Add("FelhasznaloId", tanuloId);
command.ExecuteNonQuery();
}
DalHelper.Commit();
}
public void FollowUpTanuloTelefon(int intezmenyId, int tanevId, int kovTanevId, int tanuloId)
{
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspFollowUpFelhasznaloTelefon";
command.Parameters.Add("intezmenyId", intezmenyId);
command.Parameters.Add("felhasznaloId", tanuloId);
command.Parameters.Add("kovetkezoTanevId", kovTanevId);
command.Parameters.Add("aktTanevId", tanevId);
command.ExecuteNonQuery();
DalHelper.Commit();
}
}
#region OsztalyTanuloiAdatok
public DataSet GetTanuloiAlapadatokGrid(int tanuloId, int osztalyCsoportId, 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 = "uspGetTanuloiAlapadatok";
command.Parameters.Add("pIntezmenyId", intezmenyId);
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pTanuloId", tanuloId);
command.Parameters.Add("pOsztalyCsoportId", osztalyCsoportId);
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
return ds;
}
}
public DataSet GetTanuloiEgyebAdatokGrid(int tanuloId, int intezmenyId, int tanevId, int? osztalyId)
{
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "sp_GetTanuloiEgyebAdatok";
command.Parameters.Add("pIntezmenyId", intezmenyId);
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pTanuloId", tanuloId);
command.Parameters.Add("pOsztalyId", osztalyId);
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
return ds;
}
}
/// INFO @DevKornel: Mobil használja
public DataSet GetTanuloOsztalyCsoport(int tanuloId, int osztalyId, DateTime datum)
{
var commandParameterList = new Dictionary<string, object> { { "tanuloId", tanuloId }, { "osztalyId", osztalyId }, { "datum", datum } };
var result = GetTanuloOsztalyCsoport("sp_GetTanuloOsztalyCsoport", commandParameterList);
return result;
}
public DataSet GetTanuloOsztalyCsoport(string commandText, Dictionary<string, object> commandParameterList)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = commandText;
if (commandParameterList != null)
{
foreach (KeyValuePair<string, object> commandParameter in commandParameterList)
{
command.Parameters.Add(commandParameter.Key, commandParameter.Value);
}
}
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
DalHelper.Commit();
return ds;
}
}
public DataSet GetTanuloiGondviseloAdatokGrid(int tanuloId, 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 = "sp_GetTanuloiGondviseloAdatok";
command.Parameters.Add("pIntezmenyId", intezmenyId);
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pTanuloId", tanuloId);
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
return ds;
}
}
#endregion OsztalyTanuloiAdatok
public DataSet GetUtkozoCsoportok(int tanuloId, DateTime belepesDatum, int tanuloCsoportId, int atsorolasCsoportId, OktNevelesiKategoriaEnum? kategoria)
{
List<CommandParameter> p = new List<CommandParameter>
{
new CommandParameter("pTanuloId", tanuloId),
new CommandParameter("pBelepesDatum", belepesDatum),
new CommandParameter("pTanuloCsoportId", tanuloCsoportId),
new CommandParameter("pAtsorolasCsoportId", atsorolasCsoportId)
};
if (kategoria.HasValue)
{
p.Add(new CommandParameter(nameof(kategoria), (int)kategoria));
}
else
{
p.Add(new CommandParameter(nameof(kategoria), DBNull.Value));
}
var commandText = $@"
SELECT
ocs.C_NEV AS OsztalyCsoport,
tcs.C_BELEPESDATUM AS BelepesDatuma,
tcs.C_KILEPESDATUM AS KilepesDatuma,
f.C_NYOMTATASINEV AS TanuloNeve
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND ocs.TOROLT = 'F' AND (ocs.C_FELADATKATEGORIAID = @{nameof(kategoria)} OR @{nameof(kategoria)} IS NULL)
INNER JOIN T_CSOPORT_OSSZES cs ON ocs.ID = cs.ID AND cs.TOROLT = 'F'
INNER JOIN T_FELHASZNALO_OSSZES f ON tcs.C_TANULOID = f.ID AND f.TOROLT = 'F'
WHERE tcs.TOROLT = 'F'
AND tcs.C_TANULOID = :pTanuloId
AND :pBelepesDatum >" + (atsorolasCsoportId == 0 ? "" : "=") + @" tcs.C_BELEPESDATUM AND (tcs.C_KILEPESDATUM IS NULL OR :pBelepesDatum <= tcs.C_KILEPESDATUM)
";
if (atsorolasCsoportId == 0)
{
commandText += @"
AND tcs.ID = :pTanuloCsoportId
";
}
else
{
commandText += @"
AND (cs.ID = :pTanuloCsoportId OR cs.ID = :pAtsorolasCsoportId)
";
}
var ds = this.GetData(commandText, p);
return ds;
}
public DataSet CloneTanulo(int tanuloId, int trgTanevId, int intezmenyId, int srcTanevId, int felhasznaloId)
{
var ds = new DataSet();
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspCloneTanulo";
command.Parameters.Add("intezmenyId", intezmenyId);
command.Parameters.Add("tanuloId", tanuloId);
command.Parameters.Add("trgTanevId", trgTanevId);
command.Parameters.Add("srcTanevId", srcTanevId);
command.Parameters.Add("felhasznaloId", felhasznaloId);
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
}
DalHelper.Commit();
return ds;
}
public DataSet GetTanuloDataSet(int tanevId)
{
using (var sdaCommand = new SDACommand())
{
sdaCommand.Connection = UserContext.Instance.SDAConnection;
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
sdaCommand.CommandType = CommandType.StoredProcedure;
sdaCommand.CommandText = "uspGetTanuloData";
sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
var dataSet = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = sdaCommand;
adapter.Fill(dataSet);
}
SetDNAME(dataSet.Tables[0], "CimTipusId,EmailTipusId,MagantanulosaganakOkaId,TanuloEvfolyamTipusId,FelhasznaloSzuletesiOrszag,FelhasznaloAllampolgarsag1,FelhasznaloAllampolgarsag2,NemeId,TelefonTipusId");
return dataSet;
}
}
public int GetTanuloIdByOktatasiAzonosito(string oktatasiAzonosito, int tanevId)
{
var parameters = new List<CommandParameter> {
new CommandParameter(nameof(oktatasiAzonosito), oktatasiAzonosito),
new CommandParameter(nameof(tanevId), tanevId)
};
var text = $@"
SELECT t.ID as ID FROM T_FELHASZNALO_OSSZES f
JOIN T_TANULO_OSSZES t ON t.ID = f.ID
WHERE
f.C_OKTATASIAZONOSITO = @{nameof(oktatasiAzonosito)}
AND f.C_TANEVID = @{nameof(tanevId)}
AND f.TOROLT = 'F' AND t.TOROLT = 'F'
";
var result = GetData(text, parameters);
return result.Tables[0].Rows.Count > 0 ? result.Tables[0].Rows[0].Field<int>("ID") : -1;
}
public int GetKovTanevId(string oktatasiAzonosito, int tanevId)
{
var parameters = new List<CommandParameter> {
new CommandParameter(nameof(oktatasiAzonosito), oktatasiAzonosito),
new CommandParameter(nameof(tanevId), tanevId)
};
var text = $@"
SELECT ID as ID FROM T_FELHASZNALO_OSSZES
WHERE
C_OKTATASIAZONOSITO = @{nameof(oktatasiAzonosito)}
AND C_TANEVID = @{nameof(tanevId)}
AND TOROLT = 'F'
";
var result = GetData(text, parameters);
return result.Tables[0].Rows.Count > 0 ? result.Tables[0].Rows[0].Field<int>("ID") : -1;
}
//TODO: CSAK MÁSOLTAM AZ ALKALMAZOTTRÓL TANULÓHOZ ÁTÍRNI
public List<KirTanulo> SearchTanuloForKir(FelhasznaloKirSearchPco tanuloKirSearchCo, int tanevId, int tanuloId)
{
var commandText = new StringBuilder($@"
SELECT
Felhasznalo.ID AS Id
,Felhasznalo.C_OKTATASIAZONOSITO AS OktatasiAzonosito
,Felhasznalo.C_ELOTAG AS NevElotag
,Felhasznalo.C_VEZETEKNEV AS Vezeteknev
,Felhasznalo.C_UTONEV AS Utonev
,IIF(Felhasznalo.C_NEVSORREND = 'F',
Felhasznalo.C_VEZETEKNEV + ' ' + Felhasznalo.C_UTONEV,
Felhasznalo.C_UTONEV + ' ' + Felhasznalo.C_VEZETEKNEV) AS NevElotagNelkul
,Felhasznalo.C_NYOMTATASINEV AS NyomtatasiNev
,Felhasznalo.C_NEVSORREND AS NevSorrend
,IIF(Felhasznalo.C_SZULETESINEVSORREND = 'F', Felhasznalo.C_SZULETESIVEZETEKNEV, Felhasznalo.C_SZULETESIUTONEV) AS SzuletesiVezeteknev
,IIF(Felhasznalo.C_SZULETESINEVSORREND = 'F', Felhasznalo.C_SZULETESIUTONEV, Felhasznalo.C_SZULETESIVEZETEKNEV) AS SzuletesiUtonev
IIF(Felhasznalo.C_SZULETESINEVSORREND = 'F'
,Felhasznalo.C_SZULETESIVEZETEKNEV +' '+ Felhasznalo.C_SZULETESIUTONEV
,Felhasznalo.C_SZULETESIUTONEV +' '+ Felhasznalo.C_SZULETESIVEZETEKNEV) AS SzuletesiNevSorrenddel
,Felhasznalo.C_SZULETESINEV AS SzuletesiNev
,Felhasznalo.C_SZULETESINEVSORREND AS SzuletesiNevSorrend
,IIF(Felhasznalo.C_ANYJANEVESORREND = 'F', Felhasznalo.C_ANYJAVEZETEKNEVE, Felhasznalo.C_ANYJAUTONEVE) AS AnyjaNeveVezeteknev
,IIF(Felhasznalo.C_ANYJANEVESORREND = 'F', Felhasznalo.C_ANYJAUTONEVE, Felhasznalo.C_ANYJAVEZETEKNEVE) AS AnyjaNeveUtonev
IIF(Felhasznalo.C_ANYJANEVESORREND = 'F'
,Felhasznalo.C_ANYJAVEZETEKNEVE +' '+ Felhasznalo.C_ANYJAUTONEVE
,Felhasznalo.C_ANYJAUTONEVE +' '+ Felhasznalo.C_ANYJAVEZETEKNEVE) AS AnyjaNeveSorrenddel
,IIF(Felhasznalo.C_ANYJANEVESORREND = 'F', Felhasznalo.C_ANYJAVEZETEKNEVE, Felhasznalo.C_ANYJAUTONEVE) AS AnyjaVezetekNeve
,IIF(Felhasznalo.C_ANYJANEVESORREND = 'F', Felhasznalo.C_ANYJAUTONEVE, Felhasznalo.C_ANYJAVEZETEKNEVE) AS AnyjaUtoneve
,Felhasznalo.C_ANYJANEVE AS AnyjaNeve
,Felhasznalo.C_ANYJANEVESORREND AS AnyjaNeveSorrend
,Felhasznalo.C_SZULETESIDATUM AS SzuletesiDatum
,Felhasznalo.C_SZULETESIHELY AS SzuletesiHely
,SzuletesiOrszagDictionary.C_NAME AS SzuletesiOrszag
,AllampolgarsagaDictionary.C_NAME AS Allampolgarsag
,Allampolgarsaga2Dictionary.C_NAME AS Allampolgarsag2
,NemDictionary.C_NAME AS Nem
,Email.C_EMAILCIM AS Email
,Telefon.C_TELEFONSZAM AS Telefonszam
,Felhasznalo.C_TAJSZAM AS TajSzam
,Tanulo.C_SAJATOSNEVELESU AS SajatosNevelesIgenyu
,tanulo.C_BEILLESZKEDESINEHEZSEG AS BeilleszkedesselKuzd
--innentől
,tanugyiadatok.C_NYILVANTARTASKEZDETE AS JogviszonyKezdete
,tanugyiadatok.C_TANKOTELEZETTSEGVEGE AS TankotelezettsegVege
,tanugyiadatok.C_TANKOTELEZETT AS TankotelezettsegetTeljesito
,tanugyiadatok.C_JOGVISZONYATSZUNETELTETO AS JogviszonyStatusza
,tanugyiadatok.C_JOGVISZONYVARHATOBEFEJEZESE AS JogviszonyVarBefejezese
,tanugyiadatok.C_MAGANTANULO AS Magantanulo
,tanugyiadatok.C_VENDEG AS Vendegtanulo
,'LEKÉRDEZÉST JAVÍTANI' AS JogviszonyJellege
FROM [fnGetTanuloTanugyiAdatai] ( @{nameof(tanevId)}, 0, @{nameof(tanuloId)}) tanugyiadatok
LEFT JOIN T_FELHASZNALO felhasznalo ON Felhasznalo.ID = tanugyiadatok.tanuloId
LEFT JOIN T_DICTIONARYITEMBASE SzuletesiOrszagDictionary ON SzuletesiOrszagDictionary.ID = Felhasznalo.C_SZULETESIORSZAG
AND SzuletesiOrszagDictionary.TOROLT = 'F'
AND SzuletesiOrszagDictionary.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
AND SzuletesiOrszagDictionary.C_TANEVID = Felhasznalo.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASE AllampolgarsagaDictionary ON AllampolgarsagaDictionary.ID = Felhasznalo.C_ALLAMPOLGARSAGA
AND AllampolgarsagaDictionary.TOROLT = 'F'
AND AllampolgarsagaDictionary.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
AND AllampolgarsagaDictionary.C_TANEVID = Felhasznalo.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASE Allampolgarsaga2Dictionary ON Allampolgarsaga2Dictionary.ID = Felhasznalo.C_ALLAMPOLGARSAGA2
AND Allampolgarsaga2Dictionary.TOROLT = 'F'
AND Allampolgarsaga2Dictionary.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
AND Allampolgarsaga2Dictionary.C_TANEVID = Felhasznalo.C_TANEVID
LEFT JOIN T_EMAIL Email ON Email.C_FELHASZNALOID = Felhasznalo.ID
AND Email.C_ALAPERTELMEZETT = 'T'
AND Email.TOROLT = 'F'
AND Email.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
AND Email.C_TANEVID = Felhasznalo.C_TANEVID
AND Email.C_EMAILTIPUSA = 1026
LEFT JOIN T_TELEFON Telefon ON Telefon.C_FELHASZNALOID = Felhasznalo.ID
AND Telefon.C_ALAPERTELMEZETT = 'T'
AND Telefon.TOROLT = 'F'
AND Telefon.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
AND Telefon.C_TANEVID = Felhasznalo.C_TANEVID
AND Telefon.C_TELEFONTIPUSA = 1021
LEFT JOIN T_DICTIONARYITEMBASE NemDictionary ON NemDictionary.ID = Felhasznalo.C_NEME
AND NemDictionary.TOROLT = 'F'
AND NemDictionary.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
AND NemDictionary.C_TANEVID = Felhasznalo.C_TANEVID
INNER JOIN T_TANULO Tanulo ON Tanulo.Id = Felhasznalo.ID
AND Tanulo.TOROLT = 'F'
AND Tanulo.C_ALINTEZMENYID = Felhasznalo.C_INTEZMENYID
AND Tanulo.C_ALTANEVID = Felhasznalo.C_TANEVID
WHERE Felhasznalo.TOROLT = 'F'
AND Felhasznalo.C_TANEVID = @{nameof(tanevId)}
AND EXISTS (SELECT 1
FROM T_TANULO Tanulo
WHERE Tanulo.C_ALTANEVID = Felhasznalo.C_TANEVID
AND Tanulo.C_ALINTEZMENYID = Felhasznalo.C_INTEZMENYID
AND Tanulo.ID = Felhasznalo.ID)");
var commandParameterList = new List<CommandParameter>
{
new CommandParameter(nameof(tanevId), tanevId),
new CommandParameter(nameof(tanuloId), tanuloId)
};
if (!string.IsNullOrWhiteSpace(tanuloKirSearchCo.Nev))
{
commandText.Append($@" AND LOWER(Felhasznalo.C_NYOMTATASINEV) LIKE '%' + :pNev + '%'");
commandParameterList.Add(new CommandParameter("pNev", tanuloKirSearchCo.Nev.ToLowerInvariant().Replace("[", "[[]")));
}
if (tanuloKirSearchCo.SzuletesiDatumTol.HasValue)
{
commandText.Append($@" AND Felhasznalo.C_SZULETESIDATUM >= :pSzuletesiDatumTol");
commandParameterList.Add(new CommandParameter("pSzuletesiDatumTol", tanuloKirSearchCo.SzuletesiDatumTol.Value));
}
if (tanuloKirSearchCo.SzuletesiDatumIg.HasValue)
{
commandText.Append($@" AND Felhasznalo.C_SZULETESIDATUM <= :pSzuletesiDatumIg");
commandParameterList.Add(new CommandParameter("pSzuletesiDatumIg", tanuloKirSearchCo.SzuletesiDatumIg.Value));
}
if (!string.IsNullOrWhiteSpace(tanuloKirSearchCo.OktatasiAzonosito))
{
commandText.Append($@" AND Felhasznalo.C_OKTATASIAZONOSITO LIKE :pOktatasiAzonosito + '%'");
commandParameterList.Add(new CommandParameter("pOktatasiAzonosito", tanuloKirSearchCo.OktatasiAzonosito));
}
if (!string.IsNullOrWhiteSpace(tanuloKirSearchCo.SzuletesiHely))
{
commandText.Append($@" AND Felhasznalo.C_SZULETESIHELY LIKE :pSzuletesiHely + '%'");
commandParameterList.Add(new CommandParameter("pSzuletesiHely", tanuloKirSearchCo.SzuletesiHely));
}
return GetData(commandText.ToString(), commandParameterList)
.ToDaoList<KirTanulo>();
}
public KirTanuloAlapadatok GetTanuloAlapadatok(int tanuloId, int tanevId)
{
var commandText = new StringBuilder($@"
SELECT
Felhasznalo.C_OKTATASIAZONOSITO AS OktatasiAzonosito
,Felhasznalo.C_ELOTAG AS NevElotag
,Felhasznalo.C_VEZETEKNEV AS Vezeteknev
,Felhasznalo.C_UTONEV AS Utonev
,IIF(Felhasznalo.C_SZULETESINEVSORREND = 'F', Felhasznalo.C_SZULETESIVEZETEKNEV, Felhasznalo.C_SZULETESIUTONEV) AS SzuletesiVezeteknev
,IIF(Felhasznalo.C_SZULETESINEVSORREND = 'F', Felhasznalo.C_SZULETESIUTONEV, Felhasznalo.C_SZULETESIVEZETEKNEV) AS SzuletesiUtonev
,Felhasznalo.C_SZULETESINEV AS SzuletesiNev
,IIF(Felhasznalo.C_ANYJANEVESORREND = 'F', Felhasznalo.C_ANYJAVEZETEKNEVE, Felhasznalo.C_ANYJAUTONEVE) AS AnyjaNeveVezeteknev
,IIF(Felhasznalo.C_ANYJANEVESORREND = 'F', Felhasznalo.C_ANYJAUTONEVE, Felhasznalo.C_ANYJAVEZETEKNEVE) AS AnyjaNeveUtonev
,Felhasznalo.C_ANYJANEVE AS AnyjaNeve
,Felhasznalo.C_SZULETESIDATUM AS SzuletesiDatum
,Felhasznalo.C_SZULETESIHELY AS SzuletesiHely
,SzuletesiOrszagDictionary.C_NAME AS SzuletesiOrszag
,AllampolgarsagaDictionary.C_NAME AS Allampolgarsag
,Allampolgarsaga2Dictionary.C_NAME AS Allampolgarsag2
,NemDictionary.C_NAME AS Nem
FROM T_FELHASZNALO Felhasznalo
LEFT JOIN T_DICTIONARYITEMBASE SzuletesiOrszagDictionary ON SzuletesiOrszagDictionary.ID = Felhasznalo.C_SZULETESIORSZAG
AND SzuletesiOrszagDictionary.TOROLT = 'F'
AND SzuletesiOrszagDictionary.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
AND SzuletesiOrszagDictionary.C_TANEVID = Felhasznalo.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASE AllampolgarsagaDictionary ON AllampolgarsagaDictionary.ID = Felhasznalo.C_ALLAMPOLGARSAGA
AND AllampolgarsagaDictionary.TOROLT = 'F'
AND AllampolgarsagaDictionary.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
AND AllampolgarsagaDictionary.C_TANEVID = Felhasznalo.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASE Allampolgarsaga2Dictionary ON Allampolgarsaga2Dictionary.ID = Felhasznalo.C_ALLAMPOLGARSAGA2
AND Allampolgarsaga2Dictionary.TOROLT = 'F'
AND Allampolgarsaga2Dictionary.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
AND Allampolgarsaga2Dictionary.C_TANEVID = Felhasznalo.C_TANEVID
LEFT JOIN T_DICTIONARYITEMBASE NemDictionary ON NemDictionary.ID = Felhasznalo.C_NEME
AND NemDictionary.TOROLT = 'F'
AND NemDictionary.C_INTEZMENYID = Felhasznalo.C_INTEZMENYID
AND NemDictionary.C_TANEVID = Felhasznalo.C_TANEVID
WHERE Felhasznalo.TOROLT = 'F'
AND Felhasznalo.C_TANEVID = @{nameof(tanevId)}
AND Felhasznalo.ID = @{nameof(tanuloId)}
AND EXISTS (SELECT 1
FROM T_TANULO Tanulo
WHERE Tanulo.C_ALTANEVID = Felhasznalo.C_TANEVID
AND Tanulo.C_ALINTEZMENYID = Felhasznalo.C_INTEZMENYID
AND Tanulo.ID = Felhasznalo.ID)");
var commandParameterList = new List<CommandParameter>
{
new CommandParameter(nameof(tanevId), tanevId),
new CommandParameter(nameof(tanuloId), tanuloId)
};
return GetData(commandText.ToString(), commandParameterList)
.ToDaoList<KirTanuloAlapadatok>()
.FirstOrDefault();
}
public bool CheckOktatasiAzonosito(string oktatasiAzonosito, int tanevId, int? felhasznaloId = 0)
{
using (SDA.DataProvider.SDACommand command = new SDA.DataProvider.SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.Parameters.Add("pOktatasiAzonosito", oktatasiAzonosito);
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pID", felhasznaloId);
if (felhasznaloId > 0)
{
command.CommandText = @"SELECT 1 FROM T_FELHASZNALO_OSSZES f INNER JOIN T_TANULO_OSSZES t ON t.ID = f.ID AND t.TOROLT = 'F' WHERE f.C_OKTATASIAZONOSITO = :pOktatasiAzonosito AND f.C_TANEVID = :pTanevId AND f.ID != :pID AND f.TOROLT='F'";
}
else
{
command.CommandText = @"SELECT 1 FROM T_FELHASZNALO_OSSZES f INNER JOIN T_TANULO_OSSZES t ON t.ID = f.ID AND t.TOROLT = 'F' WHERE f.C_OKTATASIAZONOSITO = :pOktatasiAzonosito AND f.C_TANEVID = :pTanevId AND f.TOROLT='F'";
}
var result = command.ExecuteScalar();
if (result != null)
return true;
return false;
}
}
public List<int> GetTanuloOktatasiNevelesiFeladatIdList(int intezmenyId, int tanevId, int tanuloId, OktNevelesiKategoriaEnum? oktatasiNevelesiKategoria = null)
{
var parameters = new List<CommandParameter>
{
new CommandParameter("pIntezmenyId", intezmenyId),
new CommandParameter("pTanevId", tanevId),
new CommandParameter("pTanuloId", tanuloId),
new CommandParameter("pOktatasiNevelesiKategoriaId", oktatasiNevelesiKategoria != null ? (int)oktatasiNevelesiKategoria : (object)DBNull.Value)
};
const string query = @"
SELECT DISTINCT
feh.C_OKTATASINEVELESIFELADATTIPUS
FROM T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_OSZTALYCSOPORTID = ocs.ID AND tcs.C_BELEPESDATUM <= GETDATE()
AND tcs.C_TANEVID = ocs.C_TANEVID AND tcs.C_INTEZMENYID = ocs.C_INTEZMENYID AND tcs.TOROLT = 'F' AND tcs.C_TANULOID = :pTanuloId
INNER JOIN T_FELADATELLATASIHELY_OSSZES feh ON feh.ID = ocs.C_FELADATELLATASIHELYID
INNER JOIN T_OKTATASINEVELESIFELADAT_OSSZES onf ON onf.C_ALTANEVID = feh.C_TANEVID
AND onf.ID = feh.C_OKTATASINEVELESIFELADATTIPUS
WHERE ocs.C_TANEVID = :pTanevId
AND ocs.C_INTEZMENYID = :pIntezmenyId
AND ocs.TOROLT = 'F'
AND onf.C_FELADATKATEGORIAID = :pOktatasiNevelesiKategoriaId OR :pOktatasiNevelesiKategoriaId IS NULL
ORDER BY feh.C_OKTATASINEVELESIFELADATTIPUS";
var ds = GetData(query, parameters);
return ds.Tables[0]
.AsEnumerable()
.Select(x => x.Field<int>("C_OKTATASINEVELESIFELADATTIPUS"))
.ToList();
}
public List<KirCim> GetKirTanuloCim(int intezmenyId, int tanevId, IEnumerable<int> felhasznaloId, CimTipusEnum cimTipusEnum)
{
var inParameters = new List<string>(felhasznaloId.Count());
var commandParameterList = new List<CommandParameter>
{
new CommandParameter(nameof(intezmenyId), intezmenyId),
new CommandParameter(nameof(tanevId), tanevId)
};
foreach (int item in felhasznaloId)
{
var name = $"felhasznaloId{item}";
commandParameterList.Add(new CommandParameter(name, item));
inParameters.Add("@" + name);
}
var commandText = $@"
SELECT
Cim.C_IRANYITOSZAM AS Iranyitoszam
,Cim.C_VAROS AS Varos
,Cim.C_KOZTERULET AS KozteruletNev
,Cim.C_KOZTERULETJELLEGENEV AS KozteruletJellege
,Cim.C_HAZSZAM AS Hazszam
,Cim.C_FELHASZNALOID AS FelhasznaloId
FROM T_CIM Cim
WHERE C_FELHASZNALOID IN ({ (inParameters.Count == 0 ? "NULL" : string.Join(",", inParameters)) })
AND Cim.C_ALAPERTELMEZETT = 'T'
AND Cim.TOROLT = 'F'
AND Cim.C_INTEZMENYID = @{nameof(intezmenyId)}
AND Cim.C_TANEVID = @{nameof(tanevId)}
AND Cim.C_CIMTIPUSA = {(int)cimTipusEnum}";
return GetData(commandText, commandParameterList)
.ToDaoList<KirCim>();
}
public DataSet GetAllTanuloDataSet(int tanevId)
{
using (var sdaCommand = new SDACommand())
{
string commandText = @"
SELECT
felhasznalo.ID Id
,felhasznalo.C_NYOMTATASINEV Nev
,felhasznalo.C_ELOTAG Elotag
,felhasznalo.C_VEZETEKNEV Vezeteknev
,felhasznalo.C_UTONEV Utonev
,C_OKTATASIAZONOSITO OktatasiAzonosito
,C_SZULETESIDATUM SzuletesiDatum
,C_BEJELENTKEZESINEV FelhasznaloNev
,felhasznaloBelepes.Id FelhasznalobelepesId
,felhasznaloBelepes.C_IMPORTALT isImportalt
FROM
T_TANULO_OSSZES tanulo
INNER JOIN
T_FELHASZNALO_OSSZES felhasznalo ON tanulo.ID = felhasznalo.ID
LEFT JOIN
T_FELHASZNALOBELEPES_OSSZES felhasznaloBelepes ON felhasznaloBelepes.C_FELHASZNALOID = tanulo.ID AND felhasznaloBelepes.TOROLT = 'F' AND C_GONDVISELOID IS NULL
WHERE
tanulo.TOROLT = 'F'
AND tanulo.C_ALTANEVID = :pTanevId";
sdaCommand.Connection = UserContext.Instance.SDAConnection;
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
sdaCommand.CommandType = CommandType.Text;
sdaCommand.CommandText = commandText;
sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
var dataSet = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = sdaCommand;
adapter.Fill(dataSet);
}
DataTable dataTable = dataSet.Tables[0];
DataTable result = SortingAndPaging(dataTable, GridParameters);
return result.AsDataSet();
}
}
public DataSet GetTanuloWithBelepesselDataSet(int tanevId)
{
using (var sdaCommand = new SDACommand())
{
string commandText = @"
SELECT
felhasznalo.ID Id
,felhasznalo.C_NYOMTATASINEV Nev
,felhasznalo.C_ELOTAG Elotag
,felhasznalo.C_VEZETEKNEV Vezeteknev
,felhasznalo.C_UTONEV Utonev
,C_OKTATASIAZONOSITO OktatasiAzonosito
,C_SZULETESIDATUM SzuletesiDatum
,C_BEJELENTKEZESINEV FelhasznaloNev
,felhasznaloBelepes.C_IMPORTALT isImportalt
FROM
T_TANULO_OSSZES tanulo
INNER JOIN
T_FELHASZNALO_OSSZES felhasznalo ON tanulo.ID = felhasznalo.ID
INNER JOIN
T_FELHASZNALOBELEPES_OSSZES felhasznaloBelepes ON felhasznaloBelepes.C_FELHASZNALOID = tanulo.ID AND felhasznaloBelepes.TOROLT = 'F' AND C_GONDVISELOID IS NULL
WHERE
tanulo.TOROLT = 'F'
AND tanulo.C_ALTANEVID = :pTanevId";
sdaCommand.Connection = UserContext.Instance.SDAConnection;
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
sdaCommand.CommandType = CommandType.Text;
sdaCommand.CommandText = commandText;
sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
var dataSet = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = sdaCommand;
adapter.Fill(dataSet);
}
DataTable dataTable = dataSet.Tables[0];
DataTable result = SortingAndPaging(dataTable, GridParameters);
return result.AsDataSet();
}
}
public DataSet GetAllGondviseloDataSet(int tanevId)
{
using (var sdaCommand = new SDACommand())
{
string commandText = @"
SELECT
felhasznalo.ID Id
,felhasznalo.C_NYOMTATASINEV Nev
,felhasznalo.C_ELOTAG Elotag
,felhasznalo.C_VEZETEKNEV Vezeteknev
,felhasznalo.C_UTONEV Utonev
,C_OKTATASIAZONOSITO OktatasiAzonosito
,C_SZULETESIDATUM SzuletesiDatum
,C_BEJELENTKEZESINEV FelhasznaloNev
,felhasznaloBelepes.Id FelhasznalobelepesId
,felhasznaloBelepes.C_IMPORTALT isImportalt
,gondviselo.C_NEV GondviseloNev
FROM
T_TANULO_OSSZES tanulo
INNER JOIN
T_GONDVISELO_OSSZES gondviselo ON gondviselo.C_TANULOID = tanulo.ID AND gondviselo.TOROLT = 'F'
INNER JOIN
T_FELHASZNALO_OSSZES felhasznalo ON tanulo.ID = felhasznalo.ID
LEFT JOIN
T_FELHASZNALOBELEPES_OSSZES felhasznaloBelepes ON felhasznaloBelepes.C_FELHASZNALOID = gondviselo.ID AND felhasznaloBelepes.TOROLT = 'F' AND C_GONDVISELOID IS NULL
WHERE
tanulo.TOROLT = 'F'
AND tanulo.C_ALTANEVID = :pTanevId";
sdaCommand.Connection = UserContext.Instance.SDAConnection;
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
sdaCommand.CommandType = CommandType.Text;
sdaCommand.CommandText = commandText;
sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
var dataSet = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = sdaCommand;
adapter.Fill(dataSet);
}
DataTable dataTable = dataSet.Tables[0];
DataTable result = SortingAndPaging(dataTable, GridParameters);
return result.AsDataSet();
}
}
public DataSet GetGondviseloWithBelepesselDataSet(int tanevId)
{
using (var sdaCommand = new SDACommand())
{
string commandText = @"
SELECT
felhasznalo.ID Id
,felhasznalo.C_NYOMTATASINEV Nev
,felhasznalo.C_ELOTAG Elotag
,felhasznalo.C_VEZETEKNEV Vezeteknev
,felhasznalo.C_UTONEV Utonev
,C_OKTATASIAZONOSITO OktatasiAzonosito
,C_SZULETESIDATUM SzuletesiDatum
,C_BEJELENTKEZESINEV FelhasznaloNev
,felhasznaloBelepes.Id FelhasznalobelepesId
,felhasznaloBelepes.C_IMPORTALT isImportalt
,gondviselo.C_NEV GondviseloNev
FROM
T_TANULO_OSSZES tanulo
INNER JOIN
T_GONDVISELO_OSSZES gondviselo ON gondviselo.C_TANULOID = tanulo.ID AND gondviselo.TOROLT = 'F'
INNER JOIN
T_FELHASZNALO_OSSZES felhasznalo ON tanulo.ID = felhasznalo.ID
INNER JOIN
T_FELHASZNALOBELEPES_OSSZES felhasznaloBelepes ON felhasznaloBelepes.C_FELHASZNALOID = gondviselo.ID AND felhasznaloBelepes.TOROLT = 'F' AND C_GONDVISELOID IS NULL
WHERE
tanulo.TOROLT = 'F'
AND tanulo.C_ALTANEVID = :pTanevId";
sdaCommand.Connection = UserContext.Instance.SDAConnection;
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
sdaCommand.CommandType = CommandType.Text;
sdaCommand.CommandText = commandText;
sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
var dataSet = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = sdaCommand;
adapter.Fill(dataSet);
}
DataTable dataTable = dataSet.Tables[0];
DataTable result = SortingAndPaging(dataTable, GridParameters);
return result.AsDataSet();
}
}
public bool CheckTanuloNevUniqueLEP(int tanevId, string nev)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.Parameters.Add("pNev", nev);
command.Parameters.Add("pTanevId", tanevId);
command.CommandText = @"
IF EXISTS
(
SELECT 1
FROM T_FELHASZNALO_OSSZES
WHERE C_NYOMTATASINEV = :pNev
AND C_TANEVID = :pTanevId
AND TOROLT = 'F'
)
SELECT 1
ELSE
SELECT 0
";
return Convert.ToBoolean(command.ExecuteScalar());
}
}
public bool IsTanulo(int felhasznaloId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.Parameters.Add("pFelhasznaloId", felhasznaloId);
command.CommandText = @"
IF EXISTS
(
SELECT 1
FROM T_TANULO_OSSZES
WHERE ID = :pFelhasznaloId
AND TOROLT = 'F'
)
SELECT 1
ELSE
SELECT 0
";
return Convert.ToBoolean(command.ExecuteScalar());
}
}
public bool HasOsztalyBasorolas(int tanuloId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.Parameters.Add("tanuloId", tanuloId);
command.CommandText = @"
IF EXISTS (
SELECT 1
FROM T_TANULOCSOPORT_OSSZES TanuloCsoport
WHERE TanuloCsoport.TOROLT = 'F'
AND TanuloCsoport.C_TANULOID = @tanuloId
AND EXISTS (SELECT 1 FROM T_OSZTALY Osztaly WHERE Osztaly.ID = TanuloCsoport.C_OSZTALYCSOPORTID AND Osztaly.TOROLT = 'F'))
SELECT 1
ELSE
SELECT 0";
return Convert.ToBoolean(command.ExecuteScalar());
}
}
public DataSet GetSzakkepzesiJuttatasokTanulok(SzakkepzesiJuttatasokTanuloPCO 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 = "uspGetSzakkepzesiJuttatasokTanulok";
command.Parameters.Add("pTanevId", pco.TanevId);
command.Parameters.Add("pIntezmenyId", pco.IntezmenyId);
command.Parameters.Add("pDatum", pco.LekerdezesNapja);
command.Parameters.Add("pJuttatasTipus", SDADBType.Int).Value = pco.JuttatasTipusId;
command.Parameters.Add("pOsszevonas", pco.HonapOsszevonasok);
if (!string.IsNullOrWhiteSpace(pco.TanuloNeve))
{
command.Parameters.Add("pTanuloNeve", pco.TanuloNeve);
}
if (!string.IsNullOrWhiteSpace(pco.OktatasiAzonosito))
{
command.Parameters.Add("pOktatasiAzonosito", pco.OktatasiAzonosito);
}
if (pco.EvfolyamId.HasValue)
{
command.Parameters.Add("pEvfolyamTipusaId", pco.EvfolyamId.Value);
}
if (pco.FeladatKategoriaId.IsEntityId())
{
command.Parameters.Add("pFeladatKategoria", pco.FeladatKategoriaId.Value);
}
if (!string.IsNullOrWhiteSpace(pco.Jogosultsag))
{
command.Parameters.Add("pJogosultsag", pco.Jogosultsag);
}
if (pco.JuttatasOsszege.HasValue)
{
command.Parameters.Add("pJuttatasOsszege", pco.JuttatasOsszege);
}
if (pco.OsztalyId.HasValue)
{
command.Parameters.Add("pOsztalyId", pco.OsztalyId.Value);
}
if (pco.TanuloTipus.HasValue)
{
command.Parameters.Add("pTanuloTipus", pco.TanuloTipus);
}
if (pco.JuttatasTipusId == (int)JuttatasTipusEnum.apaczaiosztondij)
{
command.Parameters.Add("pApaczaiJogosultEvfolyamIdList", SDADBType.String).Value = string.Join(",", Constants.ApaczaiODJogosultEvfolyamTipusIdList);
}
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
}
SetDNAME(ds.Tables[0], "Evfolyam");
SetBoolFields(ds.Tables[0], "Jogosultsag,Beszamitasos");
if (pco.JuttatasTipusId == (int)JuttatasTipusEnum.egyszeri_palyakezdesi_juttatas)
{
SetBoolFields(ds.Tables[0], "IsJavitoVizsga,IsPotloVizsga");
}
return ds;
}
public DataSet GetSzakkepzesiJuttatasokTanulokDashboardAdatok(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 = "uspGetSzakkepzesiJuttatasokTanulokDashboardAdatok";
command.Parameters.Add("pTanevId", tanevId);
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
}
DataTable dataTable = ds.Tables[0];
SetDNAME(ds.Tables[0], "Evfolyam");
SetBoolFields(ds.Tables[0], "IsJogosult");
DataTable result = SortingAndPaging(dataTable, GridParameters);
return result.AsDataSet();
}
public DataSet GetBankszamlaIgenylesData(int tanevId, int tanuloId)
{
using (var sdaCommand = new SDACommand())
{
sdaCommand.Connection = UserContext.Instance.SDAConnection;
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
sdaCommand.CommandType = CommandType.StoredProcedure;
sdaCommand.CommandText = "uspGetBankszamlaIgenylesData";
sdaCommand.Parameters.Add("pTanevId", tanevId);
sdaCommand.Parameters.Add("pTanuloId", tanuloId);
var dataSet = new DataSet();
using (var sdaDataAdapter = new SDADataAdapter())
{
sdaDataAdapter.SelectCommand = sdaCommand;
sdaDataAdapter.Fill(dataSet);
}
return dataSet;
}
}
public IEnumerable<int> ListGondviseloByTanuloIds(IEnumerable<int> tanuloIds)
{
IEnumerable<int> result = null;
if (tanuloIds.Any())
{
var commandText = $@"
SELECT ID
FROM T_GONDVISELO_OSSZES
WHERE TOROLT = 'F'
AND C_TANULOID IN ({string.Join(",", tanuloIds)})";
var dataSet = GetData(commandText);
result = dataSet.Tables[0].AsEnumerable().Select(r => r.Field<int>("ID"));
}
return result;
}
public DataSet GetTanuloAdatok(Guid tanuloIdpUniqueId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetTanuloAdatok";
command.Parameters.Add("pTanuloIdpUniqueId", tanuloIdpUniqueId);
var dataSet = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(dataSet);
}
return dataSet;
}
}
public DataSet GetTanuloOsztalyEvfolyam(int tanevId, int tanuloId, List<int> evfolyamTipusEnumIdList, OktNevelesiKategoriaEnum? feladatKategoria = null, DateTime? datum = null)
{
var commandParameterList = new List<CommandParameter>
{
new CommandParameter("pTanuloId", tanuloId),
new CommandParameter("pTanevId", tanevId)
};
if (feladatKategoria.HasValue)
{ commandParameterList.Add(new CommandParameter("pFeladatKategoriaId", (int)feladatKategoria)); }
else
{ commandParameterList.Add(new CommandParameter("pFeladatKategoriaId", DBNull.Value)); }
if (datum.HasValue)
{
commandParameterList.Add(new CommandParameter("pDatum", datum.Value));
}
string commandText = $@"
SELECT * FROM (
SELECT
fh.ID as TanuloId
,t.C_ALTANEVID as TanevId
,fh.C_NYOMTATASINEV as TanuloNev
,ocs.ID as OsztalycsoportId
,ocs.C_NEV as OsztalycsoportNev
,CASE WHEN evtip.C_ISOSSZEVONT = 'T'
THEN ISNULL(tta.C_TANULOEVFOLYAMTIPUSID, ocs.C_EVFOLYAMTIPUSA)
ELSE ocs.C_EVFOLYAMTIPUSA
END AS EvfolyamTipus
,t.TOROLT as Torolt
FROM T_TANULO_OSSZES t
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = t.ID
AND fh.C_TANEVID = t.C_ALTANEVID
AND fh.TOROLT = 'F'
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = t.ID
AND (tcs.C_BELEPESDATUM <= :pDatum AND tcs.C_KILEPESDATUM IS NULL OR tcs.C_KILEPESDATUM > :pDatum)
AND tcs.C_TANEVID = t.C_ALTANEVID
AND tcs.TOROLT = 'F'
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = tcs.C_OSZTALYCSOPORTID
AND o.C_ALTANEVID = t.C_ALTANEVID
AND o.TOROLT = 'F'
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = o.ID
AND (:pFeladatKategoriaId IS NULL OR :pFeladatKategoriaId = ocs.C_FELADATKATEGORIAID)
AND ocs.C_TANEVID = o.C_ALTANEVID
AND ocs.TOROLT = 'F'
LEFT JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID
AND tta.C_TANEVID = tcs.C_TANEVID
AND tta.TOROLT = 'F'
LEFT JOIN T_EVFOLYAMTIPUS_OSSZES evtip ON evtip.ID = ocs.C_EVFOLYAMTIPUSA
AND evtip.C_ALTANEVID = tcs.C_TANEVID
AND evtip.TOROLT = 'F'
) as x
WHERE (:pTanuloId IS NULL OR x.TanuloId = :pTanuloId)
AND x.TanevId = :pTanevId
AND x.Torolt = 'F'
AND x.EvfolyamTipus IN (" + string.Join(",", evfolyamTipusEnumIdList) + $@")";
return GetData(commandText, commandParameterList);
}
public bool IsAllOsztalyAltalanosIskolaFeladatellatasiHely(List<int> osztalyIdList)
{
var altalanosIskolaTipus = (int)OktatasiNevelesiFeladatEnum.altalanos_iskola;
var commandText = $@"
SELECT DISTINCT
ocs.ID
FROM
T_OSZTALYCSOPORT_OSSZES ocs
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID
INNER JOIN T_FELADATELLATASIHELY_OSSZES fh ON ocs.C_FELADATELLATASIHELYID = fh.ID
WHERE
ocs.ID IN ({string.Join(",", osztalyIdList)})
AND fh.C_OKTATASINEVELESIFELADATTIPUS = {altalanosIskolaTipus}
AND ocs.TOROLT = 'F'
AND fh.TOROLT = 'F'
AND o.TOROLT = 'F'";
var dataSet = GetData(commandText);
return dataSet.Tables[0].Rows.Count == osztalyIdList.Count;
}
public DataSet GetTanulokEmailNelkulJelszoResethez(int tanevId, List<int> tanuloIds = null)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetFelhasznaloEmailNelkulJelszoResethez";
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
if (tanuloIds != null)
{
command.Parameters.Add("pTanuloIdList", SDADBType.String).Value = string.Join(",", tanuloIds);
}
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
return ds;
}
}
public DataSet GetOsztalyTanuloiGondviselokDataSet(int felhasznaloId, int intezmenyId, int tanevId, int? osztalyId, int? ellatottKoznevelesiFeladatId, bool isSzuperOsztalyfonok, bool isEvfolyamfelelos)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetOsztalyTanulokGondviselok";
command.Parameters.Add("pIntezmenyId", intezmenyId);
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pFelhasznaloId", SDADBType.Int).Value = felhasznaloId;
command.Parameters.Add("pDatum", DateTime.Today);
if (osztalyId.IsEntityId())
{
command.Parameters.Add("pOsztalyId", SDADBType.Int).Value = osztalyId;
}
if (ellatottKoznevelesiFeladatId.IsEntityId())
{
command.Parameters.Add("pEllatottKoznevelesiFeladatId", SDADBType.Int).Value = ellatottKoznevelesiFeladatId;
}
command.Parameters.Add("pIsSzuperOsztalyfonok", SDADBType.Boolean).Value = isSzuperOsztalyfonok;
command.Parameters.Add("pIsEvfolyamfelelos", SDADBType.Boolean).Value = isEvfolyamfelelos;
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
SetBoolFields(ds.Tables[0], "IsTorvenyesKepviselo,IsBovitettJogosultsag,IsAlapertelmezettEmail,IsAlapertelmezettTelefonSzam");
return ds;
}
}
public bool IsTanuloEvfolyamTipusaLetezik(int tanuloId, int intezmenyId, int tanevId, IEnumerable<int> evfolyamTipusIdList)
{
using (var sdaCommand = new SDACommand())
{
sdaCommand.Connection = UserContext.Instance.SDAConnection;
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
sdaCommand.CommandType = CommandType.StoredProcedure;
sdaCommand.CommandText = "uspTanuloEvfolyamTipusaLetezik";
sdaCommand.Parameters.Add("pIntezmenyId", intezmenyId);
sdaCommand.Parameters.Add("pTanevId", tanevId);
sdaCommand.Parameters.Add("pTanuloId", tanuloId);
sdaCommand.Parameters.Add("pEvfolyamtipusIdList", SqlLogic.ParseListToParameter(evfolyamTipusIdList.ToList()));
int cnt = Convert.ToInt32(sdaCommand.ExecuteScalar());
return cnt > 0;
}
}
public DataSet GetTanulokDigitalisOktatasEgyenloHozzaferes(int tanevId, int intezmenyId, List<int> evfolyamtipusIds, bool? isGondviseloLetezik = null, bool? isGondviseloBelepesLetezik = null, bool? isGondviseloTorvenyesKepviselo = null, bool? isGondviseloEszkozIgenylesElfogadottASZF = null)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "uspGetEszkozIgenylesGondviseloRiportExportData";
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
command.Parameters.Add("pEvfolyamtipusIds", SDADBType.String).Value = string.Join(",", evfolyamtipusIds);
if (isGondviseloLetezik.HasValue)
{
command.Parameters.Add("pGondviseloLetezik", SDADBType.Boolean).Value = isGondviseloLetezik;
}
if (isGondviseloBelepesLetezik.HasValue)
{
command.Parameters.Add("pGondviseloBelepesLetezik", SDADBType.Boolean).Value = isGondviseloBelepesLetezik;
}
if (isGondviseloTorvenyesKepviselo.HasValue)
{
command.Parameters.Add("pGondviseloTorvenyesKepviselo", SDADBType.Boolean).Value = isGondviseloTorvenyesKepviselo;
}
if (isGondviseloEszkozIgenylesElfogadottASZF.HasValue)
{
command.Parameters.Add("pGondviseloEszkozIgenylesElfogadottASZF", SDADBType.Boolean).Value = isGondviseloEszkozIgenylesElfogadottASZF;
}
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
return ds;
}
}
public DataSet GetJogviszonyByTanulo(int tanuloId, 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 = "uspGetJogviszonyByTanulo";
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
command.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId;
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
return ds;
}
}
public DataSet GetJogviszonyByTanuloIds(List<int> tanuloIdList, 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 = "uspGetJogviszonyByTanuloIdsAndJogvTipusId";
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
command.Parameters.Add("pTanuloIds", SDADBType.LongString).Value = string.Join(",", tanuloIdList);
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
return ds;
}
}
public DataSet GetTanuloJogviszonyAdatok(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 = "uspGetTanuloJogviszonyAdatok";
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
var ds = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
SetBoolFields(ds.Tables[0], "JogviszonnyalRendelkezik");
return ds;
}
}
public DataSet GetTanuloSzirBeallitasokExport(int tanevId, int intezmenyId, List<int> tanuloIds)
{
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 = "uspGetTanuloSzirBeallitasokExport";
command.Parameters.Add("pTanevId", tanevId);
command.Parameters.Add("pIntezmenyId", intezmenyId);
command.Parameters.Add("pTanuloIds", SqlLogic.ParseListToParameter(tanuloIds));
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
}
SetBoolFields(ds.Tables[0], "KuldhetoErettsegiSzRnek,KuldhetoMeresiSzRnek,KuldhetoKozepFelveteliSzRnek,DiakigazolvanyAtadhatoSzRnek");
if (ds.Tables[0].AsEnumerable().Any())
{
return ds.Tables[0].AsEnumerable().OrderBy(t => t.Field<string>(nameof(TanuloResource.Vezeteknev))).ThenBy(t => t.Field<string>(nameof(TanuloResource.UtoNev))).CopyToDataTable().AsDataSet();
}
return ds;
}
public DataSet GetMentessegDataSet(int tantargyId, int? tanuloId, DateTime datum)
{
var commandText = $@"
SELECT
tm.C_TANULOID AS TanuloId
,tm.C_ERTEKELESMENTESITES AS ErtekelesMentesites
,tm.C_ORAMENTESITES AS OraMentesites
,tm.C_SZOVEGESENERTEKELHETO AS SzovegesenErtekelheto
,tm.C_MENTESSEGOKA AS FelmentesOka
,tm.C_KEZDETE AS Kezdete
,tm.C_VEGE AS Vege
FROM
T_TANULOMENTESSEG tm
WHERE tm.TOROLT = 'F'
AND tm.C_TANTARGYID = @{nameof(tantargyId)}
AND (tm.C_TANULOID = @{nameof(tanuloId)} OR @{nameof(tanuloId)} IS NULL)
AND ((tm.C_KEZDETE IS NULL OR tm.C_KEZDETE <= @{nameof(datum)}) AND (tm.C_VEGE IS NULL OR tm.C_VEGE >= @{nameof(datum)}))
ORDER BY tm.C_KEZDETE DESC, tm.CREATED DESC
";
var commandParameterList = new List<CommandParameter>
{
new CommandParameter(nameof(tantargyId), tantargyId),
new CommandParameter(nameof(datum), datum)
};
if (tanuloId.HasValue)
{
commandParameterList.Add(new CommandParameter(nameof(tanuloId), tanuloId.Value));
}
else
{
commandParameterList.Add(new CommandParameter(nameof(tanuloId), DBNull.Value));
}
return GetData(commandText, commandParameterList, booleanColumns: "ErtekelesMentesites,OraMentesites,SzovegesenErtekelheto");
}
public DataSet GetOsztalyCsoportTanuloAdatokDataSet(int tanuloId)
{
using (var sdaCommand = new SDACommand())
{
sdaCommand.Connection = UserContext.Instance.SDAConnection;
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
sdaCommand.CommandType = CommandType.StoredProcedure;
sdaCommand.CommandText = "uspGetOsztalyCsoportTanuloAdatok";
sdaCommand.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId;
var result = new DataSet();
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = sdaCommand;
adapter.Fill(result);
}
return result;
}
}
public DataSet GetSzakkepzesiMunkaszerzodesek(int intezmenyId, int tanevId, int tanuloId)
{
var commandText = $@"
SELECT
szmsz.ID AS Id
,sz.ID AS SzervezetId
,sz.C_NEV AS DualisKepzohelyNeve
,sz.C_AZONOSITO AS DualisKepzohelyAdoszama
,szmsz.C_KEZDETE AS Kezdete
,szmsz.C_VEGE AS Vege
FROM T_SZAKMUNKASZERZODES_OSSZES szmsz
INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.ID = szmsz.C_TANULOTANUGYIADATOKID
AND tta.TOROLT = 'F'
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.ID = tta.C_TANULOCSOPORTID
AND tcs.TOROLT = 'F'
INNER JOIN T_SZERVEZET_OSSZES sz ON sz.ID = szmsz.C_SZERVEZETID
AND sz.TOROLT = 'F'
WHERE szmsz.TOROLT = 'F'
AND szmsz.C_INTEZMENYID = :pIntezmenyId
AND szmsz.C_TANEVID = :pTanevId
AND tcs.C_TANULOID = :pTanuloId
";
var parameters = new List<CommandParameter>()
{
new CommandParameter("pIntezmenyId", intezmenyId),
new CommandParameter("pTanevId", tanevId),
new CommandParameter("pTanuloId", tanuloId),
};
return GetData(commandText, parameters);
}
}
}