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

namespace GxPress.Repository.Interface
{
    public interface ISlideRepository : IRepository
    {
        Task<bool> ExistsAsync(int id);

        Task<PagedList<Slide>> GetListAsync(SlideSearchRequest request);

        Task<Slide> GetAsync(int id);

        /// <summary>
        /// ����
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task<Slide> AddAsync(Slide request);

        Task<Slide> EditAsync(Slide request);

        Task<bool> DeleteAsync(int id);

        Task<IEnumerable<Slide>> GetListAsync(int typeId);
    }
}