using System.Collections.Generic;
using System.Threading.Tasks;
using Datory;

namespace GxPress.Repository.Interface.UserMiddle
{
    public interface IUserMiddleRepository : IRepository
    {
        Task<int> InsertAsync(Entity.UserMiddle.UserMiddle userMiddle);
        Task<bool> UpdateAsync(Entity.UserMiddle.UserMiddle userMiddle);
        Task<bool> UpdateAsync(SqlKata.Query query);
        Task<Entity.UserMiddle.UserMiddle> GetAsync(SqlKata.Query query);
        Task<Entity.UserMiddle.UserMiddle> GetAsync(int id);
        Task<IEnumerable<Entity.UserMiddle.UserMiddle>> GetAllAsync(SqlKata.Query query);
        Task<int> CountAsync(SqlKata.Query query);
        Task<bool> ExistsAsync(SqlKata.Query query);

        Task<bool> DeleteAsync(SqlKata.Query query);
    }
}