kreta/Kreta.DataAccessManual/OsszefuggoSzakGyakDal.cs
2024-03-13 00:33:46 +01:00

114 lines
4 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual.Interfaces;
using Kreta.DataAccessManual.Util;
using Kreta.Framework.Util;
using SDA.Kreta.Entities;
namespace Kreta.DataAccessManual
{
internal class OsszefuggoSzakGyakDal : DataAccessBase, IOsszefuggoSzakGyakDal
{
public OsszefuggoSzakGyakDal(DalHandler handler, GridParameters parameters)
: base(handler, parameters)
{
}
public OsszefuggoSzakGyakDal(DalHandler handler) : base(handler)
{
}
public DataSet GetOsszefuggoSzakGyakGrid(int csoportId, int tantargyId, DateTime szakgyakKezdoDatum, DateTime szakgyakVegDatum)
{
var paramList = new List<CommandParameter>
{
new CommandParameter(nameof(csoportId), csoportId),
new CommandParameter(nameof(tantargyId), tantargyId),
new CommandParameter(nameof(szakgyakKezdoDatum), szakgyakKezdoDatum),
new CommandParameter(nameof(szakgyakVegDatum), szakgyakVegDatum),
};
var commandText = $@"
SELECT
tanulo.ID AS ID
,tanulo.C_NYOMTATASINEV AS TanuloNev
,szakgyak.C_TELJESITETT AS Teljesitett
,osztalyzatErtekeles.C_ERTEKELESOSZTALYZATID AS ErtekelesOsztalyzatId
,szovegesErtekeles.C_ERTEKELESSZOVEG AS ErtekelesSzoveg
,szakgyak.C_MEGJEGYZES AS Megjegyzes
,szakgyak.C_TELJESITESDATUM AS TeljesitesDatum
,@{nameof(csoportId)} AS CsoportId
,@{nameof(tantargyId)} AS TantargyId
FROM T_TANULOCSOPORT_OSSZES tcs
INNER JOIN T_FELHASZNALO_OSSZES tanulo ON tanulo.ID = tcs.C_TANULOID AND tanulo.TOROLT ='F'
LEFT JOIN T_OSSZEFUGGOSZAKGYAK_OSSZES szakgyak ON szakgyak.C_TANULOID = tanulo.ID AND szakgyak.TOROLT = 'F' AND szakgyak.C_CSOPORTID = @{nameof(csoportId)} AND szakgyak.C_TANTARGYID = @{nameof(tantargyId)}
LEFT JOIN T_TANULOERTEKELES_OSSZES osztalyzatErtekeles ON osztalyzatErtekeles.C_OSSZEFUGGOSZAKGYAKID = szakgyak.ID AND osztalyzatErtekeles.C_ERTEKELESOSZTALYZATID IS NOT NULL AND osztalyzatErtekeles.TOROLT = 'F'
LEFT JOIN T_TANULOERTEKELES_OSSZES szovegesErtekeles ON szovegesErtekeles.C_OSSZEFUGGOSZAKGYAKID = szakgyak.ID AND szovegesErtekeles.C_ERTEKELESSZOVEG IS NOT NULL AND szovegesErtekeles.TOROLT = 'F'
WHERE tcs.TOROLT = 'F'
AND (tcs.C_BELEPESDATUM < @{nameof(szakgyakVegDatum)} AND (tcs.C_KILEPESDATUM > @{nameof(szakgyakKezdoDatum)} OR tcs.C_KILEPESDATUM IS NULL))
AND tcs.C_OSZTALYCSOPORTID = @{nameof(csoportId)}
";
var ds = GetData(commandText, paramList, "ErtekelesOsztalyzatId", "Teljesitett");
return ds;
}
public IOsszefuggoSzakGyak Get()
{
return OsszefuggoSzakGyak.GiveAnInstance();
}
public IOsszefuggoSzakGyak Get(int id)
{
var entity = OsszefuggoSzakGyak.GiveAnInstance();
entity.LoadByID(id);
return entity;
}
public void FullUpdate(IOsszefuggoSzakGyak dto)
{
var entity = dto as OsszefuggoSzakGyak;
entity.FullUpdate(true);
DalHelper.Commit();
}
public void Update(IOsszefuggoSzakGyak dto)
{
var entity = dto as OsszefuggoSzakGyak;
entity.FullUpdate();
DalHelper.Commit();
}
public void Insert(IOsszefuggoSzakGyak dto)
{
var entity = dto as OsszefuggoSzakGyak;
entity.Insert(true);
dto.ID = entity.ID;
DalHelper.Commit();
}
public void Delete(int id)
{
var entity = OsszefuggoSzakGyak.GiveAnInstance();
entity.LoadByID(id);
Delete(entity);
}
public void Delete(IOsszefuggoSzakGyak dto)
{
var entity = dto as OsszefuggoSzakGyak;
entity.TanuloErtekeles.DeleteAll();
entity.Delete();
DalHelper.Commit();
}
}
}