using Kean.Application.Command.ViewModels; using System.Collections.Generic; using System.Threading.Tasks; namespace Kean.Application.Command.Interfaces { /// <summary> /// 表示订单命令服务 /// </summary> public interface IOrderService { /// <summary> /// 创建订单类型 /// </summary> /// <param name="type">订单类型视图</param> /// <returns>分配的 ID 及失败信息</returns> Task<(int Id, Failure Failure)> CreateType(Ordtyp type); /// <summary> /// 修改订单类型 /// </summary> /// <param name="type">订单类型视图</param> /// <returns>操作结果及失败信息</returns> Task<(bool Success, Failure Failure)> ModifyType(Ordtyp type); /// <summary> /// 删除订单类型 /// </summary> /// <param name="id">类型 ID</param> /// <returns>操作结果及失败信息</returns> Task<(bool Success, Failure Failure)> DeleteType(int id); /// <summary> /// 创建工作流 /// </summary> /// <param name="flow">工作流视图</param> /// <returns>分配的 ID 及失败信息</returns> Task<(int Id, Failure Failure)> CreateFlow(Flow flow); /// <summary> /// 修改工作流 /// </summary> /// <param name="type">工作流视图</param> /// <returns>操作结果及失败信息</returns> Task<(bool Success, Failure Failure)> ModifyFlow(Flow flow); /// <summary> /// 删除工作流 /// </summary> /// <param name="id">工作流 ID</param> /// <returns>操作结果及失败信息</returns> Task<(bool Success, Failure Failure)> DeleteFlow(int id); /// <summary> /// 创建订单实例 /// </summary> /// <param name="order">订单视图</param> /// <returns>分配的 ID 及失败信息</returns> Task<(int Id, Failure Failure)> CreateOrder(Order order); /// <summary> /// 修改订单实例 /// </summary> /// <param name="order">订单视图</param> /// <returns>操作结果及失败信息</returns> Task<(bool Success, Failure Failure)> ModifyOrder(Order order); /// <summary> /// 删除订单实例 /// </summary> /// <param name="id">订单 ID</param> /// <param name="state">状态</param> System.Threading.Tasks.Task DeleteOrder(int id, bool state); } }