|
using iWareCommon.Common.Entity;
|
using iWareCommon.Utils;
|
using iWareExcel.ORM;
|
using System.Collections.Generic;
|
namespace iWareExcel.EXCEL.Entity
|
{
|
public class WorkSheetEntity : ICommonEntity<EXCELWorkSheet>
|
{
|
/// <summary>
|
/// 主键
|
/// </summary>
|
public int Id { get; set; }
|
|
/// <summary>
|
/// 工作页名称
|
/// </summary>
|
public string Name { get; set; }
|
|
/// <summary>
|
/// 工作簿Id
|
/// </summary>
|
public int WorkBookId { get; set; }
|
|
/// <summary>
|
/// 工作簿名称
|
/// </summary>
|
public string WorkBookName { get; set; }
|
|
/// <summary>
|
/// 工作页对应的实体全类名
|
/// </summary>
|
public string ClassName { get; set; }
|
|
/// <summary>
|
/// 排序
|
/// </summary>
|
public int SheetIndex { get; set; }
|
|
/// <summary>
|
/// 工作单元列表
|
/// </summary>
|
public List<WorkCellEntity> WorkCells { get; set; }
|
|
/// <summary>
|
/// 表头写入开始行 从1开始
|
/// </summary>
|
public int HeadStartLine { get; set; }
|
|
/// <summary>
|
/// 数据写入开始行 从1开始
|
/// </summary>
|
public int DataStartLine { get; set; }
|
|
|
/// <summary>
|
/// 无参构造
|
/// </summary>
|
public WorkSheetEntity() { WorkCells = new List<WorkCellEntity>(); }
|
|
|
/// <summary>
|
/// 有参构造
|
/// </summary>
|
/// <param name="workSheet">orm印射的类</param>
|
public WorkSheetEntity(EXCELWorkSheet workSheet)
|
{
|
EntityPropHelper<WorkSheetEntity, EXCELWorkSheet>.CopyProp(workSheet, this, GetColumnMap());
|
WorkCells = new List<WorkCellEntity>();
|
}
|
|
|
|
///<summary>
|
/// 获取自定义角色类中的字段名为键,orm中对象的字段名为值的字段
|
/// </summary>
|
/// <returns></returns>
|
public static Dictionary<string, string> GetColumnMap()
|
{
|
return new Dictionary<string, string>()
|
{
|
{"Id", "id"},
|
{"Name", "name"},
|
{"WorkBookId", "workbookid"},
|
{"WorkBookName", "workbookname"},
|
{"ClassName", "classname"},
|
{"HeadStartLine","headstartline"},
|
{"DataStartLine","datastartline"},
|
{"SheetIndex","sheetindex"}
|
};
|
}
|
|
|
|
|
|
|
/// <summary>
|
/// 将对象转换成ORM中的类型
|
/// </summary>
|
/// <returns>Orm中的BASEShift类型</returns>
|
public EXCELWorkSheet ToOrm()
|
{
|
EXCELWorkSheet workSheet = new EXCELWorkSheet();
|
EntityPropHelper<WorkSheetEntity, EXCELWorkSheet>.CopyProp(this, workSheet, GetColumnMap());
|
|
return workSheet;
|
}
|
|
|
|
/// <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].[EXCELWorkSheet]";
|
}
|
}
|
}
|