using Blazor.Models;
using Blazor.ViewClasses;

namespace Blazor.Services
{
    public interface IDataService
    {
        Task Add(ChapterModel model);

        Task<int> Count();

        Task<List<Chapter>> List(int currentPage, int pageSize);

        Task<Chapter> GetById(int id);

        Task Update(int id, ChapterModel model);

        Task Add(AdministratorModel model);

        Task Update(int id, AdministratorModel model);

        Task<Administrator> GetAdminById(int id);

        Task<int> CountAdmin();
        Task<List<Administrator>> ListAdmin(int currentPage, int pageSize);

        //Task Add(QuestionsModel model);

        //Task Update(int id, QuestionsModel model);

        Task<Question> GetQuestionById(int id);

        Task<int> CountQuestion();
        Task<List<Question>> ListQuestion(int currentPage, int pageSize);

        Task Delete(int id);

        Task Add(PlayerModel model);

        Task Update(int id, PlayerModel model);

        Task<Player> GetPlayerById(int id);

        Task<int> CountPlayer();
        Task<List<Player>> ListPlayer(int currentPage, int pageSize);

    }
}
