using System.Collections.Generic;
using System.Data;
using Kreta.DataAccess.Interfaces;
using Kreta.DataAccessManual.ParameterClasses;

namespace Kreta.DataAccessManual.Interfaces
{
    public interface ISapTavolletDal : IBaseDal<ISAPTavollet>
    {
        /// <summary>
        /// Visszaadja a SAPTavollet (számfejtett távollét) rekordokat.
        /// </summary>
        /// <param name="alkalmazottId">Amennyiben null, akkor az intézmény összes alkalmazottjára visszaadja.</param>
        /// <param name="pco"></param>
        /// <returns></returns>
        DataSet GetSAPTavolletDataSet(int? alkalmazottId, TavolletSearchPco pco);

        /// <summary>
        /// Alkalmazott aktuális naptári évre vonatkozó számfejtett távolléteinek szinkronizációja.
        /// </summary>
        void SyncSapTavollet(Dictionary<string, List<SAPTavolletPco>> tavolletListDict, TavolletSearchPco pco);

        /// <summary>
        /// Adott tanév és intézmény T_TAVOLLETTIPUS rekordjait adja vissza.
        /// </summary>
        DataSet GetTavolletTipusDataSet(int tanevId, int intezmenyId);
    }
}