using ce.autofac.extension;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace learun.iapplication
{
///
/// 版 本 EasyCode EC管理后台
/// Copyright (c) 2019-present EC管理有限公司
/// 创建人:tobin
/// 日 期:2019.09.25
/// 描 述:附件管理
///
public interface AnnexesFileIBLL : IBLL
{
#region 获取数据
///
/// 获取实体列表
///
/// 附件夹主键
///
Task> GetList(string keyValue);
///
/// 获取附件名称集合
///
/// 主键值
///
Task GetFileNames(string keyValue);
///
/// 获取附件实体
///
/// 主键
///
Task GetEntity(string keyValue);
#endregion 获取数据
#region 提交数据
///
/// 保存数据实体
///
/// 附件夹主键
/// 附件实体数据
Task SaveEntity(string folderId, AnnexesFileEntity annexesFileEntity);
///
/// 删除附件
///
/// 文件主键
Task DeleteEntity(string fileId);
#endregion 提交数据
#region 扩展方法
///
/// 保存附件(支持大文件分片传输)
///
/// 附件夹主键
/// 文件主键
/// 文件名称
/// 文件总共分多少片
Task SaveAnnexes(string folderId, string fileGuid, string fileName, int chunks);
///
/// 保存附件(支持大文件分片传输)
///
/// 文件主键
/// 文件名称
/// 文件总共分多少片
///
string SaveAnnexes(string fileGuid, string fileName, int chunks);
///
/// 保存附件到文件中
///
/// 文件主键
/// 文件路径
/// 总共分片数
///
long SaveAnnexesToFile(string fileGuid, string filePath, int chunks);
///
/// 保存分片附件
///
/// 文件主键
/// 分片文件序号
/// 文件流
void SaveChunkAnnexes(string fileGuid, int chunk, byte[] bytes);
///
/// 移除文件分片数据
///
/// 文件主键
/// 文件分片数
void RemoveChunkAnnexes(string fileGuid, int chunks);
#endregion 扩展方法
}
}