108 lines
4 KiB
C#
108 lines
4 KiB
C#
using System;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Framework;
|
|
using SDA.DataProvider;
|
|
|
|
namespace Kreta.DataAccessManual
|
|
{
|
|
internal class OktatasNevelesiFeladatDal : DataAccessBase, IOktatasNevelesiFeladatDal
|
|
{
|
|
public OktatasNevelesiFeladatDal(DalHandler handler) : base(handler) { }
|
|
|
|
public bool IsAMIModuleActive(int tanevId)
|
|
{
|
|
return IsModuleActive(tanevId, (int)OktatasiNevelesiFeladatEnum.AlapfokuMuveszetoktatas, (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas);
|
|
}
|
|
|
|
public bool IsKollegiumModuleActive(int tanevId)
|
|
{
|
|
return IsModuleActive(tanevId, (int)OktatasiNevelesiFeladatEnum.kollegium, (int)OktNevelesiKategoriaEnum.Kollegium);
|
|
}
|
|
|
|
public bool IsEGYMIModuleActive(int tanevId)
|
|
{
|
|
return IsModuleActive(tanevId, (int)OktatasiNevelesiFeladatEnum.OvodaGyogypedagogia, (int)OktNevelesiKategoriaEnum.EGYMI);
|
|
}
|
|
|
|
private bool IsModuleActive(int tanevId, int nevelesiFeladatId, int nevelesiKategoriaId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.Parameters.Add("pTanevId", tanevId);
|
|
command.Parameters.Add("pId", nevelesiFeladatId);
|
|
command.Parameters.Add("pFeladatKategoriaId", nevelesiKategoriaId);
|
|
|
|
command.CommandText = @"
|
|
IF EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM T_OKTATASINEVELESIFELADAT_OSSZES o
|
|
WHERE o.C_ALTANEVID = :pTanevId AND o.TOROLT = 'F'
|
|
AND ID = :pId AND C_FELADATKATEGORIAID = :pFeladatKategoriaId
|
|
)
|
|
SELECT 1
|
|
ELSE
|
|
SELECT 0
|
|
";
|
|
|
|
return Convert.ToBoolean(command.ExecuteScalar());
|
|
}
|
|
}
|
|
|
|
public bool IsAzonosKategoria(int oldId, int newId)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
command.Parameters.Add(nameof(newId), newId);
|
|
command.Parameters.Add(nameof(oldId), oldId);
|
|
|
|
command.CommandText = $@"
|
|
IF EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM T_OKTATASINEVELESIFELADAT_OSSZES old
|
|
INNER JOIN T_OKTATASINEVELESIFELADAT_OSSZES new on new.ID = @{nameof(newId)}
|
|
WHERE old.ID = @{nameof(oldId)}
|
|
AND old.C_FELADATKATEGORIAID = new.C_FELADATKATEGORIAID
|
|
)
|
|
SELECT 1
|
|
ELSE
|
|
SELECT 0
|
|
";
|
|
|
|
return Convert.ToBoolean(command.ExecuteScalar());
|
|
}
|
|
}
|
|
|
|
public int GetFeladatKategoriaId(int id, int tanevId)
|
|
{
|
|
using (SDACommand command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters.Add(nameof(id), id);
|
|
command.Parameters.Add(nameof(tanevId), tanevId);
|
|
|
|
command.CommandText = $@"
|
|
SELECT TOP 1
|
|
C_FELADATKATEGORIAID
|
|
FROM T_OKTATASINEVELESIFELADAT_OSSZES
|
|
WHERE ID = @{nameof(id)}
|
|
AND C_ALTANEVID = @{nameof(tanevId)}
|
|
AND TOROLT = 'F'
|
|
";
|
|
|
|
var result = command.ExecuteScalar();
|
|
return result != DBNull.Value ? Convert.ToInt32(result) : 0;
|
|
}
|
|
}
|
|
}
|
|
}
|