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

528 lines
24 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using Kreta.Core;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.Util;
using Kreta.Enums;
using Kreta.Framework;
using Kreta.Framework.Util;
using SDA.DataProvider;
using SDA.Kreta.Entities;
namespace Kreta.DataAccessManual
{
internal class FeladatEllatasiHelyDAL : DataAccessBase, IFeladatEllatasiHelyDal
{
public FeladatEllatasiHelyDAL(DalHandler handler) : base(handler)
{
}
public FeladatEllatasiHelyDAL(DalHandler handler, GridParameters parameters) : base(handler, parameters)
{
}
public DataSet GetFeladatEllatasiHelyOktatasiNevelesiFeladatok(int feladHelyId)
{
var paramlist = new List<CommandParameter>();
paramlist.Add(new CommandParameter(nameof(feladHelyId), feladHelyId));
var commandText = $@"
SELECT
feh.C_OKTATASINEVELESIFELADATTIPUS AS OktNevFel
FROM T_FELADATELLATASIHELY_OSSZES feh
INNER JOIN T_MUKODESIHELY_OSSZES mh
ON feh.C_MUKODESIHELYID = mh.ID
WHERE feh.TOROLT = 'F'
AND mh.TOROLT = 'F'
AND feh.ID = @{nameof(feladHelyId)}";
DataSet ds = this.GetData(commandText, paramlist);
return ds;
}
public IFeladatEllatasiHely Get() => FeladatEllatasiHely.GiveAnInstance();
public IFeladatEllatasiHely Get(int id)
{
var entity = FeladatEllatasiHely.GiveAnInstance();
entity.LoadByID(id);
return entity;
}
public DataSet GetFeladatEllatasiHelyekForkDropDown(int tanevId, bool forEsl = false, int? feladatKategoriaId = null, bool? hasKovTanev = null, bool forSzirStatTanulo = false)
{
var parameters = new List<CommandParameter>
{
new CommandParameter(nameof(tanevId), tanevId)
};
var feladKatSzures = string.Empty;
if (feladatKategoriaId.IsEntityId())
{
parameters.Add(new CommandParameter(nameof(feladatKategoriaId), feladatKategoriaId.Value));
feladKatSzures = $@"INNER JOIN T_OKTATASINEVELESIFELADAT_OSSZES oktNevFel ON oktNevFel.ID = feladHely.C_OKTATASINEVELESIFELADATTIPUS
AND feladHely.C_INTEZMENYID = oktNevFel.C_ALINTEZMENYID
AND feladHely.C_TANEVID = oktNevFel.C_ALTANEVID
AND oktNevFel.TOROLT = 'F'
AND oktNevFel.C_FELADATKATEGORIAID = @{nameof(feladatKategoriaId)} ";
}
var hasKovTanevSzures = string.Empty;
if (hasKovTanev.HasValue && hasKovTanev.Value)
{
hasKovTanevSzures = @"INNER JOIN T_FELADATELLATASIHELY_OSSZES kovTanevFelHely ON kovTanevFelHely.ELOZOTANEVIREKORDID = feladHely.ID";
}
var commandTextBuilder = new StringBuilder($@"
SELECT
feladHely.ID
,feladHely.C_OKTATASINEVELESIFELADATTIPUS AS OktNevFel
,CONCAT(mukodHely.C_NEV, ' - ', DIB.C_NAME) AS Nev
,mukodHely.ID AS MukodesiHelyID
FROM T_FELADATELLATASIHELY_OSSZES feladHely
INNER JOIN T_MUKODESIHELY_OSSZES mukodHely ON feladHely.C_MUKODESIHELYID = mukodHely.ID
INNER JOIN T_DICTIONARYITEMBASE_OSSZES DIB ON feladHely.C_OKTATASINEVELESIFELADATTIPUS = DIB.ID
AND feladHely.C_INTEZMENYID = DIB.C_INTEZMENYID
AND feladHely.C_TANEVID = DIB.C_TANEVID
{feladKatSzures}
{hasKovTanevSzures}
WHERE feladHely.TOROLT = 'F'
AND mukodHely.TOROLT = 'F'
And feladHely.C_TANEVID = @{nameof(tanevId)} ");
if (forEsl)
{
commandTextBuilder.Append(@" AND feladHely.C_OKTATASINEVELESIFELADATTIPUS NOT IN (1156, 1159, 1165, 1166, 1195, 1196, 6711) ");
}
if (forSzirStatTanulo)
{
commandTextBuilder.Append($@" AND feladHely.C_OKTATASINEVELESIFELADATTIPUS NOT IN ({(int)OktatasiNevelesiFeladatEnum.kollegium}, {(int)OktatasiNevelesiFeladatEnum.kollegium_nemzetisegi_}) ");
}
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandText = commandTextBuilder.ToString();
DataSet ds = GetData(command.CommandText, parameters);
return ds;
}
}
public List<int> GetFeladatellatasiHelyIdsBySelectedOktatasiNevelesiFeladat(int tanevId, int oktatasiNevelesiFeladatId)
{
var parameters = new List<CommandParameter>();
parameters.Add(new CommandParameter("ptanevId", tanevId));
parameters.Add(new CommandParameter("poktatasiNevelesiFeladatId", oktatasiNevelesiFeladatId));
StringBuilder commandTextBuilder = new StringBuilder(@"
SELECT feladatellatasiHely.ID
FROM T_FELADATELLATASIHELY_OSSZES feladatellatasiHely
INNER JOIN T_MUKODESIHELY_OSSZES mukodesiHely ON feladatellatasiHely.C_MUKODESIHELYID = mukodesiHely.ID
WHERE feladatellatasiHely.TOROLT = 'F'
AND mukodesiHely.TOROLT = 'F'
AND feladatellatasiHely.C_OKTATASINEVELESIFELADATTIPUS = :poktatasiNevelesiFeladatId
And feladatellatasiHely.C_TANEVID = :ptanevId");
using (SDA.DataProvider.SDACommand command = new SDA.DataProvider.SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandText = commandTextBuilder.ToString();
var ds = GetData(command.CommandText, parameters);
return ds.Tables[0].AsEnumerable().Select(x => x.Field<int>("ID")).ToList();
}
}
public DataSet GetFeladatEllatasiHelyByMukodesiHelyID(int mukodesiHelyID, int tanevId)
{
var paramlist = new List<CommandParameter>();
paramlist.Add(new CommandParameter("pMukodesiHelyID", mukodesiHelyID));
paramlist.Add(new CommandParameter("pTanevId", tanevId));
var commandText = @"
SELECT
ID ID,
C_OKTATASINEVELESIFELADATTIPUS OktatasiNevelesiFeladatTipus
FROM
T_FELADATELLATASIHELY_OSSZES
WHERE
TOROLT = 'F'
AND C_MUKODESIHELYID = :pMukodesiHelyID
and C_TANEVID = :pTanevId
";
DataSet ds = GetData(commandText, paramlist, dictionaryItemColumns: "OktatasiNevelesiFeladatTipus");
return ds;
}
public DataSet GetFeladatellatasiHelyByFeladatellatasiHelyNev(string feladatellatasiHelyNev, int tanevId)
{
var paramlist = new List<CommandParameter>();
paramlist.Add(new CommandParameter("pFeladatellatasiHelyNev", feladatellatasiHelyNev));
paramlist.Add(new CommandParameter("pTanevId", tanevId));
var commandText = @"
SELECT
f.ID FeladatellatasiHelyId
FROM
T_FELADATELLATASIHELY_OSSZES f
INNER JOIN T_MUKODESIHELY_OSSZES m ON f.C_MUKODESIHELYID = m.ID
WHERE
m.TOROLT = 'F'
AND m.C_NEV = :pFeladatellatasiHelyNev
and m.C_TANEVID = :pTanevId
";
DataSet ds = GetData(commandText, paramlist);
return ds;
}
public DataSet GetFeladatellatasiHelyDataSet(int tanevId)
{
const string commandText = @"
SELECT
fh.ID AS Id
,fh.C_OKTATASINEVELESIFELADATTIPUS AS OktatasiNevelesiFeladatTipusId
,mh.C_NEV AS MukodesiHelyNev
FROM T_FELADATELLATASIHELY_OSSZES fh
INNER JOIN T_MUKODESIHELY_OSSZES mh ON mh.ID = fh.C_MUKODESIHELYID AND mh.C_TANEVID = fh.C_TANEVID AND mh.TOROLT = 'F'
WHERE fh.C_TANEVID = :pTanevId
AND fh.TOROLT = 'F'
";
var commandParameterList = new List<CommandParameter> { new CommandParameter("pTanevId", tanevId) };
DataSet dataSet = GetData(commandText, commandParameterList, "OktatasiNevelesiFeladatTipusId");
return dataSet;
}
public DataSet GetFeladatellatasiHelyOsztalycsoportjai(int feladHelyID, int tanevId)
{
List<CommandParameter> param = new List<CommandParameter>();
param.Add(new CommandParameter("pFeladHelyID", feladHelyID));
param.Add(new CommandParameter("pTanevId", tanevId));
var command = @"
select
ocs.ID,
ocs.C_NEV Nev,
Tipus =
case
when (select count(*) from T_OSZTALY_OSSZES where ID = ocs.ID and T_OSZTALY_OSSZES.C_ALTANEVID = :pTanevId) > 0 then 'Osztály'
when (select count(*) from T_CSOPORT_OSSZES where ID = ocs.ID and T_CSOPORT_OSSZES.C_ALTANEVID = :pTanevId) > 0 then 'Csoport'
end,
ocs.C_EVFOLYAMTIPUSA Evfolyam,
isnull(LETSZAM.TANULOKSZAMA, 0) Letszam
from T_OSZTALYCSOPORT_OSSZES ocs
left join (
select C_OSZTALYCSOPORTID, count(C_TANULOID) TANULOKSZAMA from T_TANULOCSOPORT_OSSZES
where
T_TANULOCSOPORT_OSSZES.TOROLT = 'F' and T_TANULOCSOPORT_OSSZES.C_BELEPESDATUM < GETDATE() and
(T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM is null or T_TANULOCSOPORT_OSSZES.C_KILEPESDATUM > GETDATE())
group by
C_OSZTALYCSOPORTID
) LETSZAM on LETSZAM.C_OSZTALYCSOPORTID = ocs.ID
where
ocs.TOROLT = 'F' and
ocs.C_FELADATELLATASIHELYID = :pFeladHelyID and
ocs.C_TANEVID = :pTanevId
";
return this.GetData(command, param, "Evfolyam");
}
public DataSet GetFeladatellatasiHelyAlkalmazottjai(int feladHelyID, int tanevId)
{
List<CommandParameter> param = new List<CommandParameter>();
param.Add(new CommandParameter("pFeladHelyID", feladHelyID));
param.Add(new CommandParameter("pTanevId", tanevId));
var command = @"
select
T_FELHASZNALO_OSSZES.ID,
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV Nev,
T_MUNKAUGYIADATOK_OSSZES.C_MUNKAKORTIPUSA Munkakor,
T_MUNKAUGYIADATOK_OSSZES.C_MUNKAVISZONYTIPUSA Munkaviszony
from T_ALKALMAZOTT_OSSZES
inner join T_FELHASZNALO_OSSZES on T_FELHASZNALO_OSSZES.ID = T_ALKALMAZOTT_OSSZES.ID and T_FELHASZNALO_OSSZES.TOROLT = 'F'
inner join T_MUNKAUGYIADATOK_OSSZES on T_MUNKAUGYIADATOK_OSSZES.C_ALKALMAZOTTID = T_ALKALMAZOTT_OSSZES.ID and T_MUNKAUGYIADATOK_OSSZES.TOROLT = 'F'
where
T_ALKALMAZOTT_OSSZES.TOROLT = 'F' and
T_MUNKAUGYIADATOK_OSSZES.C_FELADATELLATASIHELYID = :pFeladHelyID and
T_ALKALMAZOTT_OSSZES.C_ALTANEVID = :pTanevId
union
select
T_FELHASZNALO_OSSZES.ID,
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV Nev,
T_TOVABBIMUNKAUGYIADATOK.C_MUNKAKORTIPUSA Munkakor,
T_TOVABBIMUNKAUGYIADATOK.C_MUNKAVISZONYTIPUSA Munkaviszony
from T_ALKALMAZOTT_OSSZES
inner join T_FELHASZNALO_OSSZES on T_FELHASZNALO_OSSZES.ID = T_ALKALMAZOTT_OSSZES.ID and T_FELHASZNALO_OSSZES.TOROLT = 'F'
inner join T_TOVABBIMUNKAUGYIADATOK on T_TOVABBIMUNKAUGYIADATOK.C_ALKALMAZOTTID = T_ALKALMAZOTT_OSSZES.ID and T_TOVABBIMUNKAUGYIADATOK.TOROLT = 'F'
where
T_ALKALMAZOTT_OSSZES.TOROLT = 'F' and
T_TOVABBIMUNKAUGYIADATOK.C_FELADATELLATASIHELYID = :pFeladHelyID and
T_ALKALMAZOTT_OSSZES.C_ALTANEVID = :pTanevId
";
return this.GetData(command, param, "Munkakor,Munkaviszony");
}
public DataSet GetFeladatellatasiHelyhezTartozoEvfolyamtipusok(int feladHelyID)
{
var ds = new DataSet();
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.Parameters.Add("pFeladHelyID", feladHelyID);
command.CommandText = @"select efokt.C_EVFOLYAMTIPUSID ID
,dib.C_NAME 'Name'
from T_EVFOLYAMTIPUS_OKTATASINEVELE efokt
INNER JOIN T_DICTIONARYITEMBASE_OSSZES dib ON efokt.C_EVFOLYAMTIPUSID = dib.ID AND dib.C_TANEVID = efokt.C_TANEVID AND dib.TOROLT = 'F'
INNER join T_FELADATELLATASIHELY_OSSZES fh on fh.C_OKTATASINEVELESIFELADATTIPUS = efokt.C_OKTATASINEVELESIFELADATID AND fh.C_TANEVID = efokt.C_TANEVID AND fh.TOROLT = 'F'
where fh.ID = :pFeladHelyID";
using (var adapter = new SDADataAdapter())
{
adapter.SelectCommand = command;
adapter.Fill(ds);
}
return ds;
}
}
public void Insert(IFeladatEllatasiHely entity)
{
((FeladatEllatasiHely)entity).Insert();
FollowUp(entity);
DalHelper.Commit();
}
public void Update(IFeladatEllatasiHely entity)
{
((FeladatEllatasiHely)entity).Update();
FollowUp(entity);
DalHelper.Commit();
}
public void Delete(int id)
{
var felhely = FeladatEllatasiHely.GiveAnInstance();
felhely.LoadByID(id);
felhely.EszkozIgenyles.DeleteAll();
felhely.Delete();
FollowUp(felhely);
DalHelper.Commit();
}
public void FollowUpFeladatellatasiHely(int intezmenyId, int aktTanevId, int kovetkezoTanevId, int feladatellatasiHelyId)
{
using (SDACommand command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.CommandText = "uspFollowUpFeladatellatasiHely";
command.Parameters.Add("intezmenyId", intezmenyId);
command.Parameters.Add("aktTanevId", aktTanevId);
command.Parameters.Add("kovetkezoTanevId", kovetkezoTanevId);
command.Parameters.Add("feladatellatasiHelyId", feladatellatasiHelyId);
command.CommandType = CommandType.StoredProcedure;
command.ExecuteNonQuery();
DalHelper.Commit();
}
}
public int GetFeladatKategoriaId(int feladatEllatasiHelyId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.Parameters.Add(nameof(feladatEllatasiHelyId), feladatEllatasiHelyId);
command.CommandText = $@"
SELECT onf.C_FELADATKATEGORIAID
FROM T_FELADATELLATASIHELY_OSSZES fh
INNER JOIN T_OKTATASINEVELESIFELADAT_OSSZES onf ON onf.ID = fh.C_OKTATASINEVELESIFELADATTIPUS AND fh.C_TANEVID = onf.C_ALTANEVID AND fh.C_INTEZMENYID = onf.C_ALINTEZMENYID AND onf.TOROLT = 'F'
WHERE fh.ID = @{nameof(feladatEllatasiHelyId)}
AND fh.TOROLT = 'F'
";
var result = command.ExecuteScalar();
int.TryParse(result?.ToString(), out int res);
return res;
}
}
public bool IsAzonosKategoria(int oldFeladhelyId, int newFeladhelyId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.Parameters.Add(nameof(oldFeladhelyId), oldFeladhelyId);
command.Parameters.Add(nameof(newFeladhelyId), newFeladhelyId);
command.CommandText = $@"
IF EXISTS (
SELECT 1
FROM T_FELADATELLATASIHELY_OSSZES oldFh
INNER JOIN T_OKTATASINEVELESIFELADAT_OSSZES oldOnf ON oldOnf.ID = oldFh.C_OKTATASINEVELESIFELADATTIPUS AND oldFh.C_TANEVID = oldOnf.C_ALTANEVID AND oldFh.C_INTEZMENYID = oldOnf.C_ALINTEZMENYID AND oldOnf.TOROLT = 'F'
INNER JOIN T_FELADATELLATASIHELY_OSSZES newFh ON oldFh.C_INTEZMENYID = newFh.C_INTEZMENYID
INNER JOIN T_OKTATASINEVELESIFELADAT_OSSZES newOnf ON newOnf.ID = newFh.C_OKTATASINEVELESIFELADATTIPUS AND newFh.C_TANEVID = newOnf.C_ALTANEVID AND newFh.C_INTEZMENYID = newOnf.C_ALINTEZMENYID AND newOnf.TOROLT = 'F'
WHERE oldFh.ID = @{nameof(oldFeladhelyId)}
AND newFh.ID = @{nameof(newFeladhelyId)}
AND oldFh.TOROLT = 'F'
AND newFh.TOROLT = 'F'
AND oldOnf.C_FELADATKATEGORIAID = newOnf.C_FELADATKATEGORIAID
)
SELECT 1
ELSE
SELECT 0
";
return Convert.ToBoolean(command.ExecuteScalar());
}
}
public bool IsMukodesiHelyNemModosithato(int tanevId, int feladatEllatasiHelyId)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.Parameters.Add(nameof(tanevId), tanevId);
command.Parameters.Add(nameof(feladatEllatasiHelyId), feladatEllatasiHelyId);
command.CommandText = $@"
Select COUNT(*) from T_OSZTALYCSOPORT_OSSZES ocs
Where ocs.TOROLT = 'F' and ocs.C_FELADATELLATASIHELYID = @{nameof(feladatEllatasiHelyId)} and ocs.C_TANEVID = @{nameof(tanevId)}";
var count = Convert.ToInt32(command.ExecuteScalar());
return count > 0;
}
}
public List<int> GetFeladatKategoriak(int tanevId, int itezmenyId)
{
var commandParameters = new List<CommandParameter>
{
new CommandParameter(nameof(tanevId), tanevId),
new CommandParameter(nameof(itezmenyId), itezmenyId)
};
string commandText = $@"
SELECT DISTINCT
onf.C_FELADATKATEGORIAID
FROM T_OKTATASINEVELESIFELADAT_OSSZES onf
INNER JOIN T_FELADATELLATASIHELY_OSSZES fh ON onf.ID = fh.C_OKTATASINEVELESIFELADATTIPUS AND onf.C_ALINTEZMENYID = fh.C_INTEZMENYID AND onf.C_ALTANEVID = fh.C_TANEVID AND fh.TOROLT = 'F'
WHERE onf.TOROLT = 'F' AND onf.C_ALTANEVID = @{nameof(tanevId)} AND onf.C_ALINTEZMENYID = @{nameof(itezmenyId)}
";
DataSet ds = GetData(commandText, commandParameters);
return ds.Tables[0].AsEnumerable().Select(r => r.Field<int>("C_FELADATKATEGORIAID")).ToList();
}
public List<OktNevelesiKategoriaEnum> GetFeladatKategoriakForLogin(int aktTanevId, int? kovTanevId, int itezmenyId)
{
try
{
var tanevIdString = $"{aktTanevId}" + (kovTanevId.IsEntityId() ? $",{kovTanevId.Value}" : string.Empty);
var commandParameters = new List<CommandParameter>
{
new CommandParameter(nameof(itezmenyId), itezmenyId)
};
string commandText = $@"
SELECT DISTINCT
onf.C_FELADATKATEGORIAID
FROM T_OKTATASINEVELESIFELADAT_OSSZES onf
INNER JOIN T_FELADATELLATASIHELY_OSSZES fh ON onf.ID = fh.C_OKTATASINEVELESIFELADATTIPUS AND onf.C_ALINTEZMENYID = fh.C_INTEZMENYID AND onf.C_ALTANEVID = fh.C_TANEVID AND fh.TOROLT = 'F'
WHERE onf.TOROLT = 'F' AND onf.C_ALTANEVID IN ({tanevIdString}) AND onf.C_ALINTEZMENYID = @{nameof(itezmenyId)}
";
DataSet ds = GetData(commandText, commandParameters);
return ds.Tables[0].AsEnumerable().Select(r => (OktNevelesiKategoriaEnum)r.Field<int>("C_FELADATKATEGORIAID")).ToList();
}
catch
{ return new List<OktNevelesiKategoriaEnum>(); }
}
#region Export
public DataSet GetMukodesiHelyekAdataiExcelExport(int tanevId)
{
var parameters = new List<CommandParameter> { new CommandParameter(nameof(tanevId), tanevId) };
var command = $@"
SELECT mukodesi.C_NEV as 'Működési hely neve'
, IIF(mukodesi.C_MUKODESIHELYAZONOSITO IS NULL, '-', mukodesi.C_MUKODESIHELYAZONOSITO) as 'Működési hely azonosító'
, IIF(mukodesi.C_IRANYITOSZAM IS NULL, '-', mukodesi.C_IRANYITOSZAM) as 'Irányítószám'
, IIF(mukodesi.C_VAROS IS NULL, '-', mukodesi.C_VAROS) as 'Helység neve'
, IIF(mukodesi.C_KOZTERULETNEV IS NULL, '-', mukodesi.C_KOZTERULETNEV) as 'Közterület neve'
, mukodesi.C_KOZTERULETJELLEGENEV as 'Közterület jellege'
, IIF(mukodesi.C_HAZSZAM IS NULL, '-', mukodesi.C_HAZSZAM) as 'Házszám'
, IIF(mukodesi.C_EMELET IS NULL, '-', mukodesi.C_EMELET) as 'Emelet'
, IIF(mukodesi.C_AJTO IS NULL, '-', mukodesi.C_AJTO) as 'Ajtó'
, IIF(mukodesi.C_TELEFONSZAM IS NULL, '-', mukodesi.C_TELEFONSZAM) as 'Telefonszám'
, IIF(mukodesi.C_FAX IS NULL, '-', mukodesi.C_FAX) as 'Fax'
, IIF(mukodesi.C_EMAILCIM IS NULL, '-', mukodesi.C_EMAILCIM) as 'E-mail cím'
, IIF(mukodesi.C_MUKODESIHELYTIPUSA IS NULL, '-', mhelytipus.C_NAME) as 'Működési hely típusa'
, IIF(mukodesi.C_VEZETONEVE IS NULL, '-', mukodesi.C_VEZETONEVE) AS 'Tagintézmény vezetője'
, IIF(mukodesi.C_TELEPHELYANYAINTEZMENYID IS NULL, '-', (SELECT C_NEV FROM T_MUKODESIHELY_OSSZES WHERE ID = mukodesi.C_TELEPHELYANYAINTEZMENYID)) AS 'A telephely anyaintézménye'
FROM T_MUKODESIHELY_OSSZES mukodesi
LEFT JOIN T_DICTIONARYITEMBASE_OSSZES mhelytipus ON mhelytipus.ID = mukodesi.C_MUKODESIHELYTIPUSA AND mhelytipus.C_TANEVID = mukodesi.C_TANEVID
WHERE
mukodesi.TOROLT = 'F' AND
mukodesi.C_TANEVID = @{nameof(tanevId)}
ORDER BY mukodesi.C_NEV
";
return GetData(command, parameters);
}
#endregion
public int GetKovTanevIdByAktTanevId(int id)
{
using (var command = new SDACommand())
{
command.Connection = UserContext.Instance.SDAConnection;
command.Transaction = UserContext.Instance.SDATransaction;
command.Parameters.Add(nameof(id), id);
command.CommandText = $@"
SELECT ID
FROM T_FELADATELLATASIHELY_OSSZES fh
WHERE
fh.ELOZOTANEVIREKORDID = @{nameof(id)}
AND fh.TOROLT = 'F'
";
var result = command.ExecuteScalar();
int.TryParse(result?.ToString(), out int res);
return res;
}
}
}
}