using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Myshipping.Application
{
///
/// BC任务
///
public interface ITaskManageBCService
{
///
/// 获取BC详情
///
/// BC主键
/// 返回回执
Task GetInfo(string pkId);
///
/// 通过任务主键获取BC详情
///
/// BC任务主键
/// 返回回执
Task GetInfoByTaskId(string taskPkId);
///
/// 获取待处理的BC任务(来自邮件解析需要对应订舱,系统会根据用户的订舱台账预配)
///
/// 返回回执
Task GetToDoBCList();
///
/// 任务ID下载附件
///
/// BC任务主键
/// 附件分类代码
/// 返回数据流
Task DownloadFile(string taskPKId, string fileCategory = "BC");
///
/// 检索订舱信息
///
/// 检索条件
/// 返回回执
Task QueryBookingOrderList(BookingOrderBCQuery query);
///
/// 转移任务(将任务指定给其他人)
///
/// BC任务主键
/// 用户ID
/// 返回回执
Task TransferTask(string taskPKId,long userId);
///
/// 生成订舱或舱位
///
/// 生成订舱或者舱位请求
/// 返回回执
Task CreateBookingAndSlot(BookingOrSlotGenerateDto model);
///
/// 取消任务
///
/// BC任务主键
/// 返回回执
Task CancelTask(string taskPKId);
///
/// 获取服务项目列表
///
/// 返回回执
Task> GetProjectList();
///
/// 发送邮件
///
/// BC任务主键
/// 返回回执
Task SendEmail(string taskPKId);
}
}