using System.Collections.Generic; using System.Data; using System.Text; using Kreta.Core; using Kreta.DataAccess.Interfaces; using Kreta.DataAccessManual.Interfaces; using Kreta.DataAccessManual.ParameterClasses.SZIRAdatszolgaltatasPCOs; using Kreta.DataAccessManual.Util; using Kreta.Enums; using Kreta.Framework; using SDA.DataProvider; using SDA.Kreta.Entities; namespace Kreta.DataAccessManual { internal class SZIRAdatszolgDAL : DataAccessBase, ISZIRAdatszolgDAL { public SZIRAdatszolgDAL(DalHandler handler) : base(handler) { } public ISzirStatFeladatellatasiHely Get() { return SzirStatFeladatellatasiHely.GiveAnInstance(); } public ISzirStatFeladatellatasiHely Get(int id) { var entity = SzirStatFeladatellatasiHely.GiveAnInstance(); entity.LoadByID(id); return entity; } public void Insert(ISzirStatFeladatellatasiHely dto) { var entity = dto as SzirStatFeladatellatasiHely; entity.Insert(); DalHelper.Commit(); } public void Update(ISzirStatFeladatellatasiHely dto) { var entity = dto as SzirStatFeladatellatasiHely; entity.FullUpdate(); DalHelper.Commit(); } public ISzirStatKonyvtar GetKonyvtar() { return SzirStatKonyvtar.GiveAnInstance(); } public ISzirStatKonyvtar GetKonyvtar(int id) { var entity = SzirStatKonyvtar.GiveAnInstance(); entity.LoadByID(id); return entity; } public void Insert(ISzirStatKonyvtar dto) { var entity = dto as SzirStatKonyvtar; entity.Insert(); DalHelper.Commit(); } public void Update(ISzirStatKonyvtar dto) { var entity = dto as SzirStatKonyvtar; entity.FullUpdate(); DalHelper.Commit(); } public DataSet GetAMIData(int intezmenyId, int tanevId) { using (var comm = new SDACommand()) { comm.Connection = UserContext.Instance.SDAConnection; comm.Transaction = UserContext.Instance.SDATransaction; comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "uspSzirStatAmi"; comm.Parameters.Add("pTanevId", tanevId); comm.Parameters.Add("pIntezmenyid", intezmenyId); var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = comm; sdaDataAdapter.Fill(ds); } return ds; } } public DataSet GetKollegiumData(int intezmenyId, int tanevId) { using (var comm = new SDACommand()) { comm.Connection = UserContext.Instance.SDAConnection; comm.Transaction = UserContext.Instance.SDATransaction; comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "uspSzirStatKoli"; comm.Parameters.Add("pTanevId", tanevId); comm.Parameters.Add("pIntezmenyid", intezmenyId); var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = comm; sdaDataAdapter.Fill(ds); } return ds; } } public DataSet GetIntezmenyiData(int intezmenyId, int tanevId) { using (var comm = new SDACommand()) { comm.Connection = UserContext.Instance.SDAConnection; comm.Transaction = UserContext.Instance.SDATransaction; comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "uspSzirStatIntezmeny"; comm.Parameters.Add("pTanevId", tanevId); comm.Parameters.Add("pIntezmenyid", intezmenyId); var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = comm; sdaDataAdapter.Fill(ds); } return ds; } } public DataSet GetIsAdatokRendbenABekuldeshez(int intezmenyId, int tanevId) { using (var comm = new SDACommand()) { comm.Connection = UserContext.Instance.SDAConnection; comm.Transaction = UserContext.Instance.SDATransaction; comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "uspGetSzirStatFromT_SZIRSTATTables"; comm.Parameters.Add("pTanevId", tanevId); comm.Parameters.Add("pIntezmenyid", intezmenyId); var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = comm; sdaDataAdapter.Fill(ds); } return ds; } } public DataSet GetOktatoData(int intezmenyId, int tanevId) { using (var comm = new SDACommand()) { comm.Connection = UserContext.Instance.SDAConnection; comm.Transaction = UserContext.Instance.SDATransaction; comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "uspSzirStatOktato"; comm.Parameters.Add("pTanevId", tanevId); comm.Parameters.Add("pIntezmenyid", intezmenyId); var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = comm; sdaDataAdapter.Fill(ds); } return ds; } } public DataSet GetNemOktatoData(int intezmenyId, int tanevId) { using (var comm = new SDACommand()) { comm.Connection = UserContext.Instance.SDAConnection; comm.Transaction = UserContext.Instance.SDATransaction; comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "uspSzirStatNemOktato"; comm.Parameters.Add("pTanevId", tanevId); comm.Parameters.Add("pIntezmenyid", intezmenyId); var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = comm; sdaDataAdapter.Fill(ds); } return ds; } } public DataSet GetInfraData(int intezmenyId, int tanevId) { using (var comm = new SDACommand()) { comm.Connection = UserContext.Instance.SDAConnection; comm.Transaction = UserContext.Instance.SDATransaction; comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "uspSzirStatInfra"; comm.Parameters.Add("pTanevId", tanevId); comm.Parameters.Add("pIntezmenyid", intezmenyId); var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = comm; sdaDataAdapter.Fill(ds); } return ds; } } public DataSet GetSZIRAdatszolgGrid(int tanevId) { var parameters = new List { }; parameters.Add(new CommandParameter("pTanevId", tanevId)); var command = @" select isnull(szirfh.ID, fh.ID) as ID ,szirfh.ID as SzirId ,fh.ID as FeladatellatasiHelyId ,mh.C_NEV + ' - ' + dic.C_NAME as FeladatellatasiHelyNev ,coalesce(szirfh.C_OKOSTELEFONOKSZAMA, szir_elo1.C_OKOSTELEFONOKSZAMA, szir_elo2.C_OKOSTELEFONOKSZAMA) as OkostelefonSzama ,coalesce(szirfh.C_TABLETEKSZAMA, szir_elo1.C_TABLETEKSZAMA, szir_elo2.C_TABLETEKSZAMA) as TabletSzama ,coalesce(szirfh.C_NOTEBOOKOKSZAMA, szir_elo1.C_NOTEBOOKOKSZAMA, szir_elo2.C_NOTEBOOKOKSZAMA) as NotebookSzama ,coalesce(szirfh.C_ASZTALIGEPEKSZAMA, szir_elo1.C_ASZTALIGEPEKSZAMA, szir_elo2.C_ASZTALIGEPEKSZAMA) as AsztaliGepSzama ,fh.ELOZOTANEVIREKORDID from T_MUKODESIHELY_OSSZES mh inner join T_FELADATELLATASIHELY fh on fh.C_MUKODESIHELYID = mh.ID and fh.TOROLT = 'F' inner join T_DICTIONARYITEMBASE dic on dic.ID = fh.C_OKTATASINEVELESIFELADATTIPUS and dic.C_TANEVID = fh.C_TANEVID and dic.TOROLT = 'F' left join T_SZIRSTATFELADATELLATASIHELY szirfh on szirfh.C_FELADATELLATASIHELYID = fh.ID left join T_SZIRSTATFELADATELLATASIHELY_OSSZES szir_elo1 on szir_elo1.ID = szirfh.ELOZOTANEVIREKORDID and szir_elo1.TOROLT = 'F' left join T_FELADATELLATASIHELY_OSSZES fh_elo on fh_elo.ID = fh.ELOZOTANEVIREKORDID and fh_elo.TOROLT = 'F' left join T_SZIRSTATFELADATELLATASIHELY_OSSZES szir_elo2 on szir_elo2.C_FELADATELLATASIHELYID = fh_elo.ID and szir_elo2.TOROLT = 'F' where mh.TOROLT = 'F' and mh.C_TANEVID = @pTanevId "; DataSet ds = GetData(command.ToString(), parameters); return ds; } public DataSet GetOsztalyData(int intezmenyId, int tanevId) { using (var comm = new SDACommand()) { comm.Connection = UserContext.Instance.SDAConnection; comm.Transaction = UserContext.Instance.SDATransaction; comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "uspSzirStatOsztaly"; comm.Parameters.Add("pTanevId", tanevId); comm.Parameters.Add("pIntezmenyid", intezmenyId); var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = comm; sdaDataAdapter.Fill(ds); } return ds; } } public DataSet GetTanuloEvElejeData(int intezmenyId, int tanevId) { using (var comm = new SDACommand()) { comm.Connection = UserContext.Instance.SDAConnection; comm.Transaction = UserContext.Instance.SDATransaction; comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "uspSzirStatTanuloEvEleje"; comm.Parameters.Add("pTanevId", tanevId); comm.Parameters.Add("pIntezmenyid", intezmenyId); var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = comm; sdaDataAdapter.Fill(ds); } return ds; } } public DataSet GetTanuloEvVegeData(int intezmenyId, int elozoTanevId) { using (var comm = new SDACommand()) { comm.Connection = UserContext.Instance.SDAConnection; comm.Transaction = UserContext.Instance.SDATransaction; comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "uspSzirStatTanuloEvVege"; comm.Parameters.Add("pElozoTanevId", elozoTanevId); comm.Parameters.Add("pIntezmenyId", intezmenyId); var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = comm; sdaDataAdapter.Fill(ds); } return ds; } } public DataSet GetKonyvtarData(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 = "uspSzirStatKonyvtar"; command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; command.Parameters.Add("pIntezmenyid", SDADBType.Int).Value = intezmenyId; var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = command; sdaDataAdapter.Fill(ds); } return ds; } } public int? GetSzirStatTanuloId(int elozoTanevId, int tanuloId, int felhelyId) { using (var command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.Parameters.Add(nameof(elozoTanevId), elozoTanevId); command.Parameters.Add(nameof(tanuloId), tanuloId); command.Parameters.Add(nameof(felhelyId), felhelyId); command.CommandText = $@" SELECT ID FROM T_SZIRSTATTANULO_OSSZES WHERE TOROLT = 'F' AND C_TANEVID = @{nameof(elozoTanevId)} AND C_TANULOID = @{nameof(tanuloId)} AND C_FELADATELLATASIHELYID = @{nameof(felhelyId)}"; var id = command.ExecuteScalar(); if (int.TryParse(id?.ToString(), out int result)) { return result; } return null; } } public ISzirStatTanulo GetTanulo() { return SzirStatTanulo.GiveAnInstance(); } public ISzirStatTanulo GetTanulo(int id) { var entity = SzirStatTanulo.GiveAnInstance(); entity.LoadByID(id); return entity; } public void Insert(ISzirStatTanulo dto) { var entity = dto as SzirStatTanulo; entity.Insert(); DalHelper.Commit(); } public void Update(ISzirStatTanulo dto) { var entity = dto as SzirStatTanulo; entity.FullUpdate(); DalHelper.Commit(); } public DataSet GetTanuloEvVegeList(int elozoTanevId, TanuloEvVegeSearchPco pco) { var commandParameterList = new List { new CommandParameter("pElozoTanevId", elozoTanevId) }; string commandText = $@" SELECT ROW_NUMBER() OVER ( ORDER BY CONCAT(mhely.C_NEV, ' - ', dib.C_NAME) ,CONCAT(IIF(fh.C_NEVSORREND = 'T', fh.C_UTONEV + ' ' + fh.C_VEZETEKNEV, fh.C_VEZETEKNEV + ' ' + fh.C_UTONEV), ' (', fh.C_OKTATASIAZONOSITO ,')') ) AS ID ,fh.ID AS TanuloId ,CONCAT(fh.C_NYOMTATASINEV, ' (', fh.C_OKTATASIAZONOSITO ,')') AS TanuloNev ,fhely.Id AS FelhelyId ,CONCAT(mhely.C_NEV, ' - ', dib.C_NAME) AS FelhelyNev ,ISNULL(szst.C_ISSIKERESTANULMANYOK, 'F') AS IsSikeresTanulmanyok ,ISNULL(szst.C_ISSIKERESERETTSEGI, 'F') AS IsSikeresErettsegi ,ISNULL(szst.C_ISSIKERESSZAKMAIVIZSGA, 'F') AS IsSikeresSzakmaiVizsga ,ISNULL(szst.C_ISSIKERESSZAKMAIVISZGASZAK1, 'F') AS IsSikeresSzakmaiVizsgaSzak1 ,ISNULL(szst.C_ISSIKERESSZAKMAIVISZGASZAK2, 'F') AS IsSikeresSzakmaiVizsgaSzak2 ,ISNULL(szst.C_ISSIKERESSZAKMAIVISZGASZAK3, 'F') AS IsSikeresSzakmaiVizsgaSzak3 ,ISNULL(szst.C_ISSIKERESAGAZATIALAPVIZSGA, 'F') AS IsSikeresAgazatiAlapVizsga FROM T_FELHASZNALO_OSSZES fh INNER JOIN T_TANULO_OSSZES dk ON dk.ID = fh.ID INNER JOIN T_INTEZMENYADATOK_OSSZES ia ON ia.C_TANEVID = fh.C_TANEVID AND ia.TOROLT = 'F' INNER JOIN T_INTEZMENY_OSSZES i ON ia.C_INTEZMENYID = i.ID AND i.TOROLT = 'F' INNER JOIN T_FELADATELLATASIHELY_OSSZES fhely ON fhely.C_TANEVID = ia.C_TANEVID AND fhely.TOROLT = 'F' AND fhely.C_OKTATASINEVELESIFELADATTIPUS NOT IN ({(int)OktatasiNevelesiFeladatEnum.kollegium}, {(int)OktatasiNevelesiFeladatEnum.kollegium_nemzetisegi_}) INNER JOIN T_MUKODESIHELY_OSSZES mhely ON mhely.ID = fhely.C_MUKODESIHELYID AND mhely.TOROLT = 'F' INNER JOIN T_DICTIONARYITEMBASE_OSSZES dib ON fhely.C_OKTATASINEVELESIFELADATTIPUS = dib.ID AND fhely.C_INTEZMENYID = dib.C_INTEZMENYID AND fhely.C_TANEVID = dib.C_TANEVID LEFT JOIN T_SZIRSTATTANULO_OSSZES szst ON szst.C_TANULOID = dk.ID AND szst.C_FELADATELLATASIHELYID = fhely.ID AND szst.C_TANEVID = fh.C_TANEVID AND szst.TOROLT = 'F' CROSS APPLY ( SELECT TOP(1) ocs.ID AS OsztalyId ,ocs.C_KEPZESIFORMA AS KepzesTipusa ,ocs.C_EVFOLYAMTIPUSA AS Evfolyam ,ocs.C_VEGZOSEVFOLYAM AS Vegzos FROM T_TANULOCSOPORT_OSSZES tcs INNER JOIN T_TANULOTANUGYIADATOK_OSSZES tta ON tta.C_TANULOCSOPORTID = tcs.ID AND tta.TOROLT = 'F' INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID AND ocs.TOROLT = 'F' INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND o.TOROLT = 'F' WHERE tcs.C_TANULOID = dk.ID AND fhely.ID = ocs.C_FELADATELLATASIHELYID AND tcs.TOROLT = 'F' AND tcs.C_TANEVID = fh.C_TANEVID ORDER BY tcs.C_BELEPESDATUM DESC ) besorolas WHERE fh.TOROLT = 'F' AND fh.C_TANEVID = :pElozoTanevId "; if (!string.IsNullOrWhiteSpace(pco.Nev)) { commandParameterList.Add(new CommandParameter("pNev", pco.Nev)); commandText += " AND CONCAT(fh.C_NYOMTATASINEV, ' (', fh.C_OKTATASIAZONOSITO ,')') LIKE '%' + :pNev + '%'"; } if (pco.IsVegzos) { commandText += " AND besorolas.Vegzos = 'T'"; } if (pco.EvfolyamIds.NotNullAndAny()) { commandText += $" AND besorolas.Evfolyam IN ({string.Join(",", pco.EvfolyamIds)})"; } if (pco.OsztalyIds.NotNullAndAny()) { commandText += $" AND besorolas.OsztalyId IN ({string.Join(",", pco.OsztalyIds)})"; } if (pco.FeladatEllatasiHelyIds.NotNullAndAny()) { commandText += $" AND fhely.Id IN ({string.Join(",", pco.FeladatEllatasiHelyIds)})"; } if (pco.KepzesTipusaIds.NotNullAndAny()) { commandText += $" AND besorolas.KepzesTipusa IN ({string.Join(",", pco.KepzesTipusaIds)})"; } commandText += $@" ORDER BY CONCAT(mhely.C_NEV, ' - ', dib.C_NAME) ,CONCAT(IIF(fh.C_NEVSORREND = 'T', fh.C_UTONEV + ' ' + fh.C_VEZETEKNEV, fh.C_VEZETEKNEV + ' ' + fh.C_UTONEV), ' (', fh.C_OKTATASIAZONOSITO, ')')"; return GetData(commandText, commandParameterList); } public ISzirStatNemAllamiOktKolts GetSzirStatNemAllamiOktKolts() { return SzirStatNemAllamiOktKolts.GiveAnInstance(); } public ISzirStatNemAllamiOktKolts GetSzirStatNemAllamiOktKolts(int Id) { var entity = SzirStatNemAllamiOktKolts.GiveAnInstance(); entity.LoadByID(Id); return entity; } public void Insert(ISzirStatNemAllamiOktKolts dto) { var entity = dto as SzirStatNemAllamiOktKolts; entity.Insert(); DalHelper.Commit(); } public void Update(ISzirStatNemAllamiOktKolts dto) { var entity = dto as SzirStatNemAllamiOktKolts; entity.FullUpdate(); DalHelper.Commit(); } public int? GetSzirStatNemAllamiOktKoltsIdFromFeladatEllatasihelyId(int feladatEllatasiHelyId) { using (var command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "uspGetSzirStatNemAllamiOktKoltsIdFromFeladatEllatasihelyId"; command.Parameters.Add("pFeladatEllatasiHelyId", feladatEllatasiHelyId); var result = command.ExecuteScalar(); if (result != null && int.TryParse(result.ToString(), out int id)) { return id; } return null; } } public DataSet GetNemAllamiGrid(int tanevId) { using (var command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "uspGetNemAllamiGrid"; command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = command; sdaDataAdapter.Fill(ds); } return ds; } } public DataSet GetNemAllamiData(int tanevId) { using (var comm = new SDACommand()) { comm.Connection = UserContext.Instance.SDAConnection; comm.Transaction = UserContext.Instance.SDATransaction; comm.CommandType = CommandType.StoredProcedure; comm.CommandText = "uspSzirStatNemAllami"; comm.Parameters.Add("pTanevId", tanevId); var ds = new DataSet(); using (var sdaDataAdapter = new SDADataAdapter()) { sdaDataAdapter.SelectCommand = comm; sdaDataAdapter.Fill(ds); } return ds; } } } }