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 { 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(); } } }