using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Datory;
using GxPress.Entity.Missive;
using GxPress.Request.App.Missive;
using GxPress.Result.App.Missive;
using SqlKata;

namespace GxPress.Repository.Interface.Missive
{
    public interface IMissiveAnalyzeRepository : IRepository
    {
        Task<MissiveAnalyze> GetAsync(int id);

        Task<MissiveAnalyze> GetAsync(SqlKata.Query query);
        Task<bool> UpdateAsync(MissiveAnalyze missiveAnalyze);


        Task<bool> DeleteAsync(Query query);


        Task<bool> UpdateAsync(Query query);


        Task<IEnumerable<MissiveAnalyze>> GetAllAsync(Query query);

        Task<int> GetCount(Query query);

        /// <summary>
        /// 设置 点赞 转发 收藏
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Task<bool> SetMissiveAnalyzeAsync(MissiveAnalyzeRequest request);

        Task<int> CountAsync(SqlKata.Query query);

       
    }
}
