using System; using System.Collections.Generic; using System.Data; using Kreta.DataAccess.Interfaces; using Kreta.DataAccessManual.ParameterClasses; using Kreta.Enums; using Kreta.Enums.ManualEnums; namespace Kreta.DataAccessManual.Interfaces { public interface IOrarendiOraDal { void SetFoglalkozasToNull(int foglalkozasId, int felhasznaloId); DataSet CheckTanarOra(DateTime startDate, DateTime endDate, int tanarId, int intezmenyId, int tanevId, int? oraszam, bool isNapirend, bool isEgyediHelyettesites); int? CheckTanevRendjeOsztalyCsoportValidation(int osztalycsoportId, DateTime oraDatum); void Delete(int id); void Delete(IOrarendiOra dto, bool isFromSzervezet = false); void DeleteOrarend(int intezmenyId, int tanevId, int id); void DeleteTanevKezdeteElttiOrak(DateTime elsoTanitasiNap, int tanevId); void DeleteTanevVegeUtaniOrak(DateTime utolsoTanitasiNap, int tanevId); void FizikaiTorlesOrarendek(int intezmenyId, int tanevId, int userId); void FullUpdate(IOrarendiOra dto, bool isFromSzervezet = false); IOrarendiOra Get(); IOrarendiOra Get(int id); bool GetAlreadyHaveOrarendiOra(int tanevId); DataSet GetCalendarMinMax(int intezmenyId, int tanevId); List GetElozoOranHianyzottTanulo(int tantargyId, int osztalycsoportId, DateTime datum, int tanevId, int intezmenyId); DataSet GetElozoOraAdatai(int tantargyId, int osztalycsoportId, int tanarId, DateTime oraKezdeteDatum, int intezmenyId, int tanevId); DataSet GetHazifeladatokListaja(int tanevId, HazifeladatokListajaPco pco); int GetHetirend(DateTime date); bool GetHetirendDictionaryItemIsUsed(int hetirendId); DataSet GetHetirendek(int tanevId); int GetHetNapjaByDate(DateTime date); DataSet GetIsMunkaszunetiNap(DateTime datum, int osztalycsoportId); DataSet GetNaptariHetekHetirendek(int tanevId, bool replaceSzunetToMindenHet = false); DataSet GetNemKotottMunkaIdo(int intezmenyId, int tanevId, DateTime start, DateTime end, int tanarId); DataSet GetNemKotottMunkaIdoByGroupId(int intezmenyId, int tanevId, DateTime start, DateTime end, string groupId); DataSet GetNemNaplozottOrarendiOrak(NemNaplozottOrakPCO nemNaplozottOrakPCO); DataSet GetTanarokNemNaplozottOrarendiOrakHetiEmailErtesito(); DataSet GetOralatogatasok(int intezmenyId, int tanevId, DateTime start, DateTime end, int tanarId); DataSet GetOraMentessegList(DateTime startDate, DateTime endDate, int osztalyCsoportId, int intezmenyId, int tanevId); DataSet GetOrarend(int intezmenyId, int tanevId, DateTime start, DateTime end, int? tanarId, int? osztalyCsoportId, int? tanuloId, bool csakOrarend, OrarendTipusEnum orarendTipus, int? tantargyId, int? teremId, bool helyettesitesNelkul, OktNevelesiKategoriaEnum? feladatKategoria, DateTime? orakezdete = null, DateTime? oravege = null, int? hetnapja = null); DataSet GetOrarendForMobile(int intezmenyId, int tanevId, DateTime start, DateTime end, int? tanarId, int? osztalyCsoportId, int? tanuloId, bool csakOrarend, OrarendTipusEnum orarendTipus, int? tantargyId, int? teremId, bool helyettesitesNelkul, OktNevelesiKategoriaEnum? feladatKategoria, DateTime? orakezdete = null, DateTime? oravege = null, int? hetnapja = null); DataSet GetOrarendDataSet(int tanevId, int? oktNevelesiKategoriaId = null); DataSet GetOrarendForKozpontiOrak(int intezmenyId, int tanevId, DateTime start, DateTime end); DataSet GetOrarendiOrakByTantargyId(int tantargyId, int tanevId); DataSet GetOrarendiOrakByTeremId(int teremId, int tanevId); DataSet GetOsztalyCsoportOrarendiOrai(int osztalyCsoportId, int tanevId, bool isFromSzervezet); DataSet GetOsztalyEsTanarOraiUtkozes(int intezmenyId, int tanevId, int tanarId, int osztalycsoportId, DateTime oraKezdete, DateTime oraVege); DataSet GetTanarFromHelyettesites(int helyettesitesId, int intezmenyId, int tanevId); DataSet GetTanevEsemenyeiOrarend(DateTime start, DateTime end); void Insert(IOrarendiOra dto, bool isFromSzervezet = false); bool IsOrarendiOraHasElmaradtOra(DateTime date, int orarendiOraGroupId); bool IsOrarendiOraHelyettesitoTanar(int tanoraId, int tanarId, int hetSorszam); void KozpontilagToroltOraVisszaallitasa(List kozpontilagToroltOraIdList, int felhasznaloId); bool NemkotottMunkaidoUtkozesEllenorzes(int intezmenyId, int tanevId, int tanarId, DateTime kezdet, DateTime veg, DateTime datum, int mindegyikHetHetiRendTipusId, int? hetirendId, string nemKotottMunkaIdoGroupId); bool OrarendiOraDuplikacioEllenorzes(int tanarId, int osztalyCsoportId, int teremId, int tantargyId, DateTime idopont, int oraszam); bool OrarendiOraOsztalyCsoportUtkozesEllenorzes(int id, DateTime ervenyessegKezdete, DateTime ervenyessegVege, int hetirend, int csengetetesiRendOra, int osztalyCsoportId, int hetNapja, DateTime? oraKezdete, DateTime? oraVege); bool OrarendiOraTanarUtkozesEllenorzes(int id, DateTime ervenyessegKezdete, DateTime ervenyessegVege, int hetirend, int csengetetesiRendOra, List tanarId, int hetNapja, DateTime? oraKezdete, DateTime? oraVege); bool OrarendiOraTeremUtkozesEllenorzes(int id, DateTime ervenyessegKezdete, DateTime ervenyessegVege, int hetirend, int csengetetesiRendOra, int teremId, int hetNapja, DateTime? oraKezdete, DateTime? oraVege, bool isEgyediNap); (int? HelyettesitesId, int? ErrorId) SaveHelyettesites(int orarendiOraId, int tanarId, int helyettesitesTipus, string helyettesItesOka, int hetszam, DateTime helyettesitesNapja, bool isTuloraMentes); int TanevRendjeOraszamValidation(int osztalycsoportId, DateTime datum, int tanevId); void Update(IOrarendiOra dto, bool isFromSzervezet = false); void UpdateHelyettesitesGroupId(int helyettesitesId, int groupId); (int? HelyettesitesId, int? ErrorId) UpdateHelyettesitoTanar(int orarendiOraId, int helyettesitesId, int ujTanarId, int helyettesitesTipus, string helyettesitesOka, DateTime helyettesitesNapja, int? groupId, bool isTuloraMentes); void UpdateOrarend(int intezmenyId, int tanevId, DateTime? idoszakKezdete, DateTime? idoszakVege, int? orarendioraId, int? osztalyCsoportId, bool isTeljesTanev = false); void UpdateOsszefuggoSzakGyakosOrakErvenyessegKezdete(DateTime newSzakGyakKezdoDatum, int tanevId); void UpdateOsszefuggoSzakGyakosOrakErvenyessegVege(DateTime newSzakGyakVegDatum, int tanevId); DataSet GetNemElerhetoOrarendiElemekDataSet(int tanevId); DataSet GetOrarendiOraTulajdonsag(int orarendiOraId, int tanevId); void SaveOrUpdateOrarendiOraTulajdonsag(Dictionary oraTulajdonsagok, int orarendiOraId, int intezmenyId, int tanevId); void DuplicateOrarendiOraTulajdonsag(int oldOrarendiOraId, int newOrarendiOraId); int? CopyOrarendiElem(int copyId, DateTime date, int oraszam); DataSet GetOraTanuloi(int orarendiOraId); DataSet GetElsoOrarendiOraDatuma(int orarendiOraId); void OrarendekTorlese(OrarendekTorlesePco orarendekTorlesePco); DataSet GetExportAdatokForOrarendekTorlese(OrarendekTorlesePco orarendekTorlesePco); DataSet GetRogzitettOrak(int tanarId, DateTime start, DateTime end); void GenerateTeljesOrarend(int intezmenyId, int tanevId, int? orarendioraId = null); DataSet GetElozoOrakAdatai(string orakAdatai, int intezmenyId, int tanevId); } }