using System.Collections.Generic;
using System.Threading.Tasks;
using GxPress.Entity.WorkFlow;
using Datory;

namespace GxPress.Repository.Interface.WorkFlow
{
    public interface IFlowFieldValueRepository : IRepository
    {
        Task<int> InsertAsync(FlowFieldValue item);

        Task<IEnumerable<FlowFieldValue>> GetListAsync(int flowId);

        Task<bool> DeleteAllAsync(int flowId);

        Task<IEnumerable<int>> GetFlowIdListAsync(IEnumerable<int> flowIdList, string keyword);
        Task<IEnumerable<FlowFieldValue>> GetAllAsync(SqlKata.Query query);

        /// <summary>
        /// 查询是否有记录
        /// </summary>
        /// <param name="processId"></param>
        /// <param name="flowId"></param>
        /// <param name="keyword"></param>
        /// <returns></returns>
        Task<bool> IsSearchKeywordFlowFieldValue(int processId, int flowId, string keyword);
    }
}