using iWareCommon.Common.Entity; using iWareCommon.Utils; using iWareDataCore.ORM; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace iWareDataCore.BASE.Entity { public class InOutListEntity: ICommonEntity { /// /// 出入库单主键id /// public int Id { get; set; } /// /// 出入库单号 /// public string ListNo { get; set; } /// /// 创建时间 /// public DateTime CreateTime { get; set; } /// /// 出入库类型(出库单,入库单) /// public string TypeName { get; set; } /// /// 状态(0未下发,1已下发) /// public int Status { get; set; } /// /// 备注 /// public string Remark { get; set; } /// /// 是否批次入库(0:否;1:是) /// public int IsLots { get; set; } /// /// 出入库单明细 /// public List InOutListDetail { get; set; } /// /// 无参构造 /// public InOutListEntity() { } /// /// 有参构造 /// /// orm映射的类 public InOutListEntity(BASEInOutList place) { EntityPropHelper.CopyProp(place, this, GetColumnMap()); } /// /// 将对象转换成ORM中的类型 /// /// Orm中的BASEInOutList类型 public BASEInOutList ToOrm() { var place = new BASEInOutList(); EntityPropHelper.CopyProp(this, place, GetColumnMap()); return place; } /// /// 转换视图的方法 /// /// public InOutListEntity(PlaceViewEntity place) { var keys = GetColumnMap().Keys.ToList(); var columnMap = new Dictionary(); keys.ForEach(x => columnMap.Add(x, x)); EntityPropHelper.CopyProp(place, this, columnMap); } /// /// 获取自定义角色类中的字段名为键,orm中对象的字段名为值的字段 /// /// public static Dictionary GetColumnMap() { return new Dictionary() { {"Id", "id"}, {"ListNo", "listno"}, {"CreateTime", "createtime"}, {"TypeName", "typename"}, {"Status", "status"}, {"Remark", "remark"}, {"IsLots","islots"} }; } /// /// 根据WareHouseAreaTypeEntity的字段转BASEInOutList的字段 /// /// WareHouseAreaTypeEntity的字段 /// BASEInOutList public static string GetColumnName(string name) { var columnMap = GetColumnMap(); return columnMap.ContainsKey(name) ? columnMap[name] : name; } /// /// 获取WareHouseAreaTypeEntity对应的表名 /// /// 表名 public static string GetTableName() { return "[dbo].[BASEInOutList]"; } } }