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 { 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 { 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 commandParameterList = new List { 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(); ///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 { 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 p = new List(); ///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(); ///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 { 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 { 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 { 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 { 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 { 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 { 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 p = new List(); ///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 p = new List { 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 { 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 { 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 { 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 parameters = new List(); 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 { 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 { 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 { 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; } /// /// Visszaadja az osztályból már kiléptetett és majd a jövőben az osztálybasorolt tanulókat is /// public DataSet GetOsztalyCsoportMindenkoriTanuloi(int osztalyId, string osztalyLista = null) { var param = new List(); 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; } /// /// Visszaadja az osztályból már kiléptetett és majd a jövőben az osztálybasorolt tanulókat is /// public DataSet GetOsztalyCsoportMindenkoriTanuloiTanuloCsoportonkent(int osztalyCsoportId) { var commandParameterList = new List { 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 paramlist = new List(); 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(TanuloResource.Vezeteknev)).ThenBy(t => t.Field(TanuloResource.UtoNev)).CopyToDataTable().AsDataSet(); } return ds; } public DataSet GetTanulokMulasztasaiExcelExport(MulasztasKeresesePCO pco) { StringBuilder clause = new StringBuilder(); List parameters = new List(); 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 parameters = new List(); 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 { 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 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("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 { 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 { 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 { 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 { 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 p = new List(); ///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 tanuloCsoportIdList = null) { List p = new List(); 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 p = new List(); ///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 tanuloIds, int tanevId, bool isFromSzervezet = false, int? tantargyId = null, int? dualisKepzesTantargyId = null) { var p = new List { 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 GetTanuloMulasztasaiFelmentesRogziteshez(int tanuloId, int tantargyId, bool egeszEvre = false) { List p = new List(); ///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("ID")).ToList() : new List(); } #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 parameters = new List(); 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 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 tanuloIdList, bool torolt = false) { var paramlist = new List { 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 tanuloIdList, bool torolt = false, bool csakAkiknekNincsAzonositojuk = true, bool toroltFelhasznaloBelepes = false) { var paramlist = new List { 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 tanuloIdList, bool torolt = false, bool csakAkiknekNincsAzonositojuk = true) { var paramlist = new List { 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 { 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 { 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 { 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 { 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 { 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 { { "tanuloId", tanuloId }, { "osztalyId", osztalyId }, { "datum", datum } }; var result = GetTanuloOsztalyCsoport("sp_GetTanuloOsztalyCsoport", commandParameterList); return result; } public DataSet GetTanuloOsztalyCsoport(string commandText, Dictionary 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 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 p = new List { 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 { 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("ID") : -1; } public int GetKovTanevId(string oktatasiAzonosito, int tanevId) { var parameters = new List { 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("ID") : -1; } //TODO: CSAK MÁSOLTAM AZ ALKALMAZOTTRÓL TANULÓHOZ ÁTÍRNI public List 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 { 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(); } 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 { new CommandParameter(nameof(tanevId), tanevId), new CommandParameter(nameof(tanuloId), tanuloId) }; return GetData(commandText.ToString(), commandParameterList) .ToDaoList() .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 GetTanuloOktatasiNevelesiFeladatIdList(int intezmenyId, int tanevId, int tanuloId, OktNevelesiKategoriaEnum? oktatasiNevelesiKategoria = null) { var parameters = new List { 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("C_OKTATASINEVELESIFELADATTIPUS")) .ToList(); } public List GetKirTanuloCim(int intezmenyId, int tanevId, IEnumerable felhasznaloId, CimTipusEnum cimTipusEnum) { var inParameters = new List(felhasznaloId.Count()); var commandParameterList = new List { 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(); } 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 ListGondviseloByTanuloIds(IEnumerable tanuloIds) { IEnumerable 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("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 evfolyamTipusEnumIdList, OktNevelesiKategoriaEnum? feladatKategoria = null, DateTime? datum = null) { var commandParameterList = new List { 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 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 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 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 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 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 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(nameof(TanuloResource.Vezeteknev))).ThenBy(t => t.Field(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 { 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() { new CommandParameter("pIntezmenyId", intezmenyId), new CommandParameter("pTanevId", tanevId), new CommandParameter("pTanuloId", tanuloId), }; return GetData(commandText, parameters); } } }