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

namespace Kreta.DataAccessManual.Interfaces
{
    public interface IZaradekDal
    {
        IZaradek Get(int id);
        IZaradekNyelv GetIdegenNyelv(int id);
        IZaradek Get();
        IZaradekNyelv GetIdegenNyelv();
        void Delete(int id);
        void Delete(IZaradek id);
        void DeleteIdegenNyelv(int id);
        void DeleteIdegenNyelv(IZaradekNyelv dto);
        void DeleteAll(List<int> tanuloCsoportIdList, int felhasznaloId, bool isOsztalyList);
        void DeleteLasts(List<int> tanuloCsoportIdList, int felhasznaloId, bool isOsztalyList);
        void Update(IZaradek dto);
        void FullUpdate(IZaradek dto);
        void UpdateIdegenNyelv(IZaradekNyelv dto);
        int Insert(IZaradek dto);
        int InsertIdegenNyelv(IZaradekNyelv dto);
        DataSet GetZaradekok(int tanevId, int intezmenyId, List<int> nemzetiDokumentumNyelvek, int tanuloCsoportId, int? tanuloId = null);
        DataSet GetTanuloKiVagyAtsorolasiZaradekai(int osztalyCsoportId, int zaradekId);
    }
}