using System;
using System.Collections.Generic;
using System.Data;

namespace Kreta.DataAccessManual.Interfaces
{
    public interface IImportExportDal
    {
        void Import(int intezmenyId, int tanevId, int userId, string importJson, bool isTorles, bool isSubTable, bool isTorlesCsakImportalt = true);

        void TantargyfelosztasImport(int intezmenyId, int tanevId, int userId, string importJson, bool isTorles);

        void OrarendImport(int intezmenyId, int tanevId, int userId, string importJson, bool isTorles, bool isModositas, bool isNapirendImport, DateTime? orarendiOraLezarasDateTime);

        void TanuloKifirImport(int intezmenyId, int tanevId, int userId, string importJson);

        void TanuloBesorolasImport(int intezmenyId, int tanevId, int userId, string importJson, DateTime besorolasDatum);

        void TanmenetImport(int intezmenyId, int tanevId, int userId, string importJson, bool isTorles, int tantargyId, int osztalyCsoportId);

        DataSet GondviseloImport(int intezmenyId, int tanevId, int userId, string importJson);

        void OratervImport(int intezmenyId, int tanevId, int userId, string importJson);

        DataSet GetOrarendExcelExportData(int tanevId, DateTime orarendExportKezdete, DateTime orarendExportVege, bool isOraErvenyessegiIdovel, bool isIdoszakonKivuliElemekMegjelenitese, bool isEgyediNapOrainakKihagyasa = false, bool? isNapirendExport = null);

        void TanulokElerhetosegiAdataikImport(int intezmenyId, int tanevId, int userId, string importJson, bool isTorles, bool isSubTable, string tableNameList);

        void UpdateTanulokElerhetosegeiAlapertelmezett(int felhasznaloId, IEnumerable<int> alapertelmezettEmailFelhasznaloIds, IEnumerable<int> alapertelmezettTelefonFelhasznaloIds);
    }
}