528 lines
24 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|