using System;
using System.Data;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual.ParameterClasses;
using Kreta.Enums;

namespace Kreta.DataAccessManual.Interfaces
{
    public interface IIgazolasDal
    {
        void Delete(IIgazolas dto);
        void Delete(int id);
        IIgazolas Get();
        IIgazolas Get(int id);
        DataSet GetIgazolasDataSet(int tanuloId);
        DataSet GetIgazolasExcelExport(IgazolasokListajaSearchPCO pco);
        DataSet GetIgazolasInfo(int igazolasId);
        DataSet GetIgazolasokListajaGrid(IgazolasokListajaSearchPCO pco, OktNevelesiKategoriaEnum? feladatKategoria);
        DataSet GetIgazolasSearchDataSet(IgazolasSearchPco pco);
        DataSet GetMulasztasLehetsegesIgazolasai(int mulasztasID);
        DataSet GetOsztalyCsoportIgazolasok(int osztalyCsoportId, OktNevelesiKategoriaEnum? feladatKategoria);
        DataSet GetOsztalyCsoportIgazolasokForValidate(DataTable igazolasDT);
        DataSet IgazolasDetailKereses(int tanuloId, int? szervezetTipusId = null);
        DataSet IgazolasKereses(int? osztCsopId, OktNevelesiKategoriaEnum? feladatKategoria, int? szervezetTipusId = null);
        DataSet GetIgazolasokByDate(DateTime date, int tanevId, int intezmenyId);
        void Insert(IIgazolas dto);
        void Update(IIgazolas dto);
    }
}