init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
476
Kreta.DataAccessManual/TanmenetDAL.cs
Normal file
476
Kreta.DataAccessManual/TanmenetDAL.cs
Normal file
|
@ -0,0 +1,476 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using Kreta.Core;
|
||||
using Kreta.DataAccess.Interfaces;
|
||||
using Kreta.DataAccessManual.Interfaces;
|
||||
using Kreta.DataAccessManual.ParameterClasses;
|
||||
using Kreta.DataAccessManual.Util;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Util;
|
||||
using SDA.Kreta.Entities;
|
||||
|
||||
namespace Kreta.DataAccessManual
|
||||
{
|
||||
internal class TanmenetDal : DataAccessBase, ITanmenetDal
|
||||
{
|
||||
|
||||
public TanmenetDal(DalHandler handler) : base(handler)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public TanmenetDal(DalHandler handler, GridParameters parameters) : base(handler, parameters)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public DataSet GetTemakByTargyEsOsztCsop(int tantargyId = -1, int osztalyCsoportId = -1, int tanarID = -1)
|
||||
{
|
||||
var parameters = new List<CommandParameter>
|
||||
{
|
||||
new CommandParameter("pTantargyId", tantargyId), new CommandParameter("pOsztalyCsoportId", osztalyCsoportId),new CommandParameter("pTantarId", tanarID)
|
||||
};
|
||||
|
||||
var command = $@"
|
||||
SELECT
|
||||
ID ID,
|
||||
C_TEMA Tema,
|
||||
C_ORASZAM Sorsz
|
||||
FROM
|
||||
T_TANMENET
|
||||
WHERE
|
||||
TOROLT = 'F'
|
||||
{(tantargyId > 0 ? "AND C_TANTARGYID = :pTantargyId " : string.Empty)}
|
||||
{(osztalyCsoportId > 0 ? "AND C_OSZTALYCSOPORTID = :pOsztalyCsoportId" : string.Empty)}
|
||||
{(tanarID > 0 ? "AND C_FELTOLTOID = :pTantarId " : string.Empty)}";
|
||||
var ds = GetData(command, parameters);
|
||||
return ds;
|
||||
}
|
||||
|
||||
public DataSet GetTanmenetek(TanmenetKeresesePCO pco)
|
||||
{
|
||||
var parameters = new List<CommandParameter>();
|
||||
|
||||
var whereTanmenet = new StringBuilder();
|
||||
parameters.Add(new CommandParameter("pAlkalmazottID", pco.AlkalmazottID));
|
||||
|
||||
if (pco.OsztalyID.HasValue && pco.OsztalyID.Value > 0)
|
||||
{
|
||||
parameters.Add(new CommandParameter("pOsztalyID", pco.OsztalyID));
|
||||
whereTanmenet.Append(" AND tanmenet.C_OSZTALYCSOPORTID = :pOsztalyID");
|
||||
}
|
||||
if (pco.TantargyID.HasValue && pco.TantargyID.Value > 0)
|
||||
{
|
||||
parameters.Add(new CommandParameter("pTantargyID", pco.TantargyID));
|
||||
whereTanmenet.Append(" AND tanmenet.C_TANTARGYID = :pTantargyID");
|
||||
}
|
||||
|
||||
string commandText = $@"
|
||||
SELECT
|
||||
CAST(tantargy.ID AS VARCHAR) + CAST(osztalycsoport.ID AS VARCHAR) ID,
|
||||
tantargy.C_NEV TantargyNev,
|
||||
osztalycsoport.C_NEV OsztalyCsoportNev,
|
||||
MAX(szurtTanmenet.C_ORASZAM) OraszamMax,
|
||||
COUNT(szurtTanmenet.ID) OraszamCount,
|
||||
szurtTanmenet.C_FELTOLTOID FeltoltoID,
|
||||
tantargy.ID TantargyID,
|
||||
osztalycsoport.ID OsztalyCsoportID,
|
||||
foglalkozas.ID FoglalkozasID
|
||||
FROM (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
T_TANMENET tanmenet
|
||||
WHERE
|
||||
tanmenet.TOROLT = 'F' AND
|
||||
tanmenet.C_FELTOLTOID = :pAlkalmazottID
|
||||
{whereTanmenet}
|
||||
) szurtTanmenet
|
||||
LEFT JOIN
|
||||
T_TANTARGY tantargy ON
|
||||
tantargy.ID = szurtTanmenet.C_TANTARGYID
|
||||
LEFT JOIN
|
||||
T_OSZTALYCSOPORT osztalycsoport ON
|
||||
osztalycsoport.ID = szurtTanmenet.C_OSZTALYCSOPORTID
|
||||
LEFT JOIN
|
||||
T_FOGLALKOZAS foglalkozas ON
|
||||
foglalkozas.C_TANTARGYID = tantargy.ID AND
|
||||
foglalkozas.C_OSZTALYCSOPORTID = osztalycsoport.ID AND
|
||||
foglalkozas.C_TANARID = szurtTanmenet.C_FELTOLTOID
|
||||
WHERE
|
||||
foglalkozas.C_TANARID = :pAlkalmazottID
|
||||
GROUP BY
|
||||
tantargy.C_NEV,
|
||||
osztalycsoport.C_NEV,
|
||||
szurtTanmenet.C_FELTOLTOID,
|
||||
tantargy.ID,
|
||||
osztalycsoport.ID,
|
||||
foglalkozas.ID";
|
||||
|
||||
DataSet ds = GetData(commandText, parameters);
|
||||
return ds;
|
||||
}
|
||||
|
||||
/// INFO @DevKornel: Mobil használja
|
||||
public DataSet GetTanmenetek(int tantargyId, int osztalyId, int? userId = null, int? foglalkozasId = null, Guid? userIdpUniqueId = null)
|
||||
{
|
||||
List<CommandParameter> parameters = new List<CommandParameter>
|
||||
{
|
||||
new CommandParameter("pOsztalyId", osztalyId),
|
||||
new CommandParameter("pTantargyId", tantargyId)
|
||||
};
|
||||
|
||||
StringBuilder command = new StringBuilder(@"
|
||||
SELECT
|
||||
t.ID ID,
|
||||
t.C_ORASZAM Oraszam,
|
||||
t.C_NEV Nev,
|
||||
t.C_ROVIDNEV RovidNev,
|
||||
t.C_TEMA Tema,
|
||||
t.C_MEGJEGYZES Megjegyzes
|
||||
FROM T_TANMENET t
|
||||
INNER JOIN T_FOGLALKOZAS f on t.C_TANTARGYID = f.C_TANTARGYID
|
||||
AND t.C_OSZTALYCSOPORTID = f.C_OSZTALYCSOPORTID");
|
||||
|
||||
if (userIdpUniqueId.HasValue)
|
||||
{
|
||||
parameters.Add(new CommandParameter("pUserIdpUniqueId", userIdpUniqueId));
|
||||
command.AppendFormat(@" INNER JOIN T_FELHASZNALO felh on felh.C_IDPEGYEDIAZONOSITO = :pUserIdpUniqueId");
|
||||
}
|
||||
|
||||
command.AppendFormat(@"
|
||||
WHERE
|
||||
t.C_TANTARGYID = :pTantargyId
|
||||
AND t.C_OSZTALYCSOPORTID = :pOsztalyId");
|
||||
|
||||
if (userId.HasValue)
|
||||
{
|
||||
parameters.Add(new CommandParameter("pFeltoltoId", userId));
|
||||
command.AppendFormat(@" AND f.C_TANARID = :pFeltoltoId");
|
||||
command.AppendFormat(@" AND t.C_FELTOLTOID = :pFeltoltoId");
|
||||
}
|
||||
|
||||
if (foglalkozasId.HasValue)
|
||||
{
|
||||
parameters.Add(new CommandParameter("pFoglalkozasId", foglalkozasId));
|
||||
command.AppendFormat(@" AND f.ID = :pFoglalkozasId");
|
||||
}
|
||||
|
||||
if (userIdpUniqueId.HasValue)
|
||||
{
|
||||
command.AppendFormat(@" AND felh.ID = t.C_FELTOLTOID");
|
||||
command.AppendFormat(@" AND felh.ID = f.C_TANARID");
|
||||
}
|
||||
|
||||
return GetData(command.ToString(), parameters);
|
||||
}
|
||||
|
||||
public DataSet GetTantargyTanmenetei(int tantargyId, int tanevId)
|
||||
{
|
||||
var parameters = new List<CommandParameter>
|
||||
{
|
||||
new CommandParameter("pTantargyID", tantargyId),
|
||||
new CommandParameter("pTanevId", tanevId)
|
||||
};
|
||||
|
||||
var commandText = @"
|
||||
SELECT
|
||||
T_TANMENET_OSSZES.ID ID,
|
||||
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV Tanar,
|
||||
T_OSZTALYCSOPORT_OSSZES.C_NEV OsztalyCsoport,
|
||||
T_TANMENET_OSSZES.C_ORASZAM Oraszam,
|
||||
T_TANMENET_OSSZES.C_TEMA Tema
|
||||
FROM T_TANMENET_OSSZES
|
||||
INNER JOIN T_FELHASZNALO_OSSZES ON T_TANMENET_OSSZES.C_FELTOLTOID = T_FELHASZNALO_OSSZES.ID
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ON T_TANMENET_OSSZES.C_OSZTALYCSOPORTID = T_OSZTALYCSOPORT_OSSZES.ID
|
||||
WHERE
|
||||
T_TANMENET_OSSZES.TOROLT = 'F' AND
|
||||
T_TANMENET_OSSZES.C_TANTARGYID = :pTantargyID AND
|
||||
T_TANMENET_OSSZES.C_TANEVID = :pTanevId
|
||||
";
|
||||
|
||||
var ds = GetData(commandText, parameters);
|
||||
return ds;
|
||||
}
|
||||
|
||||
public DataSet GetOsztalyCsoportTanmenetei(int osztalyCsoportId, int tanevId, OktNevelesiKategoriaEnum? kategoria)
|
||||
{
|
||||
var parameters = new List<CommandParameter> {
|
||||
new CommandParameter("pOsztalyCsoportID", osztalyCsoportId),
|
||||
new CommandParameter("pTanevId", tanevId)
|
||||
};
|
||||
|
||||
if (kategoria.HasValue)
|
||||
{
|
||||
parameters.Add(new CommandParameter(nameof(kategoria), (int)kategoria));
|
||||
}
|
||||
else
|
||||
{
|
||||
parameters.Add(new CommandParameter(nameof(kategoria), DBNull.Value));
|
||||
}
|
||||
|
||||
string commandText = $@"
|
||||
SELECT
|
||||
T_TANMENET_OSSZES.ID ID,
|
||||
T_FELHASZNALO_OSSZES.C_NYOMTATASINEV Tanar,
|
||||
T_TANTARGY_OSSZES.C_NEV Tantargy,
|
||||
T_TANMENET_OSSZES.C_TEMA Tema,
|
||||
T_TANMENET_OSSZES.C_ORASZAM Ora
|
||||
FROM
|
||||
T_TANMENET_OSSZES
|
||||
INNER JOIN
|
||||
T_TANTARGY_OSSZES ON
|
||||
T_TANTARGY_OSSZES.ID = T_TANMENET_OSSZES.C_TANTARGYID
|
||||
INNER JOIN
|
||||
T_FELHASZNALO_OSSZES ON
|
||||
T_FELHASZNALO_OSSZES.ID = T_TANMENET_OSSZES.C_FELTOLTOID
|
||||
INNER JOIN
|
||||
T_OSZTALYCSOPORT_OSSZES ON
|
||||
T_OSZTALYCSOPORT_OSSZES.ID = T_TANMENET_OSSZES.C_OSZTALYCSOPORTID AND (T_OSZTALYCSOPORT_OSSZES.C_FELADATKATEGORIAID = @{nameof(kategoria)} OR @{nameof(kategoria)} IS NULL)
|
||||
WHERE
|
||||
T_OSZTALYCSOPORT_OSSZES.ID = :pOsztalyCsoportID AND
|
||||
T_TANMENET_OSSZES.TOROLT = 'F' AND T_OSZTALYCSOPORT_OSSZES.C_TANEVID = :pTanevId
|
||||
";
|
||||
|
||||
DataSet ds = GetData(commandText, parameters);
|
||||
return ds;
|
||||
}
|
||||
|
||||
public int? GetTanmenetIdBySorszamEsFoglalkozas(int evesOraSorszam, int foglalkozasId)
|
||||
{
|
||||
using (var command = new SDA.DataProvider.SDACommand())
|
||||
{
|
||||
command.Connection = UserContext.Instance.SDAConnection;
|
||||
command.Transaction = UserContext.Instance.SDATransaction;
|
||||
|
||||
command.Parameters.Add("pFoglalkozasId", foglalkozasId);
|
||||
command.Parameters.Add("pEvesOraSorszam", evesOraSorszam);
|
||||
|
||||
command.CommandText = @"
|
||||
SELECT
|
||||
T_TANMENET.ID
|
||||
FROM
|
||||
T_TANMENET
|
||||
JOIN
|
||||
T_FOGLALKOZAS ON
|
||||
T_FOGLALKOZAS.C_OSZTALYCSOPORTID = T_TANMENET.C_OSZTALYCSOPORTID AND
|
||||
T_FOGLALKOZAS.C_TANTARGYID = T_TANMENET.C_TANTARGYID
|
||||
WHERE
|
||||
T_TANMENET.TOROLT = 'F' AND
|
||||
T_FOGLALKOZAS.TOROLT = 'F' AND
|
||||
T_FOGLALKOZAS.ID = :pFoglalkozasId AND
|
||||
T_TANMENET.C_ORASZAM = :pEvesOraSorszam";
|
||||
|
||||
var result = command.ExecuteScalar();
|
||||
|
||||
if (result != null && result != DBNull.Value)
|
||||
{
|
||||
return (int)result;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteTanmenet(int tantargyId, int osztalyCsoportId, int userId)
|
||||
{
|
||||
using (var command = new SDA.DataProvider.SDACommand())
|
||||
{
|
||||
command.Connection = UserContext.Instance.SDAConnection;
|
||||
command.Transaction = UserContext.Instance.SDATransaction;
|
||||
|
||||
command.Parameters.Add("pUserId", userId);
|
||||
command.Parameters.Add("pTantargyId", tantargyId);
|
||||
command.Parameters.Add("pOsztalyCsoportId", osztalyCsoportId);
|
||||
|
||||
command.CommandText = @"
|
||||
UPDATE
|
||||
T_TANMENET
|
||||
SET
|
||||
TOROLT = 'T',
|
||||
SERIAL = SERIAL + 1,
|
||||
LASTCHANGED = GETDATE(),
|
||||
MODIFIER = :pUserId
|
||||
WHERE
|
||||
C_TANTARGYID = :pTantargyId AND
|
||||
C_OSZTALYCSOPORTID = :pOsztalyCsoportId AND
|
||||
C_FELTOLTOID = :pUserId";
|
||||
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
|
||||
public string GetTemaEvesOraSorszamhoz(int tantargyId, int osztalyCsoportId, int feltoltoId, int oraEvesSorszama = 0, string elozoTema = null)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(elozoTema))
|
||||
{
|
||||
using (var command = new SDA.DataProvider.SDACommand())
|
||||
{
|
||||
command.Connection = UserContext.Instance.SDAConnection;
|
||||
command.Transaction = UserContext.Instance.SDATransaction;
|
||||
|
||||
command.Parameters.Add("pTantargyID", tantargyId);
|
||||
command.Parameters.Add("pOsztalyCsoportID", osztalyCsoportId);
|
||||
command.Parameters.Add("pFeltoltoID", feltoltoId);
|
||||
command.Parameters.Add("pOraEvesSorszama", oraEvesSorszama);
|
||||
|
||||
command.CommandText = @"
|
||||
SELECT
|
||||
C_TEMA Tema
|
||||
FROM
|
||||
T_TANMENET
|
||||
WHERE
|
||||
T_TANMENET.C_TANTARGYID = @pTantargyID AND
|
||||
T_TANMENET.C_OSZTALYCSOPORTID = @pOsztalyCsoportID AND
|
||||
T_TANMENET.C_FELTOLTOID = @pFeltoltoID AND
|
||||
T_TANMENET.C_ORASZAM = @pOraEvesSorszama";
|
||||
|
||||
var result = command.ExecuteScalar();
|
||||
|
||||
if (result != null && result != DBNull.Value)
|
||||
{
|
||||
return result.ToString();
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
using (var command = new SDA.DataProvider.SDACommand())
|
||||
{
|
||||
command.Connection = UserContext.Instance.SDAConnection;
|
||||
command.Transaction = UserContext.Instance.SDATransaction;
|
||||
|
||||
command.Parameters.Add("pTantargyID", tantargyId);
|
||||
command.Parameters.Add("pOsztalyCsoportID", osztalyCsoportId);
|
||||
command.Parameters.Add("pFeltoltoID", feltoltoId);
|
||||
command.Parameters.Add("pOraEvesSorszama", oraEvesSorszama);
|
||||
command.Parameters.Add("pElozoTema", elozoTema);
|
||||
|
||||
command.CommandText = @"
|
||||
SELECT TOP 1
|
||||
T_TANMENET.C_TEMA Tema
|
||||
FROM
|
||||
T_TANMENET
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1
|
||||
T_TANMENET.C_ORASZAM
|
||||
FROM
|
||||
T_TANMENET
|
||||
WHERE
|
||||
T_TANMENET.C_TANTARGYID = @pTantargyID AND
|
||||
T_TANMENET.C_OSZTALYCSOPORTID = @pOsztalyCsoportID AND
|
||||
T_TANMENET.C_FELTOLTOID = @pFeltoltoID AND
|
||||
T_TANMENET.C_ORASZAM <= @pOraEvesSorszama AND
|
||||
T_TANMENET.C_TEMA = @pElozoTema
|
||||
ORDER BY T_TANMENET.C_ORASZAM DESC
|
||||
) elozo
|
||||
WHERE
|
||||
T_TANMENET.C_TANTARGYID = @pTantargyID AND
|
||||
T_TANMENET.C_OSZTALYCSOPORTID = @pOsztalyCsoportID AND
|
||||
T_TANMENET.C_FELTOLTOID = @pFeltoltoID AND
|
||||
T_TANMENET.C_ORASZAM > elozo.C_ORASZAM
|
||||
ORDER BY T_TANMENET.C_ORASZAM";
|
||||
|
||||
var result = command.ExecuteScalar();
|
||||
|
||||
if (result != null && result != DBNull.Value)
|
||||
{
|
||||
return result.ToString();
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ITanmenet Get()
|
||||
{
|
||||
return Tanmenet.GiveAnInstance();
|
||||
}
|
||||
|
||||
public ITanmenet Get(int tanuloId)
|
||||
{
|
||||
var entity = Tanmenet.GiveAnInstance();
|
||||
entity.LoadByID(tanuloId);
|
||||
return entity;
|
||||
}
|
||||
|
||||
public void FullUpdate(ITanmenet dto)
|
||||
{
|
||||
var entity = dto as Tanmenet;
|
||||
entity.FullUpdate();
|
||||
|
||||
DalHelper.Commit();
|
||||
}
|
||||
|
||||
public void Update(ITanmenet dto)
|
||||
{
|
||||
var entity = dto as Tanmenet;
|
||||
entity.Update();
|
||||
|
||||
DalHelper.Commit();
|
||||
}
|
||||
|
||||
public void Insert(ITanmenet dto)
|
||||
{
|
||||
var entity = dto as Tanmenet;
|
||||
entity.Insert();
|
||||
|
||||
dto.ID = entity.ID;
|
||||
DalHelper.Commit();
|
||||
}
|
||||
|
||||
public void Delete(int id)
|
||||
{
|
||||
var entity = Tanmenet.GiveAnInstance();
|
||||
entity.LoadByID(id);
|
||||
entity.TanitasiOra.RemoveAll();
|
||||
entity.Delete();
|
||||
|
||||
DalHelper.Commit();
|
||||
}
|
||||
|
||||
public DataSet GetTanmenetDataSet(int tanevId, int? alkalmazottId = null, int? oktNevelesiKategoriaId = null)
|
||||
{
|
||||
var commandParameterList = new List<CommandParameter>
|
||||
{
|
||||
new CommandParameter("pTanevId", tanevId),
|
||||
alkalmazottId.IsEntityId() ?
|
||||
new CommandParameter("pAlkalmazottId", alkalmazottId.Value) :
|
||||
new CommandParameter("pAlkalmazottId", DBNull.Value),
|
||||
oktNevelesiKategoriaId.IsEntityId() ?
|
||||
new CommandParameter("pOktNevelesiKategoriaId", oktNevelesiKategoriaId.Value) :
|
||||
new CommandParameter("pOktNevelesiKategoriaId", DBNull.Value)
|
||||
};
|
||||
|
||||
const string commandText = @"
|
||||
SELECT
|
||||
tm.ID AS Id
|
||||
,tm.C_NEV AS Nev
|
||||
,tm.C_BEJEGYZESIDEJE AS BejegyzesIdeje
|
||||
,tm.C_ORASZAM AS OraSorszam
|
||||
,tm.C_TEMA AS Tema
|
||||
,tm.C_IMPORTALT AS Importalt
|
||||
,f.ID AS TantargyfelosztasId
|
||||
,(ocs.C_NEV + ' - ' + tgy.C_NEV) AS TantargyfelosztasNevAlkalmazottNelkul
|
||||
FROM T_TANMENET_OSSZES tm
|
||||
INNER JOIN T_TANTARGY_OSSZES tgy ON tgy.ID = tm.C_TANTARGYID AND tgy.C_TANEVID = tm.C_TANEVID AND tgy.TOROLT = 'F'
|
||||
INNER JOIN T_FELHASZNALO_OSSZES fh ON fh.ID = tm.C_FELTOLTOID AND fh.C_TANEVID = tm.C_TANEVID AND fh.TOROLT = 'F'
|
||||
INNER JOIN T_ALKALMAZOTT_OSSZES a ON a.ID = fh.ID AND a.C_ALTANEVID = tm.C_TANEVID AND a.TOROLT = 'F'
|
||||
INNER JOIN T_OSZTALYCSOPORT_OSSZES ocs ON ocs.ID = tm.C_OSZTALYCSOPORTID AND ocs.C_TANEVID = tm.C_TANEVID AND ocs.TOROLT = 'F' AND (:pOktNevelesiKategoriaId IS NULL OR ocs.C_FELADATKATEGORIAID = :pOktNevelesiKategoriaId)
|
||||
INNER JOIN T_FOGLALKOZAS_OSSZES f ON f.C_TANTARGYID = tgy.ID AND f.C_TANARID = fh.ID AND f.C_OSZTALYCSOPORTID = ocs.ID AND f.C_TANEVID = tm.C_TANEVID AND f.TOROLT = 'F'
|
||||
WHERE (:pAlkalmazottId IS NULL OR tm.C_FELTOLTOID = :pAlkalmazottId)
|
||||
AND tm.C_TANEVID = :pTanevId
|
||||
AND tm.TOROLT = 'F'
|
||||
";
|
||||
|
||||
DataSet dataSet = GetData(commandText, commandParameterList);
|
||||
return dataSet;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue