using Learun.Util;
using System.Collections.Generic;
using System.IO;
using System.Web;
namespace Learun.Application.Base.SystemModule
{
///
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创建人:陈彬彬
/// 日 期:2017.03.08
/// 描 述:附件管理
///
public interface AnnexesFileIBLL
{
#region 获取数据
///
/// 获取实体列表
///
/// 附件夹主键
///
IEnumerable GetList(string keyValue);
///
/// 获取附件名称集合
///
/// 主键值
///
string GetFileNames(string keyValue);
///
/// 获取附件实体
///
/// 主键
///
AnnexesFileEntity GetEntity(string keyValue);
AnnexesFileEntity GetEntityByFolderId(string folderId);
#endregion
#region 提交数据
///
/// 保存数据实体
///
/// 附件夹主键
/// 附件实体数据
void SaveEntity(string folderId, AnnexesFileEntity annexesFileEntity);
///
/// 删除附件
///
/// 文件主键
void DeleteEntity(string fileId);
#endregion
#region 扩展方法
///
/// 保存附件(支持大文件分片传输)
///
/// 附件夹主键
/// 文件主键
/// 文件名称
/// 文件总共分多少片
/// 文件二进制流
///
///
bool SaveAnnexes(string folderId, string fileGuid, string fileName, int chunks, UserInfo userInfo, string filePath = "");
///
/// 保存附件(支持大文件分片传输)
///
/// 文件主键
/// 文件名称
/// 文件总共分多少片
/// 文件二进制流
///
string SaveAnnexes(string fileGuid, string fileName, int chunks, UserInfo userInfo);
///
/// 保存附件到文件中
///
/// 文件主键
/// 文件路径
/// 总共分片数
/// 文件二进制流
///
long SaveAnnexesToFile(string fileGuid, string filePath, int chunks);
///
/// 保存分片附件
///
/// 文件主键
/// 分片文件序号
/// 文件流
void SaveChunkAnnexes(string fileGuid, int chunk, Stream fileStream);
string SaveAnnexesInfo(HttpPostedFileBase Filedata);
///
/// 移除文件分片数据
///
/// 文件主键
/// 文件分片数
void RemoveChunkAnnexes(string fileGuid, int chunks);
#endregion
void SaveEntityByKey(string fId, AnnexesFileEntity annexesFileEntity);
}
}