using iWareCommon.Common.Entity;
|
using iWareCommon.Utils;
|
using iWareExcel.ORM;
|
using System.Collections.Generic;
|
namespace iWareExcel.EXCEL.Entity
|
{
|
public class WorkBookEntity : ICommonEntity<EXCELWorkBook>
|
{
|
/// <summary>
|
/// 主键
|
/// </summary>
|
public int Id { get; set; }
|
|
/// <summary>
|
/// 工作簿名称
|
/// </summary>
|
public string Name { get; set; }
|
|
/// <summary>
|
/// 备注
|
/// </summary>
|
public string Remark { get; set; }
|
|
/// <summary>
|
/// 模板地址
|
/// </summary>
|
public string TemplatePath { get; set; }
|
|
/// <summary>
|
/// 是否需要模板
|
/// </summary>
|
public int NeedTemplate { get; set; }
|
|
/// <summary>
|
/// 服务器保存路径
|
/// </summary>
|
public string ServerPath { get; set; }
|
|
/// <summary>
|
/// 服务器保存文件名
|
/// </summary>
|
public string ServerFileName { get; set; }
|
|
/// <summary>
|
/// 表头写入开始行 从1开始
|
/// </summary>
|
public int HeadStartLine { get; set; }
|
|
/// <summary>
|
/// 数据写入开始行 从1开始
|
/// </summary>
|
public int DataStartLine { get; set; }
|
|
|
/// <summary>
|
/// 工作表列表
|
/// </summary>
|
public List<WorkSheetEntity> WorkSheets { get; set; }
|
|
|
/// <summary>
|
/// 无参构造
|
/// </summary>
|
public WorkBookEntity() { WorkSheets = new List<WorkSheetEntity>(); }
|
|
|
/// <summary>
|
/// 有参构造
|
/// </summary>
|
/// <param name="workBook">orm印射的类</param>
|
public WorkBookEntity(EXCELWorkBook workBook)
|
{
|
EntityPropHelper<WorkBookEntity, EXCELWorkBook>.CopyProp(workBook, this, GetColumnMap());
|
WorkSheets = new List<WorkSheetEntity>();
|
}
|
|
|
|
/// <summary>
|
/// 将对象转换成ORM中的类型
|
/// </summary>
|
/// <returns>Orm中的BASEShift类型</returns>
|
public EXCELWorkBook ToOrm()
|
{
|
EXCELWorkBook workBook = new EXCELWorkBook();
|
EntityPropHelper<WorkBookEntity, EXCELWorkBook>.CopyProp(this, workBook, GetColumnMap());
|
|
return workBook;
|
}
|
|
///<summary>
|
/// 获取自定义角色类中的字段名为键,orm中对象的字段名为值的字段
|
/// </summary>
|
/// <returns></returns>
|
public static Dictionary<string, string> GetColumnMap()
|
{
|
return new Dictionary<string, string>()
|
{
|
{"Id", "id"},
|
{"Name", "name"},
|
{"Remark", "remark"},
|
{"TemplatePath", "templatepath"},
|
{"NeedTemplate", "needtemplate"},
|
{"ServerPath", "serverpath"},
|
{"ServerFileName", "serverfilename"},
|
{"HeadStartLine","headstartline"},
|
{"DataStartLine","datastartline"}
|
};
|
}
|
|
/// <summary>
|
/// 根据ShiftEntity的字段转BASEShift的字段
|
/// </summary>
|
/// <param name="name">ShiftEntity的字段</param>
|
/// <returns>BASEShift</returns>
|
public static string GetColumnName(string name)
|
{
|
var columnMap = GetColumnMap();
|
return columnMap.ContainsKey(name) ? columnMap[name] : name;
|
}
|
|
|
/// <summary>
|
/// 获取ShiftEntity对应的表名
|
/// </summary>
|
/// <returns>表名</returns>
|
public static string GetTableName()
|
{
|
return "[dbo].[EXCELWorkBook]";
|
}
|
}
|
}
|