114 lines
4 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|