using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using GxPress.Common.Page;
using GxPress.Entity;
using GxPress.Request.Thesaurus;
using Datory;

namespace GxPress.Repository.Interface
{
    public interface IThesaurusRepository:IRepository
    {

        Task<bool> ExistsAsync(string account);

        Task<Thesaurus> GetAsync(int id);

        Task<bool> InsertAsync(Thesaurus thesaurus);

        Task<bool> UpdateAsync(Thesaurus thesaurus);

        Task<IEnumerable<Thesaurus>> GetPageListAsync(ThesaurusPageSearchRequest request);

        Task<int> GetCountAsync(ThesaurusPageSearchRequest request);
        Task<PagedList<Thesaurus>> GetPageList(ThesaurusPageSearchRequest request);

        Task<IEnumerable<Thesaurus>> GetTopListAsync(ThesaurusSearchRequest request);
        Task<bool> DeleteAsync(int id);

        Task<Thesaurus> GetDetailAsync(int id);
        Task<bool> UpdateAsync(int id,Thesaurus request);
    }
}