943 lines
40 KiB
C#
943 lines
40 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using Kreta.Core;
|
|
using Kreta.Core.FeatureToggle;
|
|
using Kreta.Core.Logic;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual.DataAccessObjects.Feljegyzes;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.ParameterClasses;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Framework;
|
|
using Kreta.Framework.Util;
|
|
using Kreta.Resources;
|
|
using SDA.DataProvider;
|
|
using SDA.Kreta.Entities;
|
|
|
|
namespace Kreta.DataAccessManual
|
|
{
|
|
internal class FeljegyzesDal : DataAccessBase, IFeljegyzesDal
|
|
{
|
|
public FeljegyzesDal(DalHandler handler, GridParameters parameters) : base(handler, parameters)
|
|
{
|
|
|
|
}
|
|
|
|
public FeljegyzesDal(DalHandler handler) : base(handler)
|
|
{
|
|
|
|
}
|
|
|
|
public ITanuloEsemeny Get()
|
|
{
|
|
return TanuloEsemeny.GiveAnInstance();
|
|
}
|
|
|
|
[Obsolete("Tároltra kell cserélni minél hamarabb")]
|
|
public ITanuloEsemeny GetSpecific(string condition, int tanevId)
|
|
{
|
|
var entity = TanuloEsemeny.LoadWithFilter(condition + $" AND C_TANEVID = {tanevId}").FirstOrDefault();
|
|
return entity;
|
|
}
|
|
|
|
public ITanuloEsemeny Get(int id)
|
|
{
|
|
var entity = TanuloEsemeny.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
return entity;
|
|
}
|
|
|
|
public void Insert(ITanuloEsemeny dto)
|
|
{
|
|
var entity = dto as TanuloEsemeny;
|
|
entity.IsErtesitesElkuldve = !FeatureContext.Instance.IsEnabled(Constants.FeatureName.SendFeljegyzesNotification);
|
|
entity.Insert();
|
|
|
|
dto.ID = entity.ID;
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void FullUpdate(ITanuloEsemeny dto)
|
|
{
|
|
var entity = dto as TanuloEsemeny;
|
|
entity.FullUpdate();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void DeleteFeljegyzes(int id)
|
|
{
|
|
var entity = Get(id) as TanuloEsemeny;
|
|
entity.Tanulo.RemoveAll();
|
|
entity.OsztalyCsoport.RemoveAll();
|
|
var fogadooraList = GetFogadooraByFeljegyzesId(id);
|
|
entity.TanuloEsemenyNyelv.DeleteAll();
|
|
foreach (var fogadooraId in fogadooraList)
|
|
{
|
|
var fogadooraEntity = DalHelper.Fogadoora().Get(fogadooraId);
|
|
fogadooraEntity.TanuloEsemeny = null;
|
|
}
|
|
Delete(entity);
|
|
}
|
|
|
|
public List<int> GetFogadooraByFeljegyzesId(int feljegyzesId)
|
|
{
|
|
var paramlist = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pFeljegyzesId", feljegyzesId),
|
|
};
|
|
|
|
var commandText = new StringBuilder(@"
|
|
SELECT ID FROM T_FOGADOORA WHERE TOROLT = 'F' AND C_TANULOESEMENYID = :pFeljegyzesId");
|
|
|
|
var ds = this.GetData(commandText.ToString(), paramlist);
|
|
|
|
var list = ds.Tables[0].AsEnumerable()
|
|
.Select(r => r.Field<int>("ID"))
|
|
.ToList();
|
|
|
|
return list;
|
|
}
|
|
|
|
public void DeleteBeiras(int id, int tanuloId)
|
|
{
|
|
var entity = Get(id) as TanuloEsemeny;
|
|
entity.TanuloEsemenyNyelv.DeleteAll();
|
|
if (entity.Tanulo.Count == 1 && entity.OsztalyCsoport.Count == 0)
|
|
{
|
|
entity.Torolt = true;
|
|
entity.Update();
|
|
DalHelper.Commit();
|
|
}
|
|
else
|
|
{
|
|
throw new Exception(ErrorResource.BeirasoknakCsakEgyTanulojaEsNullaOsztalyaLehet);
|
|
}
|
|
}
|
|
|
|
public void DeleteElektronikusUzenetForTanulo(int id, int tanuloId)
|
|
{
|
|
var entity = Get(id) as TanuloEsemeny;
|
|
var tanuloEntity = DalHelper.Tanulo().Get(tanuloId) as Tanulo;
|
|
entity.RemoveFromTanulo(tanuloEntity);
|
|
if (entity.Tanulo.Count == 0)
|
|
{
|
|
entity.OsztalyCsoport.RemoveAll();
|
|
Delete(entity);
|
|
}
|
|
else
|
|
{
|
|
entity.Mindenkinek = false;
|
|
entity.Update();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
|
|
public void Delete(ITanuloEsemeny dto)
|
|
{
|
|
var entity = dto as TanuloEsemeny;
|
|
entity.TanuloEsemenyNyelv.DeleteAll();
|
|
entity.Delete();
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public DataSet GetFeljegyzesBeirasokData(int intezmenyId, int tanevId, int osztalyCsoportId, DateTime startDate, int tanarId)
|
|
{
|
|
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 = "sp_GetFeljegyzesBeirasokData";
|
|
|
|
command.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId;
|
|
command.Parameters.Add("pStartDate", SDADBType.DateTime).Value = startDate;
|
|
command.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId;
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
SetBoolFields(ds.Tables[0], "Modosithato");
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
|
|
public DataSet GetFeljegyzesBeirasokReszletek(int intezmenyId, int? tanevId, int tanuloId, int tanarId, bool toroltElemek)
|
|
{
|
|
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 = "sp_GetFeljegyzesBeirasokReszletek";
|
|
|
|
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId;
|
|
command.Parameters.Add("pToroltElemek", SDADBType.Char).Value = toroltElemek ? 'T' : 'F';
|
|
command.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId;
|
|
command.Parameters.Add("pEsemenyTipusElektronikusUzenetId", SDADBType.Int).Value = (int)EsemenyTipusEnum.ElektronikusUzenet;
|
|
command.Parameters.Add("pEsemenyTipusFaliujsagBejegyzesId", SDADBType.Int).Value = (int)EsemenyTipusEnum.FaliujsagBejegyzes;
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
SetDNAME(ds.Tables[0], "Tipus");
|
|
SetBoolFields(ds.Tables[0], "Torolt,Modosithato");
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
|
|
public DataSet GetFeljegyzesElektronikusUzenetekNaploNezetData(int intezmenyId, int tanevId, int osztalyCsoportId, DateTime startDate, int tanarId)
|
|
{
|
|
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 = "sp_GetFeljegyzesElektronikusUzenetekNaploNezetData";
|
|
|
|
command.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId;
|
|
command.Parameters.Add("pStartDate", SDADBType.DateTime).Value = startDate;
|
|
command.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId;
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
SetBoolFields(ds.Tables[0], "Modosithato");
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
|
|
public DataSet GetFeljegyzesElektronikusUzenetekNaploNezetReszletek(int intezmenyId, int? tanevId, int tanuloId, int tanarId, bool toroltElemek)
|
|
{
|
|
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 = "sp_GetFeljegyzesElektronikusUzenetekNaploNezetReszletek";
|
|
|
|
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId;
|
|
command.Parameters.Add("pToroltElemek", SDADBType.Char).Value = toroltElemek ? 'T' : 'F';
|
|
command.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId;
|
|
command.Parameters.Add("pEsemenyTipusElektronikusUzenetId", SDADBType.Int).Value = (int)EsemenyTipusEnum.ElektronikusUzenet;
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
SetDNAME(ds.Tables[0], "Tipus");
|
|
SetBoolFields(ds.Tables[0], "Torolt,Modosithato");
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
|
|
public DataSet GetFeljegyzesElektronikusUzenetekListaNezetData(int intezmenyId, int tanevId, int osztalyCsoportId, int tanarId)
|
|
{
|
|
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 = "sp_GetFeljegyzesElektronikusUzenetekListaNezetData";
|
|
|
|
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId;
|
|
command.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId;
|
|
command.Parameters.Add("pEsemenyTipusElektronikusUzenetId", SDADBType.Int).Value = (int)EsemenyTipusEnum.ElektronikusUzenet;
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
SetBoolFields(ds.Tables[0], "IsFaliujsagMegjelenes");
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
|
|
public DataSet GetFeljegyzesElektronikusUzenetekModifyPopupData(int osztalyCsoportId)
|
|
{
|
|
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 = "sp_GetFeljegyzesElektronikusUzenetekModifyPopupData";
|
|
|
|
command.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId;
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
|
|
public DataSet GetFeljegyzesFaliujsagBejegyzesekData(int tanarId, int esemenyTipusFaliujsagBejegyzesId)
|
|
{
|
|
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 = "sp_GetFeljegyzesFaliujsagBejegyzesekData";
|
|
|
|
command.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId;
|
|
command.Parameters.Add("pEsemenyTipusFaliujsagBejegyzesId", SDADBType.Int).Value = (int)EsemenyTipusEnum.FaliujsagBejegyzes;
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
SetBoolFields(ds.Tables[0], "IsFaliujsagMegjelenes");
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
|
|
public DataSet GetFeljegyzesFaliujsagBejegyzesekPopupData()
|
|
{
|
|
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 = "sp_GetFeljegyzesFaliujsagBejegyzesekPopupData";
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters);
|
|
|
|
return dt.AsDataSet();
|
|
}
|
|
|
|
public void AddTanulo(ITanuloEsemeny entity, int tanuloId)
|
|
{
|
|
var tanuloEntity = DalHelper.Tanulo().Get(tanuloId) as Tanulo;
|
|
(entity as TanuloEsemeny).AddToTanulo(tanuloEntity);
|
|
}
|
|
|
|
public void AddOsztalyCsoport(ITanuloEsemeny entity, int osztalyCsoportId)
|
|
{
|
|
var osztalyCsoportEntity = DalHelper.OsztalyCsoport().Get(osztalyCsoportId) as OsztalyCsoport;
|
|
(entity as TanuloEsemeny).AddToOsztalyCsoport(osztalyCsoportEntity);
|
|
}
|
|
|
|
public void RemoveTanulo(ITanuloEsemeny entity, int tanuloId)
|
|
{
|
|
var tanuloEntity = DalHelper.Tanulo().Get(tanuloId) as Tanulo;
|
|
(entity as TanuloEsemeny).RemoveFromTanulo(tanuloEntity);
|
|
}
|
|
|
|
public void RemoveOsztalyCsoport(ITanuloEsemeny entity, int osztalyCsoportId)
|
|
{
|
|
var osztalyCsoportEntity = DalHelper.OsztalyCsoport().Get(osztalyCsoportId) as OsztalyCsoport;
|
|
(entity as TanuloEsemeny).RemoveFromOsztalyCsoport(osztalyCsoportEntity);
|
|
}
|
|
|
|
public DataSet GetLegutobbiFeljegyzesek(int tanuloId)
|
|
{
|
|
/*TODO:Tobb Osztaly*//*OM-1563*/
|
|
var command = new StringBuilder(@"
|
|
SELECT TOP 6
|
|
T_TANULOESEMENY.ID Id
|
|
,T_TANULOESEMENY.C_ESEMENYDATUMA EsemenyDatuma
|
|
,T_TANULOESEMENY.C_TIPUS Tipus
|
|
,T_FELHASZNALO.C_NYOMTATASINEV Tanar
|
|
FROM
|
|
T_TANULOESEMENY
|
|
INNER JOIN
|
|
T_TANULO_TANULOESEMENY ON
|
|
T_TANULOESEMENY.ID = T_TANULO_TANULOESEMENY.C_TANULOESEMENYID
|
|
INNER JOIN
|
|
T_FELHASZNALO ON
|
|
T_TANULOESEMENY.C_FELJEGYZOID = T_FELHASZNALO.ID
|
|
WHERE
|
|
T_TANULOESEMENY.TOROLT = 'F'
|
|
AND T_TANULO_TANULOESEMENY.C_TANULOID = :pTanuloId
|
|
ORDER BY
|
|
T_TANULOESEMENY.C_ESEMENYDATUMA DESC");
|
|
|
|
var parameters = new List<CommandParameter> {
|
|
new CommandParameter("pTanuloId", tanuloId)
|
|
};
|
|
|
|
DataSet ds = GetData(command.ToString(), parameters, "Tipus");
|
|
|
|
return ds;
|
|
}
|
|
|
|
/// INFO @DevKornel: Mobil használja
|
|
public DataSet GetTanuloFeljegyzesei(int tanuloId, DateTime? fromDate = null, DateTime? toDate = null, int? id = null, OktNevelesiKategoriaEnum? feladatKategoria = null)
|
|
{
|
|
var parameters = new List<CommandParameter> {
|
|
new CommandParameter("pTanuloId", tanuloId)
|
|
};
|
|
if (feladatKategoria.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pFeladatKategoriaId", (int)feladatKategoria));
|
|
}
|
|
|
|
var command = new StringBuilder(@"
|
|
SELECT DISTINCT
|
|
te.ID ID
|
|
,te.C_ESEMENYDATUMA Datum
|
|
,te.C_TIPUS Tipus
|
|
,f.C_NYOMTATASINEV Tanar
|
|
,IIF(f.C_NEVSORREND = 'T',
|
|
f.C_UTONEV + ' ' + f.C_VEZETEKNEV,
|
|
f.C_VEZETEKNEV + ' ' + f.C_UTONEV) TanarElotagNelkul
|
|
,tte.C_TANULOID TanuloId
|
|
,te.C_TARTALOM Tartalom
|
|
,te.C_MEGJEGYZES Megjegyzes
|
|
,te.CREATED KeszitesDatuma
|
|
,te.C_TARGY Cim
|
|
,CASE WHEN f.C_NYOMTATASINEV = 'Rendszerüzenet'
|
|
THEN NULL
|
|
ELSE COALESCE(tanitasiOra.C_OSZTALYCSOPORTID, ocste.C_OSZTALYCSOPORTID, NULL)
|
|
END OsztalyCsoportId
|
|
FROM T_TANULOESEMENY te
|
|
INNER JOIN T_TANULO_TANULOESEMENY tte ON te.ID = tte.C_TANULOESEMENYID
|
|
INNER JOIN T_FELHASZNALO f ON te.C_FELJEGYZOID = f.ID
|
|
LEFT JOIN T_TANITASIORA tanitasiOra ON tanitasiOra.ID = te.C_TANITASIORAID
|
|
LEFT JOIN T_OSZTALYCSOPORT ocs ON tanitasiOra.C_OSZTALYCSOPORTID = ocs.ID
|
|
LEFT JOIN T_OSZTALYCSOPORT_TANULOESEMENY ocste ON te.ID = ocste.C_TANULOESEMENYID AND ocste.C_OSZTALYCSOPORTID = ocs.ID
|
|
WHERE te.TOROLT = 'F'
|
|
AND tte.C_TANULOID = :pTanuloId" +
|
|
(feladatKategoria.HasValue ?
|
|
@" AND (ocs.C_FELADATKATEGORIAID = :pFeladatKategoriaId OR ocs.C_FELADATKATEGORIAID IS NULL)" : ""));
|
|
|
|
if (id.HasValue)
|
|
{
|
|
command.Append(@" AND :pId = te.ID");
|
|
parameters.Add(new CommandParameter("pId", id.Value));
|
|
}
|
|
|
|
if (fromDate.HasValue)
|
|
{
|
|
command.Append(@" AND :pFromDate <= te.C_ESEMENYDATUMA");
|
|
parameters.Add(new CommandParameter("pFromDate", fromDate.Value));
|
|
}
|
|
|
|
if (toDate.HasValue)
|
|
{
|
|
command.Append(@" AND te.C_ESEMENYDATUMA <= :pToDate");
|
|
parameters.Add(new CommandParameter("pToDate", toDate.Value));
|
|
}
|
|
|
|
DataSet ds = GetData(command.ToString(), parameters, "Tipus");
|
|
|
|
return ds;
|
|
}
|
|
|
|
public DataSet FeljegyzesekKereses(FeljegyzesekKeresesePCO feljegyzesekKeresesePco, int intezmenyId)
|
|
{
|
|
using (var sdaCommand = new SDACommand())
|
|
{
|
|
sdaCommand.Connection = UserContext.Instance.SDAConnection;
|
|
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
|
|
sdaCommand.CommandType = CommandType.StoredProcedure;
|
|
sdaCommand.CommandText = "uspFeljegyzesekKereses";
|
|
|
|
if (feljegyzesekKeresesePco.OsztalyId.IsEntityId())
|
|
{
|
|
sdaCommand.Parameters.Add("pOsztalyId", feljegyzesekKeresesePco.OsztalyId);
|
|
}
|
|
|
|
if (feljegyzesekKeresesePco.FeladatKategoriaId.IsEntityId())
|
|
{
|
|
sdaCommand.Parameters.Add("OktNevKatTipus", feljegyzesekKeresesePco.FeladatKategoriaId);
|
|
}
|
|
|
|
if (feljegyzesekKeresesePco.FeladatEllatasiHelyId.IsEntityId())
|
|
{
|
|
sdaCommand.Parameters.Add("pFeladatEllatasiHelyId", feljegyzesekKeresesePco.FeladatEllatasiHelyId);
|
|
}
|
|
|
|
if (feljegyzesekKeresesePco.TanuloId.IsEntityId())
|
|
{
|
|
sdaCommand.Parameters.Add("pTanuloId", feljegyzesekKeresesePco.TanuloId);
|
|
}
|
|
|
|
if (feljegyzesekKeresesePco.OsztalyCsoportId.IsEntityId())
|
|
{
|
|
sdaCommand.Parameters.Add("pOsztalyCsoportId", feljegyzesekKeresesePco.OsztalyCsoportId);
|
|
}
|
|
|
|
if (feljegyzesekKeresesePco.FeljegyzoId.IsEntityId())
|
|
{
|
|
sdaCommand.Parameters.Add("pFeljegyzoId", feljegyzesekKeresesePco.FeljegyzoId);
|
|
}
|
|
|
|
if (feljegyzesekKeresesePco.TipusId.IsEntityId())
|
|
{
|
|
sdaCommand.Parameters.Add("pTipus", feljegyzesekKeresesePco.TipusId);
|
|
}
|
|
|
|
if (feljegyzesekKeresesePco.DatumTol.HasValue && feljegyzesekKeresesePco.DatumTol.Value != DateTime.MinValue)
|
|
{
|
|
sdaCommand.Parameters.Add("pDatumTol", feljegyzesekKeresesePco.DatumTol);
|
|
}
|
|
|
|
if (feljegyzesekKeresesePco.DatumIg.HasValue && feljegyzesekKeresesePco.DatumIg.Value != DateTime.MinValue)
|
|
{
|
|
sdaCommand.Parameters.Add("pDatumIg", feljegyzesekKeresesePco.DatumIg);
|
|
}
|
|
|
|
if (feljegyzesekKeresesePco.RogzitesDatumTol.HasValue && feljegyzesekKeresesePco.RogzitesDatumTol.Value != DateTime.MinValue)
|
|
{
|
|
sdaCommand.Parameters.Add("pRogzitesDatumTol", feljegyzesekKeresesePco.RogzitesDatumTol);
|
|
}
|
|
|
|
if (feljegyzesekKeresesePco.RogzitesDatumIg.HasValue && feljegyzesekKeresesePco.RogzitesDatumIg.Value != DateTime.MinValue)
|
|
{
|
|
sdaCommand.Parameters.Add("pRogzitesDatumIg", feljegyzesekKeresesePco.RogzitesDatumIg);
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(feljegyzesekKeresesePco.FeljegyzesSzovege))
|
|
{
|
|
sdaCommand.Parameters.Add("pFeljegyzesSzovege", SDADBType.String).Value = feljegyzesekKeresesePco.FeljegyzesSzovege;
|
|
}
|
|
|
|
if (feljegyzesekKeresesePco.SzervezetTipusId.IsEntityId())
|
|
{
|
|
sdaCommand.Parameters.Add("pSzervezetTipusId", SDADBType.Int).Value = feljegyzesekKeresesePco.SzervezetTipusId;
|
|
}
|
|
|
|
if (feljegyzesekKeresesePco.SzervezetIdList?.Any() ?? false)
|
|
{
|
|
var pSzervezetIdListString = string.Join(",", feljegyzesekKeresesePco.SzervezetIdList.Select(x => x.ToString()));
|
|
sdaCommand.Parameters.Add("pSzervezetIdListString", SDADBType.String).Value = pSzervezetIdListString;
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(feljegyzesekKeresesePco.SzervezetNev))
|
|
{
|
|
sdaCommand.Parameters.Add("pSzervezetNev", SDADBType.String).Value = feljegyzesekKeresesePco.SzervezetNev.ToLowerInvariant();
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(feljegyzesekKeresesePco.SzervezetAzonosito))
|
|
{
|
|
sdaCommand.Parameters.Add("pSzervezetAzonosito", SDADBType.String).Value = feljegyzesekKeresesePco.SzervezetAzonosito.ToLowerInvariant();
|
|
}
|
|
|
|
var isElektronikusUzenet = feljegyzesekKeresesePco.TipusId.HasValue && feljegyzesekKeresesePco.TipusId == (int)EsemenyTipusEnum.ElektronikusUzenet;
|
|
|
|
sdaCommand.Parameters.Add("pIsKellKapcsolodoCsoportok", feljegyzesekKeresesePco.IsKellKapcsolodoCsoportok);
|
|
sdaCommand.Parameters.Add("pIsElektronikusUzenet", isElektronikusUzenet);
|
|
sdaCommand.Parameters.Add("pElektronikusUzenetTipusEnum", (int)EsemenyTipusEnum.ElektronikusUzenet);
|
|
sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = feljegyzesekKeresesePco.TanevId;
|
|
sdaCommand.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
|
|
|
|
var dataSet = new DataSet();
|
|
using (var sdaDataAdapter = new SDADataAdapter())
|
|
{
|
|
sdaDataAdapter.SelectCommand = sdaCommand;
|
|
sdaDataAdapter.Fill(dataSet);
|
|
}
|
|
|
|
SetDNAME(dataSet.Tables[0], "Tipus");
|
|
|
|
return dataSet;
|
|
}
|
|
}
|
|
|
|
public DataSet FaliujsagKereses(FeljegyzesekKeresesePCO feljegyzesekKeresesePCO)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspGetFaliujsagBejegyzesekData";
|
|
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = feljegyzesekKeresesePCO.TanevId;
|
|
if (feljegyzesekKeresesePCO.FeladatKategoriaId.IsEntityId())
|
|
{
|
|
command.Parameters.Add("pOktNevKatTipus", SDADBType.Int).Value = feljegyzesekKeresesePCO.FeladatKategoriaId.Value;
|
|
}
|
|
if (feljegyzesekKeresesePCO.FeladatEllatasiHelyId.IsEntityId())
|
|
{
|
|
command.Parameters.Add("pFeladatEllatasiHelyId", SDADBType.Int).Value = feljegyzesekKeresesePCO.FeladatEllatasiHelyId.Value;
|
|
}
|
|
if (feljegyzesekKeresesePCO.OsztalyCsoportId.IsEntityId())
|
|
{
|
|
command.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = feljegyzesekKeresesePCO.OsztalyCsoportId.Value;
|
|
}
|
|
command.Parameters.Add("pIsKellKapcsolodoCsoportok", feljegyzesekKeresesePCO.IsKellKapcsolodoCsoportok);
|
|
if (feljegyzesekKeresesePCO.FeljegyzoId.IsEntityId())
|
|
{
|
|
command.Parameters.Add("pFeljegyzoId", SDADBType.Int).Value = feljegyzesekKeresesePCO.FeljegyzoId.Value;
|
|
}
|
|
if (feljegyzesekKeresesePCO.DatumTol.HasValue && feljegyzesekKeresesePCO.DatumTol.Value != DateTime.MinValue)
|
|
{
|
|
command.Parameters.Add("pDatumTol", SDADBType.DateTime).Value = feljegyzesekKeresesePCO.DatumTol.Value;
|
|
}
|
|
if (feljegyzesekKeresesePCO.DatumIg.HasValue && feljegyzesekKeresesePCO.DatumIg.Value != DateTime.MinValue)
|
|
{
|
|
command.Parameters.Add("pDatumIg", SDADBType.DateTime).Value = feljegyzesekKeresesePCO.DatumIg.Value;
|
|
}
|
|
command.Parameters.Add("pTipus", SDADBType.Int).Value = (int)EsemenyTipusEnum.FaliujsagBejegyzes;
|
|
|
|
var ds = new DataSet();
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
adapter.Fill(ds);
|
|
}
|
|
|
|
SetDNAME(ds.Tables[0], "Tipus");
|
|
|
|
return ds;
|
|
}
|
|
}
|
|
|
|
/// INFO @DevKornel: Mobil használja
|
|
public void SetFeljegyzesAsKikuldott(int feljegyzesId)
|
|
{
|
|
var commandText = @"UPDATE T_TANULOESEMENY SET
|
|
C_ISERTESITESELKULDVE = 'T',
|
|
LASTCHANGED = GETDATE(),
|
|
SERIAL = SERIAL + 1
|
|
WHERE ID = :pId";
|
|
|
|
using (var command = UserContext.Instance.SDAConnection.CreateCommand(commandText))
|
|
{
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.Parameters.Add("pId", feljegyzesId);
|
|
command.ExecuteNonQuery();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
|
|
public DataSet GetFaliujsagExcelExport(FeljegyzesekKeresesePCO feljegyzesekKeresesePCO)
|
|
{
|
|
List<CommandParameter> parameters = new List<CommandParameter>();
|
|
StringBuilder command = new StringBuilder(@"
|
|
SELECT DISTINCT
|
|
ocs.C_NEV AS [Osztály / Csoport],
|
|
CONVERT(nvarchar(25), T_TANULOESEMENY.C_ESEMENYDATUMA, 102) AS [Feljegyzés dátuma],
|
|
T_TANULOESEMENY.C_TARTALOM AS [Feljegyzés szövege],
|
|
IIF(FELJEGYZO.C_NEVSORREND = 'T',
|
|
FELJEGYZO.C_UTONEV + ' ' + FELJEGYZO.C_VEZETEKNEV,
|
|
FELJEGYZO.C_VEZETEKNEV + ' ' + FELJEGYZO.C_UTONEV) AS [Feljegyző neve],
|
|
T_TANULOESEMENY.C_MEGJEGYZES AS [Megjegyzés]
|
|
FROM T_TANULOESEMENY
|
|
INNER JOIN T_OSZTALYCSOPORT_TANULOESEMENY ON T_OSZTALYCSOPORT_TANULOESEMENY.C_TANULOESEMENYID = T_TANULOESEMENY.ID
|
|
INNER JOIN T_FELHASZNALO FELJEGYZO ON FELJEGYZO.ID = T_TANULOESEMENY.C_FELJEGYZOID AND FELJEGYZO.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT ocs ON ocs.ID = T_OSZTALYCSOPORT_TANULOESEMENY.C_OSZTALYCSOPORTID
|
|
AND ocs.TOROLT = 'F'
|
|
AND (@OktNevKatTipus IS NULL OR ocs.C_FELADATKATEGORIAID = @OktNevKatTipus)
|
|
AND (@pFeladatEllatasiHelyId IS NULL OR ocs.C_FELADATELLATASIHELYID = @pFeladatEllatasiHelyId)
|
|
LEFT JOIN T_OSZTALY ON T_OSZTALY.ID = ocs.ID AND T_OSZTALY.TOROLT = 'F'
|
|
WHERE T_TANULOESEMENY.TOROLT = 'F' ");
|
|
if (feljegyzesekKeresesePCO.FeladatKategoriaId.IsEntityId())
|
|
{
|
|
parameters.Add(new CommandParameter("OktNevKatTipus", feljegyzesekKeresesePCO.FeladatKategoriaId));
|
|
}
|
|
else
|
|
{
|
|
parameters.Add(new CommandParameter("OktNevKatTipus", DBNull.Value));
|
|
}
|
|
if (feljegyzesekKeresesePCO.FeladatEllatasiHelyId.HasValue)
|
|
{
|
|
parameters.Add(new CommandParameter("pFeladatEllatasiHelyId", feljegyzesekKeresesePCO.FeladatEllatasiHelyId));
|
|
}
|
|
else
|
|
{
|
|
parameters.Add(new CommandParameter("pFeladatEllatasiHelyId", DBNull.Value));
|
|
}
|
|
if (feljegyzesekKeresesePCO.OsztalyCsoportId.HasValue && !string.IsNullOrWhiteSpace(feljegyzesekKeresesePCO.OsztalyCsoportId.Value.ToString()))
|
|
{
|
|
parameters.Add(new CommandParameter("pOsztalyCsoportId", feljegyzesekKeresesePCO.OsztalyCsoportId));
|
|
command.AppendFormat(@" AND ocs.ID IN (SELECT ID FROM fnGetKapcsolodoOsztalycsoportok(:pOsztalyCsoportId))");
|
|
|
|
}
|
|
if (feljegyzesekKeresesePCO.FeljegyzoId.HasValue && feljegyzesekKeresesePCO.FeljegyzoId.Value > 0)
|
|
{
|
|
command.AppendFormat(@" AND T_TANULOESEMENY.C_FELJEGYZOID = :pFeljegyzoId ");
|
|
parameters.Add(new CommandParameter("pFeljegyzoId", feljegyzesekKeresesePCO.FeljegyzoId));
|
|
}
|
|
|
|
if (feljegyzesekKeresesePCO.DatumTol.HasValue && feljegyzesekKeresesePCO.DatumTol.Value != DateTime.MinValue)
|
|
{
|
|
command.AppendFormat(@" AND T_TANULOESEMENY.C_ESEMENYDATUMA >= :pDatumTol ");
|
|
parameters.Add(new CommandParameter("pDatumTol", feljegyzesekKeresesePCO.DatumTol));
|
|
}
|
|
|
|
if (feljegyzesekKeresesePCO.DatumIg.HasValue && feljegyzesekKeresesePCO.DatumIg.Value != DateTime.MinValue)
|
|
{
|
|
command.AppendFormat(@" AND T_TANULOESEMENY.C_ESEMENYDATUMA <= :pDatumIg ");
|
|
parameters.Add(new CommandParameter("pDatumIg", feljegyzesekKeresesePCO.DatumIg));
|
|
}
|
|
command.AppendFormat(@" AND T_TANULOESEMENY.C_TIPUS = " + ((int)EsemenyTipusEnum.FaliujsagBejegyzes).ToString() + " ");
|
|
DataSet ds = GetData(command.ToString(), parameters);
|
|
|
|
return ds;
|
|
}
|
|
|
|
public bool CheckUgyiratszamExists(string ugyiratszam)
|
|
{
|
|
var result = false;
|
|
|
|
using (SDACommand command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.Text;
|
|
|
|
command.Parameters.Add("pUgyiratszam", ugyiratszam);
|
|
|
|
command.CommandText = @"
|
|
SELECT COUNT(ID)
|
|
FROM T_IGAZOLAS
|
|
WHERE
|
|
TOROLT = 'F'
|
|
AND C_UGYIRATSZAM = ':pUgyiratszam'
|
|
";
|
|
|
|
var cmdResult = command.ExecuteScalar();
|
|
if (cmdResult.ToString() == "1")
|
|
result = true;
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
/// INFO @DevKornel: Mobil használja
|
|
public Dictionary<int, bool> GetIsFeljegyzeshezTartozoOsztalyAlapkepzesesByFeljegyzesIdDictionary(List<int> feljegyzesIdFilters)
|
|
{
|
|
var response = new Dictionary<int, bool>();
|
|
List<CommandParameter> parameters = new List<CommandParameter>
|
|
{
|
|
new CommandParameter("pFeladatKategoriaId", (int)OktNevelesiKategoriaEnum.NevelesOktatas),
|
|
};
|
|
|
|
string commandText = $@"SELECT
|
|
Esemeny.ID,
|
|
IIF(OsztalyCsoport.C_FELADATKATEGORIAID = :pFeladatKategoriaId OR OsztalyCsoportFaliujsag.C_FELADATKATEGORIAID = :pFeladatKategoriaId OR (OsztalyCsoport.C_FELADATKATEGORIAID IS NULL AND OsztalyCsoportFaliujsag.C_FELADATKATEGORIAID IS NULL), 1, 0) IsFeljegyzeshezTartozoOsztalyAlapkepzesesVagyTanulohoz
|
|
FROM T_TANULOESEMENY Esemeny
|
|
LEFT JOIN T_TANITASIORA Tanora ON Tanora.ID = Esemeny.C_TANITASIORAID
|
|
LEFT JOIN T_OSZTALYCSOPORT OsztalyCsoport ON OsztalyCsoport.ID = Tanora.C_OSZTALYCSOPORTID
|
|
LEFT JOIN T_OSZTALYCSOPORT_TANULOESEMENY OsztalyCsoportTanuloEsemeny ON Esemeny.ID = OsztalyCsoportTanuloEsemeny.C_TANULOESEMENYID
|
|
LEFT JOIN T_OSZTALYCSOPORT OsztalyCsoportFaliujsag ON OsztalyCsoportFaliujsag.ID = OsztalyCsoportTanuloEsemeny.C_OSZTALYCSOPORTID
|
|
WHERE Esemeny.ID IN ({string.Join(",", feljegyzesIdFilters)})";
|
|
|
|
DataSet ds = GetData(commandText, parameters);
|
|
foreach (DataRow item in ds.Tables[0].Rows)
|
|
{
|
|
response.Add(item.Field<int>("Id"), item.Field<int>("IsFeljegyzeshezTartozoOsztalyAlapkepzesesVagyTanulohoz") == 1);
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
/// INFO @DevKornel: Mobil használja
|
|
public DataTable GetFaliujsagonMegjelenoBejegyzesek(int userId, DateTime? date, OktNevelesiKategoriaEnum? feladatKategoria, int? startindex = null, int? count = null)
|
|
{
|
|
using (var command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
|
|
command.CommandText = "sp_GetFaliujsagBejegyzesek";
|
|
command.Parameters.Add("pUserId", userId);
|
|
command.Parameters.Add("pDate", date ?? DateTime.Today);
|
|
command.Parameters.Add("pEsemenyTipusFaliujsagBejegyzes", EsemenyTipusEnum.FaliujsagBejegyzes);
|
|
|
|
if (feladatKategoria.HasValue)
|
|
{ command.Parameters.Add("pFeladatKategoriaId", (int)feladatKategoria); }
|
|
else
|
|
{ command.Parameters.Add("pFeladatKategoriaId", DBNull.Value); }
|
|
|
|
var dts = new DataTable();
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = command;
|
|
if (startindex.HasValue && count.HasValue)
|
|
{
|
|
adapter.Fill(dts, startindex.Value, startindex.Value + count.Value - 1);
|
|
}
|
|
else
|
|
{
|
|
adapter.Fill(dts);
|
|
}
|
|
}
|
|
|
|
SetDNAME(dts, "Munkakor");
|
|
return dts;
|
|
}
|
|
}
|
|
|
|
public DataSet GetAllSchemaRendszeruzenetFeljegyzesNotification()
|
|
{
|
|
using (var sdaCommand = new SDACommand())
|
|
{
|
|
sdaCommand.Connection = UserContext.Instance.SDAConnection;
|
|
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
sdaCommand.CommandType = CommandType.StoredProcedure;
|
|
sdaCommand.CommandText = "uspGetAllSchemaKikuldendoRendszeruzenet";
|
|
|
|
var result = new DataSet();
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = sdaCommand;
|
|
adapter.Fill(result);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public List<FeljegyzesDao> GetAllSchemaFeljegyzesNotification()
|
|
{
|
|
var result = new List<FeljegyzesDao>();
|
|
|
|
var ds = new DataSet();
|
|
|
|
using (var sdaCommand = new SDACommand())
|
|
{
|
|
sdaCommand.Connection = UserContext.Instance.SDAConnection;
|
|
sdaCommand.Transaction = UserContext.Instance.SDATransaction;
|
|
|
|
sdaCommand.CommandType = CommandType.StoredProcedure;
|
|
sdaCommand.CommandText = "uspGetAllSchemaKikuldendoFeljegyzes";
|
|
|
|
using (var adapter = new SDADataAdapter())
|
|
{
|
|
adapter.SelectCommand = sdaCommand;
|
|
adapter.Fill(ds);
|
|
}
|
|
}
|
|
|
|
foreach (var item in ds.Tables[0].ToDaoList<FeljegyzesDao>())
|
|
{
|
|
result.Add(item);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public void SetFeljegyzesAsKikuldott(IEnumerable<int> idList)
|
|
{
|
|
if (!idList.Any())
|
|
{
|
|
return;
|
|
}
|
|
|
|
using (SDACommand command = new SDACommand())
|
|
{
|
|
command.Connection = UserContext.Instance.SDAConnection;
|
|
command.Transaction = UserContext.Instance.SDATransaction;
|
|
command.CommandType = CommandType.StoredProcedure;
|
|
command.CommandText = "uspSetFeljegyzesAsKikuldott";
|
|
command.Parameters.Add("item_list", SqlLogic.ParseListToParameter(idList.ToList()));
|
|
command.ExecuteNonQuery();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
|
|
public void UpdateBeirasNyelv(ITanuloEsemenyNyelv dto)
|
|
{
|
|
var entity = dto as TanuloEsemenyNyelv;
|
|
entity.Update();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void InsertBeirasNyelv(ITanuloEsemenyNyelv dto)
|
|
{
|
|
var entity = dto as TanuloEsemenyNyelv;
|
|
entity.Insert();
|
|
dto.ID = entity.ID;
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public ITanuloEsemenyNyelv GetBeirasNyelv()
|
|
{
|
|
return TanuloEsemenyNyelv.GiveAnInstance();
|
|
}
|
|
|
|
public void DeleteBeirasNyelv(int Id)
|
|
{
|
|
var entity = Get(Id) as TanuloEsemeny;
|
|
entity.TanuloEsemenyNyelv.DeleteAll();
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
}
|