using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Datory;
using GxPress.EnumConst;

namespace GxPress.Repository.Interface.AdminVerify
{
    public interface IAdminVerifyRepository : IRepository
    {
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="adminVerify"></param>
        /// <returns></returns>
        Task<int> InsertAsync(Entity.AdminVerify adminVerify);

        /// <summary>
        /// 清空
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="phone"></param>
        /// <returns></returns>
        Task<bool> DeleteAllAsync(int userId);

        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="id"></param>
        /// <param name="disposeTyeConst"></param>
        /// <returns></returns>
        Task<bool> UpdateAsync(int id, AdminVerifyTypeConst disposeTyeConst);
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        Task<bool> UpdateAsync(SqlKata.Query query);
        /// <summary>
        /// 根据ID查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<Entity.AdminVerify> GetAsync(int id);

        /// <summary>
        /// 根据用户查询
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="phone"></param>
        /// <returns></returns>
        Task<IEnumerable<Entity.AdminVerify>> GetAllAsync(SqlKata.Query query);

        /// <summary>
        /// 查询未处理
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        Task<int> GetUDisposeCount(int userId);

         /// <summary>
        /// 根据ID查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
         Task<Entity.AdminVerify> GetAsync(SqlKata.Query query);
         Task<bool> InsertAsync(List<Entity.AdminVerify> adminVerifys);

    }
}