using Myshipping.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Myshipping.Application
{
///
/// 状态触发器
///
public interface IStatusTriggerBaseService
{
///
/// 保存
///
/// 状态触发器详情
/// 返回回执
Task Save(StatusTriggerBaseDto info);
///
/// 保存并启用
///
/// 状态触发器详情
/// 返回回执
Task SaveAndEnable(StatusTriggerBaseDto info);
///
/// 启用
///
/// 状态触发器主键数组
/// 返回回执
Task SetEnable(string[] pkIds);
///
/// 取消启用
///
/// 状态触发器主键数组
/// 返回回执
Task SetUnEnable(string[] pkIds);
///
/// 删除
///
/// 状态触发器主键数组
/// 返回回执
Task Delete(string[] pkIds);
///
/// 获取状态触发器详情
///
/// 状态触发器主键
/// 返回回执
Task GetInfo(string pkId);
///
/// 检索状态触发器列表
///
/// 检索值
/// 最大返回行数(默认15)
/// 返回回执
Task QueryList(string queryItem, int topNum = 15);
///
/// 状态触发器台账查询
///
/// 状态触发器台账查询请求
/// 返回结果
Task> GetPageAsync(QueryStatusTriggerBaseDto QuerySearch);
///
/// 获取状态触发器操作类型列表
///
/// 返回回执
Task GetTriggerOperTypeList();
///
/// 获取状态触发器触发动作列表
///
/// 返回回执
Task GetTriggerNextActionTypeList();
///
/// 生成LIQUID表达式
///
/// 状态触发器条件详情
/// 返回回执
Task CreateLiquidExpression(StatusTriggerConditionDto info);
///
/// 测试LIQUID表达式
///
/// 状态触发器条件详情
/// LIQUID表达式
/// 返回回执
Task TestLiquidExpression(StatusTriggerConditionDto info, string liquidExpress);
}
}