528 lines
24 KiB
C#
528 lines
24 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Text;
|
|
using Kreta.Core.Logic;
|
|
using Kreta.DataAccess.Interfaces;
|
|
using Kreta.DataAccessManual.Interfaces;
|
|
using Kreta.DataAccessManual.Util;
|
|
using Kreta.Enums;
|
|
using Kreta.Framework.Entities;
|
|
using Kreta.Framework.Util;
|
|
using SDA.DataProvider;
|
|
using SDA.Kreta.Entities;
|
|
|
|
namespace Kreta.DataAccessManual
|
|
{
|
|
internal class LepEloadasJegyzekDal : DataAccessBase, ILepEloadasJegyzekDal
|
|
{
|
|
public LepEloadasJegyzekDal(DalHandler handler, GridParameters gridParameters) : base(handler, gridParameters)
|
|
{ }
|
|
|
|
public LepEloadasJegyzekDal(DalHandler handler) : base(handler)
|
|
{ }
|
|
|
|
#region BaseCRUD
|
|
|
|
public ILepEloadasJegyzek Get()
|
|
{
|
|
return LepEloadasJegyzek.GiveAnInstance();
|
|
}
|
|
|
|
public ILepEloadasJegyzek Get(int id)
|
|
{
|
|
var entity = LepEloadasJegyzek.GiveAnInstance();
|
|
entity.LoadByID(id);
|
|
return entity;
|
|
}
|
|
|
|
public void Insert(ILepEloadasJegyzek dto)
|
|
{
|
|
var entity = dto as LepEloadasJegyzek;
|
|
entity.Insert();
|
|
dto.ID = entity.ID;
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void FullUpdate(ILepEloadasJegyzek dto)
|
|
{
|
|
var entity = dto as LepEloadasJegyzek;
|
|
entity.FullUpdate(true);
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void Update(ILepEloadasJegyzek dto)
|
|
{
|
|
var entity = dto as LepEloadasJegyzek;
|
|
entity.Update();
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
public void Delete(ILepEloadasJegyzek dto)
|
|
{
|
|
var entity = dto as LepEloadasJegyzek;
|
|
entity.Delete();
|
|
DalHelper.Commit();
|
|
}
|
|
|
|
#endregion
|
|
|
|
public DataSet GetEloadasJegyzekek(int tanevId, int eloadasId, int felhasznaloId, bool isMindenEvfolyamJog, DateTime datum, int evfolyamId, string szervezetNev, string eloadasNev, DateTime kezdete, DateTime vege, string eloadasHelyszin)
|
|
{
|
|
var paramsList = new List<CommandParameter>()
|
|
{
|
|
new CommandParameter(nameof(tanevId), tanevId),
|
|
new CommandParameter(nameof(eloadasId), eloadasId),
|
|
new CommandParameter(nameof(felhasznaloId), felhasznaloId),
|
|
new CommandParameter(nameof(isMindenEvfolyamJog), isMindenEvfolyamJog ? 1 : 0),
|
|
new CommandParameter(nameof(datum), datum),
|
|
new CommandParameter(nameof(evfolyamId), evfolyamId),
|
|
new CommandParameter(nameof(szervezetNev), szervezetNev),
|
|
new CommandParameter(nameof(eloadasNev), eloadasNev),
|
|
new CommandParameter(nameof(kezdete), kezdete),
|
|
new CommandParameter(nameof(vege), vege),
|
|
new CommandParameter(nameof(eloadasHelyszin), eloadasHelyszin)
|
|
};
|
|
|
|
var command = new StringBuilder($@"
|
|
SELECT
|
|
x.ID
|
|
,x.EloadasId
|
|
,x.Megjelent
|
|
,x.TanuloId
|
|
,x.TanuloNev
|
|
,x.TanuloOktAzon
|
|
,x.IntezmenyAzon
|
|
,x.IntezmenyNev
|
|
,x.OsztalyCsoportNev
|
|
,x.isErasable
|
|
,@{nameof(datum)} as datum
|
|
,@{nameof(evfolyamId)} as EvfolyamId
|
|
,@{nameof(szervezetNev)} as szervezetNev
|
|
,@{nameof(eloadasNev)} as eloadasNev
|
|
,@{nameof(kezdete)} as kezdete
|
|
,@{nameof(vege)} as vege
|
|
,@{nameof(eloadasHelyszin)} as eloadasHelyszin
|
|
,x.GondviseloElfogadas
|
|
FROM (
|
|
SELECT DISTINCT
|
|
ROW_NUMBER() OVER (PARTITION BY fh.ID ORDER BY IIF((@{nameof(isMindenEvfolyamJog)} = 1 or o.ID is not null or cs.ID is not null), 'T', 'F') desc) rn
|
|
,e.ID as ID
|
|
,e.C_ELOADASID as EloadasId
|
|
,e.C_MEGJELENT as Megjelent
|
|
,e.C_FELHASZNALOID as TanuloId
|
|
,fh.C_NYOMTATASINEV as TanuloNev
|
|
,fh.C_OKTATASIAZONOSITO as TanuloOktAzon
|
|
,i.C_AZONOSITO as IntezmenyAzon
|
|
,ia.C_NEV as IntezmenyNev
|
|
,y.Osztalynev as OsztalyCsoportNev
|
|
,e.C_GONDVISELOALTALENGEDELYEZVE as GondviseloElfogadas
|
|
,IIF(( @{nameof(isMindenEvfolyamJog)} = 1 or o.ID is not null or cs.ID is not null), 'T', 'F') as isErasable
|
|
FROM T_LEPELOADASJEGYZEK_OSSZES e
|
|
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = e.C_FELHASZNALOID AND fh.TOROLT = 'F'
|
|
INNER JOIN T_INTEZMENYADATOK_OSSZES ia on ia.C_INTEZMENYID = fh.C_INTEZMENYID and ia.C_TANEVID = fh.C_TANEVID and ia.TOROLT = 'F'
|
|
INNER JOIN T_INTEZMENY_OSSZES i on i.ID = fh.C_INTEZMENYID and i.TOROLT = 'F'
|
|
INNER JOIN T_TANULOCSOPORT tcs ON tcs.C_TANULOID = fh.ID AND tcs.TOROLT = 'F'
|
|
CROSS APPLY fnGetTanuloOsztalyString(e.C_FELHASZNALOID, @datum,default,default,default, NULL) y
|
|
LEFT JOIN T_OSZTALY tanuloOsztaly on tanuloOsztaly.ID = tcs.C_OSZTALYCSOPORTID and tanuloOsztaly.TOROLT = 'F'
|
|
LEFT JOIN T_OSZTALY o on o.ID = tcs.C_OSZTALYCSOPORTID and o.TOROLT = 'F' and (o.C_OSZTALYFONOKID = @{nameof(felhasznaloId)} or o.C_OFOHELYETTESID = @{nameof(felhasznaloId)})
|
|
LEFT JOIN T_CSOPORT cs on cs.ID = tcs.C_OSZTALYCSOPORTID and cs.TOROLT = 'F' and cs.C_CSOPORTVEZETOID = @{nameof(felhasznaloId)}
|
|
WHERE e.TOROLT = 'F'
|
|
AND e.C_TANEVID = @{nameof(tanevId)}
|
|
AND e.C_ELOADASID = @{nameof(eloadasId)}
|
|
) AS x
|
|
WHERE
|
|
rn = 1
|
|
");
|
|
|
|
return GetData(command.ToString(), paramsList);
|
|
}
|
|
|
|
public DataSet GetTanulokForEloadas(int tanevId, int eloadasId, int evfolyamId, string filter, int? osztfoId = null)
|
|
{
|
|
var paramsList = new List<CommandParameter>()
|
|
{
|
|
new CommandParameter(nameof(tanevId), tanevId),
|
|
new CommandParameter(nameof(eloadasId), eloadasId),
|
|
new CommandParameter(nameof(evfolyamId), evfolyamId)
|
|
};
|
|
var command = new StringBuilder($@"
|
|
SELECT DISTINCT
|
|
t.ID as TanuloId,
|
|
fh.C_NYOMTATASINEV as TanuloNev
|
|
FROM T_TANULO_OSSZES t
|
|
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = t.ID
|
|
AND fh.C_NYOMTATASINEV LIKE '%{filter}%'
|
|
AND fh.C_TANEVID = t.C_ALTANEVID
|
|
AND fh.TOROLT = 'F'
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = t.ID
|
|
AND tcs.C_TANEVID = t.C_ALTANEVID
|
|
AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID
|
|
AND ocs.C_EVFOLYAMTIPUSA = @{nameof(evfolyamId)}
|
|
AND ocs.C_TANEVID = t.C_ALTANEVID
|
|
AND ocs.TOROLT = 'F'
|
|
AND NOT EXISTS(
|
|
SELECT TOP 1 ID
|
|
FROM T_LEPELOADASJEGYZEK_OSSZES eaj
|
|
WHERE eaj.C_FELHASZNALOID = t.ID
|
|
AND eaj.C_ELOADASID = @{nameof(eloadasId)}
|
|
AND eaj.C_TANEVID = t.C_ALTANEVID
|
|
AND eaj.TOROLT = 'F')" + (osztfoId.HasValue ? $@"
|
|
LEFT JOIN T_OSZTALY o ON o.ID=ocs.ID AND (o.C_OSZTALYFONOKID= " + osztfoId.ToString() + @" OR o.C_OFOHELYETTESID = " + osztfoId.ToString() + @")
|
|
LEFT JOIN T_CSOPORT cs ON cs.ID=ocs.ID AND (" + osztfoId.ToString() + @" IS NULL OR cs.C_CSOPORTVEZETOID=" + osztfoId.ToString() + @")" : "") + $@"
|
|
WHERE t.C_ALTANEVID = @{nameof(tanevId)} AND t.TOROLT = 'F' " + (osztfoId.HasValue ? $@"AND NOT (o.ID IS NULL AND cs.ID IS NULL)" : "") + $@"
|
|
ORDER BY fh.C_NYOMTATASINEV
|
|
");
|
|
|
|
return GetData(command.ToString(), paramsList);
|
|
}
|
|
|
|
public DataSet GetOsztalyokForEloadas(int tanevId, int eloadasId, int evfolyamId, int? osztfoId = null)
|
|
{
|
|
var paramsList = new List<CommandParameter>()
|
|
{
|
|
new CommandParameter(nameof(tanevId), tanevId),
|
|
new CommandParameter(nameof(evfolyamId), evfolyamId),
|
|
};
|
|
|
|
var command = new StringBuilder($@"
|
|
select
|
|
ocs.ID as Id
|
|
,ocs.C_NEV as Nev
|
|
from T_OSZTALYCSOPORT ocs
|
|
join T_OSZTALY o on o.ID = ocs.ID and o.TOROLT = 'F'
|
|
where
|
|
ocs.C_EVFOLYAMTIPUSA = @{nameof(evfolyamId)}
|
|
and ocs.C_TANEVID = @{nameof(tanevId)}
|
|
and ocs.TOROLT = 'F' "
|
|
+ (osztfoId.HasValue ? $@" and (o.C_OSZTALYFONOKID = " + osztfoId.ToString() + " or C_OFOHELYETTESID = " + osztfoId.ToString() + " ) " : "")
|
|
+ " order by ocs.C_NEV"
|
|
);
|
|
|
|
return GetData(command.ToString(), paramsList);
|
|
}
|
|
|
|
public DataSet GetJelentkeztetettOsztalyokIdForEloadas(int tanevId, int eloadasId, int? osztalyFonokId = null)
|
|
{
|
|
var paramsList = new List<CommandParameter>()
|
|
{
|
|
new CommandParameter("pTanevId", tanevId),
|
|
new CommandParameter("pEloadasId", eloadasId),
|
|
};
|
|
|
|
var command = new StringBuilder($@"
|
|
SELECT o.ID
|
|
FROM T_OSZTALY_OSSZES o
|
|
WHERE o.TOROLT = 'F'
|
|
AND EXISTS(
|
|
SELECT *
|
|
FROM T_LEPELOADASJEGYZEK_OSSZES lj
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = lj.C_FELHASZNALOID
|
|
WHERE lj.C_TANEVID = :pTanevId
|
|
AND lj.C_ELOADASID = :pEloadasId
|
|
AND lj.TOROLT = 'F'
|
|
AND tcs.TOROLT = 'F'
|
|
AND tcs.C_TANULOID = lj.C_FELHASZNALOID
|
|
AND tcs.C_OSZTALYCSOPORTID = o.ID
|
|
)
|
|
"
|
|
+ (osztalyFonokId.HasValue ? $@" AND (o.C_OSZTALYFONOKID = " + osztalyFonokId.ToString() + " OR C_OFOHELYETTESID = " + osztalyFonokId.ToString() + " ) " : "")
|
|
);
|
|
|
|
return GetData(command.ToString(), paramsList);
|
|
|
|
}
|
|
|
|
public DataSet GetTanuloEloadasai(int felhasznaloId)
|
|
{
|
|
var paramsList = new List<CommandParameter>()
|
|
{
|
|
new CommandParameter(nameof(felhasznaloId), felhasznaloId)
|
|
};
|
|
var command = new StringBuilder($@"
|
|
SELECT DISTINCT
|
|
e.C_ELOADASID as EloadasId
|
|
,e.C_GONDVISELOALTALENGEDELYEZVE as GondviseloElfogadas
|
|
,e.C_MEGJELENT as Megjelent
|
|
FROM T_LEPELOADASJEGYZEK_OSSZES e
|
|
WHERE e.TOROLT = 'F'
|
|
AND e.C_FELHASZNALOID = @{nameof(felhasznaloId)}
|
|
AND e.TOROLT = 'F'
|
|
");
|
|
|
|
return GetData(command.ToString(), paramsList, booleanColumns: "Megjelent");
|
|
}
|
|
|
|
public DataSet GetEloadasJelentkezesEmailData(int id)
|
|
{
|
|
var paramsList = new List<CommandParameter>()
|
|
{
|
|
new CommandParameter(nameof(id), id)
|
|
};
|
|
|
|
var command = new StringBuilder($@"
|
|
select
|
|
f.ID as TanuloId
|
|
,f.C_NYOMTATASINEV as Nev
|
|
,f.C_NYOMTATASINEV as TanuloNev
|
|
,y.Osztalynev as TanuloOsztalyNev
|
|
,ISNULL(ia.C_NEV, '-') as IntezmenyNev
|
|
,ISNULL(ia.C_EMAILCIM, '-') as IntezmenyEmail
|
|
,e.C_EMAILCIM as EmailCim
|
|
from T_LEPELOADASJEGYZEK ej
|
|
join T_FELHASZNALO f on f.ID = ej.C_FELHASZNALOID and f.TOROLT = 'F'
|
|
CROSS APPLY fnGetTanuloOsztalyString(ej.C_FELHASZNALOID, GETDATE(),default,default,default, NULL) y
|
|
join T_EMAIL e on e.C_FELHASZNALOID = ej.C_FELHASZNALOID and e.TOROLT = 'F'
|
|
join T_INTEZMENYADATOK ia on ia.C_INTEZMENYID = ej.C_INTEZMENYID and ia.C_TANEVID = ej.C_TANEVID
|
|
where
|
|
ej.C_ELOADASID = @{nameof(id)} and ej.TOROLT = 'F' and e.C_GONDVISELOID is null
|
|
union
|
|
select
|
|
g.C_TANULOID as TanuloId
|
|
,g.C_NEV
|
|
,f.C_NYOMTATASINEV as TanuloNev
|
|
,y.Osztalynev as TanuloOsztalyNev
|
|
,ISNULL(ia.C_NEV, '-') as IntezmenyNev
|
|
,ISNULL(ia.C_EMAILCIM, '-') as IntezmenyEmail
|
|
,e.C_EMAILCIM as EmailCim
|
|
from T_LEPELOADASJEGYZEK ej
|
|
join T_GONDVISELO g on g.C_TANULOID = ej.C_FELHASZNALOID and g.TOROLT = 'F'
|
|
join T_FELHASZNALO f on f.ID = ej.C_FELHASZNALOID and f.TOROLT = 'F'
|
|
CROSS APPLY fnGetTanuloOsztalyString(ej.C_FELHASZNALOID, GETDATE(),default,default,default, NULL) y
|
|
join T_EMAIL e on e.C_GONDVISELOID = g.ID and e.TOROLT = 'F' AND e.C_ALAPERTELMEZETT = 'T'
|
|
join T_INTEZMENYADATOK ia on ia.C_INTEZMENYID = ej.C_INTEZMENYID and ia.C_TANEVID = ej.C_TANEVID
|
|
where
|
|
ej.C_ELOADASID = @{nameof(id)} and ej.TOROLT = 'F'
|
|
");
|
|
|
|
return GetData(command.ToString(), paramsList);
|
|
}
|
|
|
|
public DataSet GetEloadasLemondasEmailData(int id)
|
|
{
|
|
var paramsList = new List<CommandParameter>()
|
|
{
|
|
new CommandParameter(nameof(id), id)
|
|
};
|
|
|
|
var command = new StringBuilder($@"
|
|
select
|
|
f.ID as TanuloId
|
|
,f.C_NYOMTATASINEV as Nev
|
|
,f.C_NYOMTATASINEV as TanuloNev
|
|
,y.Osztalynev as TanuloOsztalyNev
|
|
,ia.C_NEV as IntezmenyNev
|
|
,ia.C_EMAILCIM as IntezmenyEmail
|
|
,e.C_EMAILCIM as EmailCim
|
|
from T_LEPELOADASJEGYZEK_OSSZES ej
|
|
join T_FELHASZNALO f on f.ID = ej.C_FELHASZNALOID and f.TOROLT = 'F'
|
|
CROSS APPLY fnGetTanuloOsztalyString(ej.C_FELHASZNALOID, GETDATE(),default,default,default, NULL) y
|
|
join T_EMAIL e on e.C_FELHASZNALOID = ej.C_FELHASZNALOID and e.TOROLT = 'F'
|
|
join T_INTEZMENYADATOK ia on ia.C_INTEZMENYID = ej.C_INTEZMENYID and ia.C_TANEVID = ej.C_TANEVID
|
|
where
|
|
ej.ID = @{nameof(id)} and e.C_GONDVISELOID is null
|
|
union
|
|
select
|
|
g.C_TANULOID as TanuloId
|
|
,g.C_NEV
|
|
,f.C_NYOMTATASINEV as TanuloNev
|
|
,y.Osztalynev as TanuloOsztalyNev
|
|
,ia.C_NEV as IntezmenyNev
|
|
,ia.C_EMAILCIM as IntezmenyEmail
|
|
,e.C_EMAILCIM as EmailCim
|
|
from T_LEPELOADASJEGYZEK_OSSZES ej
|
|
join T_GONDVISELO g on g.C_TANULOID = ej.C_FELHASZNALOID and g.TOROLT = 'F'
|
|
join T_FELHASZNALO f on f.ID = ej.C_FELHASZNALOID and f.TOROLT = 'F'
|
|
CROSS APPLY fnGetTanuloOsztalyString(ej.C_FELHASZNALOID, GETDATE(),default,default,default, NULL) y
|
|
join T_EMAIL e on e.C_GONDVISELOID = g.ID and e.TOROLT = 'F' AND e.C_ALAPERTELMEZETT = 'T'
|
|
join T_INTEZMENYADATOK ia on ia.C_INTEZMENYID = ej.C_INTEZMENYID and ia.C_TANEVID = ej.C_TANEVID
|
|
where
|
|
ej.ID = @{nameof(id)}
|
|
");
|
|
|
|
return GetData(command.ToString(), paramsList);
|
|
}
|
|
|
|
public int GetTorlendoTanuloSzam(int intezmenyId, int tanevId, int eloadasId, int osztalyId)
|
|
{
|
|
var paramsList = new List<CommandParameter>()
|
|
{
|
|
new CommandParameter(nameof(intezmenyId), intezmenyId),
|
|
new CommandParameter(nameof(tanevId), tanevId),
|
|
new CommandParameter(nameof(eloadasId), eloadasId),
|
|
new CommandParameter(nameof(osztalyId), osztalyId)
|
|
};
|
|
|
|
var command = new StringBuilder($@"
|
|
select
|
|
count(1) as TorlendoDiakSzam
|
|
from T_TANULOCSOPORT tcs
|
|
join T_LEPELOADASJEGYZEK ej on ej.C_FELHASZNALOID = tcs.C_TANULOID and ej.C_ELOADASID = @{nameof(eloadasId)} and ej.TOROLT = 'F'
|
|
where
|
|
tcs.C_OSZTALYCSOPORTID = @{nameof(osztalyId)} and tcs.C_INTEZMENYID = @{nameof(intezmenyId)} and tcs.C_TANEVID = @{nameof(tanevId)}
|
|
");
|
|
|
|
var data = GetData(command.ToString(), paramsList);
|
|
return data.Tables[0].Rows[0].Field<int>("TorlendoDiakSzam");
|
|
}
|
|
|
|
public void DeleteTanulokForEloadasByOsztaly(int intezmenyId, int tanevId, int eloadasId, int osztalyId)
|
|
{
|
|
string commandText = @"
|
|
update ej
|
|
set
|
|
TOROLT = 'T'
|
|
from T_LEPELOADASJEGYZEK ej
|
|
join T_TANULOCSOPORT tcs on tcs.C_TANULOID = ej.C_FELHASZNALOID and ej.C_ELOADASID = :pEloadasId and tcs.C_OSZTALYCSOPORTID = :pOsztalyId and tcs.TOROLT = 'F'
|
|
where
|
|
C_ELOADASID = :pEloadasId and ej.C_INTEZMENYID = :pIntezmenyId and ej.C_TANEVID = :pTanevId
|
|
";
|
|
|
|
using (SDACommand command = DAUtil.CreateCommand(commandText))
|
|
{
|
|
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pEloadasId", SDADBType.Int).Value = eloadasId;
|
|
command.Parameters.Add("pOsztalyId", SDADBType.Int).Value = osztalyId;
|
|
command.ExecuteNonQuery();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
|
|
public bool SaveGondviseloEngedelyezes(int intezmenyId, int tanevId, int eloadasId, int tanuloId, int gondviseloId, string dontes)
|
|
{
|
|
string commandText = @"
|
|
update ej
|
|
set
|
|
C_GONDVISELOALTALENGEDELYEZVE = :pDontes
|
|
,C_GONDVISELOID = :pGondviseloId
|
|
,SERIAL += 1
|
|
,LASTCHANGED = GETDATE()
|
|
,MODIFIER = :pGondviseloId
|
|
from T_LEPELOADASJEGYZEK ej
|
|
where
|
|
C_ELOADASID = :pEloadasId and ej.C_INTEZMENYID = :pIntezmenyId and ej.C_TANEVID = :pTanevId
|
|
and C_FELHASZNALOID = :pTanuloId
|
|
";
|
|
|
|
using (SDACommand command = DAUtil.CreateCommand(commandText))
|
|
{
|
|
command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId;
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pEloadasId", SDADBType.Int).Value = eloadasId;
|
|
command.Parameters.Add("pGondviseloId", SDADBType.Int).Value = gondviseloId;
|
|
command.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId;
|
|
command.Parameters.Add("pDontes", SDADBType.String).Value = dontes;
|
|
var result = command.ExecuteNonQuery() == 1;
|
|
|
|
DalHelper.Commit();
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public DataSet GetTanulokForEloadasWithMegjelent(int eloadasId, DateTime eloadasDatum)
|
|
{
|
|
var paramsList = new List<CommandParameter>()
|
|
{
|
|
new CommandParameter(nameof(eloadasId), eloadasId),
|
|
new CommandParameter(nameof(eloadasDatum), eloadasDatum),
|
|
new CommandParameter("oktNevelesiKategoriaId", (int)OktNevelesiKategoriaEnum.NevelesOktatas)
|
|
};
|
|
|
|
var command = new StringBuilder($@"
|
|
select distinct
|
|
x.EvfolyamTipusId as EvfolyamId
|
|
,dic.C_NAME as EvfolyamNev
|
|
,x.ID as OsztalyId
|
|
,x.OsztalyNev as OsztalyNev
|
|
,ej.C_MEGJELENT as Megjelent
|
|
,ej.C_FELHASZNALOID as TanuloId
|
|
,ej.TOROLT as Torolt
|
|
from T_LEPELOADASJEGYZEK_OSSZES ej
|
|
CROSS APPLY fnGetTanuloOsztaly(ej.C_FELHASZNALOID, @{nameof(eloadasDatum)},@oktNevelesiKategoriaId,default,default) x
|
|
LEFT JOIN T_DICTIONARYITEMBASE dic on dic.ID = x.EvfolyamTipusId and dic.C_INTEZMENYID = ej.C_INTEZMENYID and dic.C_TANEVID = ej.C_TANEVID
|
|
where
|
|
ej.C_ELOADASID = @{nameof(eloadasId)} --and ej.TOROLT = 'F'
|
|
");
|
|
|
|
return GetData(command.ToString(), paramsList);
|
|
}
|
|
|
|
public DataSet GetEloadasokTanuloinakOsszesitoje(int tanevId, List<int> osztalyIdList, int oktNevKategoria)
|
|
{
|
|
string osztalySzures = string.Empty;
|
|
if (osztalyIdList?.Count > 0)
|
|
{
|
|
osztalySzures = string.Format("AND tcs.C_OSZTALYCSOPORTID IN ({0})", SqlLogic.ParseListToParameter(osztalyIdList));
|
|
}
|
|
|
|
string oktNevKategoriaSzures = string.Empty;
|
|
if (oktNevKategoria > 0)
|
|
{
|
|
oktNevKategoriaSzures = string.Format("AND ocs.C_FELADATKATEGORIAID = {0}", oktNevKategoria);
|
|
}
|
|
|
|
var paramsList = new List<CommandParameter>()
|
|
{
|
|
new CommandParameter(nameof(tanevId), tanevId)
|
|
};
|
|
|
|
var command = new StringBuilder($@"
|
|
SELECT DISTINCT
|
|
f.C_NYOMTATASINEV AS 'Diák neve'
|
|
,f.C_OKTATASIAZONOSITO AS 'Oktatási azonosítója'
|
|
,ocs.C_NEV AS 'Osztálya'
|
|
,IIF(lej.C_MEGJELENT = 'T', 'Igen', 'Nem') AS 'Volt-e LEP előadáson az adott évben'
|
|
FROM T_TANULO_OSSZES t
|
|
INNER JOIN T_FELHASZNALO_OSSZES f ON f.ID = t.ID AND f.C_TANEVID = @{nameof(tanevId)} AND f.TOROLT = 'F'
|
|
INNER JOIN T_TANULOCSOPORT_OSSZES tcs ON tcs.C_TANULOID = t.ID {osztalySzures} AND tcs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tcs.C_OSZTALYCSOPORTID {oktNevKategoriaSzures} AND ocs.TOROLT = 'F'
|
|
INNER JOIN T_OSZTALY_OSSZES o ON o.ID = ocs.ID AND o.TOROLT = 'F'
|
|
LEFT JOIN T_LEPELOADASJEGYZEK_OSSZES lej ON lej.C_FELHASZNALOID = f.ID AND lej.C_MEGJELENT = 'T' AND lej.TOROLT = 'F'
|
|
ORDER BY ocs.C_NEV
|
|
");
|
|
|
|
return GetData(command.ToString(), paramsList);
|
|
}
|
|
|
|
public void DeleteTanulokByEloadasId(int tanevId, int eloadasId)
|
|
{
|
|
// NOTE: A MODIFIER = -13 azt jelenti, hogy KTR törölt, de a törlést mi írjuk az intézményi DB-be.
|
|
string commandText = @"
|
|
UPDATE ej
|
|
SET
|
|
TOROLT = 'T'
|
|
,SERIAL += 1
|
|
,LASTCHANGED = GETDATE()
|
|
,MODIFIER = -13
|
|
FROM T_LEPELOADASJEGYZEK_OSSZES ej
|
|
WHERE C_ELOADASID = :pEloadasId
|
|
AND ej.C_TANEVID = :pTanevId
|
|
AND ej.TOROLT = 'F'
|
|
|
|
UPDATE e
|
|
SET
|
|
TOROLT = 'T'
|
|
,SERIAL += 1
|
|
,LASTCHANGED = GETDATE()
|
|
,MODIFIER = -13
|
|
FROM T_LEPELOADAS_OSSZES e
|
|
WHERE C_ELOADASID = :pEloadasId
|
|
AND e.C_TANEVID = :pTanevId
|
|
AND e.TOROLT = 'F'
|
|
";
|
|
|
|
using (SDACommand command = DAUtil.CreateCommand(commandText))
|
|
{
|
|
command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId;
|
|
command.Parameters.Add("pEloadasId", SDADBType.Int).Value = eloadasId;
|
|
command.ExecuteNonQuery();
|
|
|
|
DalHelper.Commit();
|
|
}
|
|
}
|
|
}
|
|
}
|