using AutoMapper; using Kean.Application.Query.ViewModels; using Kean.Infrastructure.Configuration; using Kean.Infrastructure.Database.Repository.Default.Entities; using Kean.Infrastructure.Database.Repository.Default.Entities.Interface; //using Kean.Infrastructure.Database.Repository.Record.Entities; using Kean.Infrastructure.Utilities; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Linq.Expressions; using System.Reflection; namespace Kean.Application.Query { /// /// 模型映射配置 /// public class AutoMapper : Profile { /// /// 初始化 Kean.Application.Query.AutoMapper 类的新实例 /// public AutoMapper() { CreateMap() .ForMember(viewmodel => viewmodel.Address, options => options.MapFrom(entity => entity.SECURITY_VALUE)) .ForMember(viewmodel => viewmodel.Timestamp, options => options.MapFrom(entity => entity.SECURITY_TIMESTAMP)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.MENU_ID)) .ForMember(viewmodel => viewmodel.Parent, options => options.MapFrom(entity => entity.MENU_PARENT_ID)) .ForMember(viewmodel => viewmodel.Header, options => options.MapFrom(entity => entity.MENU_HEADER)) .ForMember(viewmodel => viewmodel.Url, options => options.MapFrom(entity => entity.MENU_URL)) .ForMember(viewmodel => viewmodel.Icon, options => options.MapFrom(entity => entity.MENU_ICON)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.ROLE_ID)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.ROLE_NAME)) .ForMember(viewmodel => viewmodel.Remark, options => options.MapFrom(entity => entity.ROLE_REMARK)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.USER_ID)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.USER_NAME)) .ForMember(viewmodel => viewmodel.Account, options => options.MapFrom(entity => entity.USER_ACCOUNT)) .ForMember(viewmodel => viewmodel.Avatar, options => options.MapFrom(entity => entity.USER_AVATAR)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom((entity, _) => entity.MESSAGE_ID)) .ForMember(viewmodel => viewmodel.Time, options => options.MapFrom((entity, _) => entity.MESSAGE_TIME)) .ForMember(viewmodel => viewmodel.Subject, options => options.MapFrom((entity, _) => entity.MESSAGE_SUBJECT)) .ForMember(viewmodel => viewmodel.Content, options => options.MapFrom((entity, _) => entity.MESSAGE_CONTENT)) .ForMember(viewmodel => viewmodel.Flag, options => options.MapFrom((entity, _) => entity.MESSAGE_FLAG)) .ForMember(viewmodel => viewmodel.Source, options => options.MapFrom((entity, _) => new User { Id = entity.USER_ID, Name = entity.USER_NAME, Avatar = entity.USER_AVATAR })); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.WAREHOUSE_ID)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.WAREHOUSE_CODE)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.WAREHOUSE_NAME)) .ForMember(viewmodel => viewmodel.Remark, options => options.MapFrom(entity => entity.WAREHOUSE_REMARK)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.AREA_ID)) .ForMember(viewmodel => viewmodel.Warehouse, options => options.MapFrom(entity => entity.WAREHOUSE_ID)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.AREA_CODE)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.AREA_NAME)) .ForMember(viewmodel => viewmodel.Type, options => options.MapFrom(entity => entity.AREA_TYPE)) .ForMember(viewmodel => viewmodel.Remark, options => options.MapFrom(entity => entity.AREA_REMARK)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.CELL_ID)) .ForMember(viewmodel => viewmodel.Area, options => options.MapFrom(entity => entity.AREA_ID)) .ForMember(viewmodel => viewmodel.Warehouse, options => options.MapFrom(entity => entity.WAREHOUSE_ID)) .ForMember(viewmodel => viewmodel.Group, options => options.MapFrom(entity => entity.CELL_GROUP)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.CELL_CODE)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.CELL_NAME)) .ForMember(viewmodel => viewmodel.Type, options => options.MapFrom(entity => entity.CELL_TYPE)) .ForMember(viewmodel => viewmodel.AllowIn, options => options.MapFrom(entity => entity.CELL_IN)) .ForMember(viewmodel => viewmodel.AllowOut, options => options.MapFrom(entity => entity.CELL_OUT)) .ForMember(viewmodel => viewmodel.Row, options => options.MapFrom(entity => entity.CELL_Z)) .ForMember(viewmodel => viewmodel.Column, options => options.MapFrom(entity => entity.CELL_X)) .ForMember(viewmodel => viewmodel.Tier, options => options.MapFrom(entity => entity.CELL_Y)) .ForMember(viewmodel => viewmodel.Store, options => options.MapFrom(entity => entity.CELL_STATUS)) .ForMember(viewmodel => viewmodel.Task, options => options.MapFrom(entity => entity.RUN_STATUS)) .ForMember(viewmodel => viewmodel.CellTag, options => options.MapFrom(entity => entity.CELL_TAG)) .ForMember(viewmodel => viewmodel.Visual, options => options.MapFrom(entity => entity.CELL_VISUAL)); CreateMap() .IncludeBase() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.GOODS_ID)) .ForMember(viewmodel => viewmodel.Category, options => options.MapFrom(entity => entity.CLASS_ID)) .ForMember(viewmodel => viewmodel.Group, options => options.MapFrom(entity => entity.TYPE_ID)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.GOODS_CODE)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.GOODS_NAME)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.CLASS_ID)) .ForMember(viewmodel => viewmodel.Parent, options => options.MapFrom(entity => entity.CLASS_PARENT_ID)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.CLASS_CODE)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.CLASS_NAME)); CreateMap() .IncludeBase() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.SAFETY_ID)) .ForMember(viewmodel => viewmodel.Material, options => options.MapFrom(entity => entity.GOODS_ID)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.GOODS_CODE)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.GOODS_NAME)) .ForMember(viewmodel => viewmodel.Category, options => options.MapFrom(entity => entity.CLASS_ID)) .ForMember(viewmodel => viewmodel.Group, options => options.MapFrom(entity => entity.TYPE_ID)) .ForMember(viewmodel => viewmodel.Warehouse, options => options.MapFrom(entity => entity.WAREHOUSE_ID)) .ForMember(viewmodel => viewmodel.LowerLimit, options => options.MapFrom(entity => entity.LOWER_LIMIT)) .ForMember(viewmodel => viewmodel.UpperLimit, options => options.MapFrom(entity => entity.UPPER_LIMIT)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.TYPE_ID)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.TYPE_CODE)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.TYPE_NAME)) .ForMember(viewmodel => viewmodel.No, options => options.MapFrom(entity => entity.TYPE_NO)) .ForMember(viewmodel => viewmodel.Menu, options => options.MapFrom(entity => entity.MENU_ID)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.FLOW_ID)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.FLOW_NAME)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.NODE_ID)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.NODE_NAME)) .ForMember(viewmodel => viewmodel.Type, options => options.MapFrom(entity => entity.NODE_TYPE)) .ForMember(viewmodel => viewmodel.Enter, options => options.MapFrom(entity => entity.NODE_ENTER)) .ForMember(viewmodel => viewmodel.Alive, options => options.MapFrom(entity => entity.NODE_ALIVE)) .ForMember(viewmodel => viewmodel.Detail, options => options.MapFrom(entity => JsonHelper.Deserialize>(entity.NODE_DETAIL))) .ForMember(viewmodel => viewmodel.Design, options => options.MapFrom(entity => JsonHelper.Deserialize(entity.NODE_DESIGN))); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.PATH_ID)) .ForMember(viewmodel => viewmodel.Source, options => options.MapFrom(entity => entity.PATH_SOURCE)) .ForMember(viewmodel => viewmodel.Target, options => options.MapFrom(entity => entity.PATH_TARGET)) .ForMember(viewmodel => viewmodel.Anchors, options => options.MapFrom(entity => JsonHelper.Deserialize(entity.PATH_ANCHORS))) .ForMember(viewmodel => viewmodel.Label, options => options.MapFrom(entity => entity.PATH_LABEL)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.PLAN_ID)) .ForMember(viewmodel => viewmodel.Type, options => options.MapFrom(entity => entity.PLAN_TYPE)) .ForMember(viewmodel => viewmodel.Flow, options => options.MapFrom(entity => entity.PLAN_FLOW)) .ForMember(viewmodel => viewmodel.Node, options => options.MapFrom(entity => entity.PLAN_NODE)) .ForMember(viewmodel => viewmodel.No, options => options.MapFrom(entity => entity.PLAN_CODE)) .ForMember(viewmodel => viewmodel.Creater, options => options.MapFrom(entity => entity.PLAN_CREATER)) .ForMember(viewmodel => viewmodel.CreateTime, options => options.MapFrom(entity => entity.PLAN_CREATE_TIME)) .ForMember(viewmodel => viewmodel.BeginTime, options => options.MapFrom(entity => entity.PLAN_BEGIN_TIME)) .ForMember(viewmodel => viewmodel.EndTime, options => options.MapFrom(entity => entity.PLAN_END_TIME)); CreateMap() .IncludeBase() .ForMember(viewmodel => viewmodel.Line, options => options.MapFrom(entity => entity.PLAN_LIST_ID)) .ForMember(viewmodel => viewmodel.Material, options => options.MapFrom(entity => entity.GOODS_ID)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.GOODS_CODE)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.GOODS_NAME)) .ForMember(viewmodel => viewmodel.Category, options => options.MapFrom(entity => entity.CLASS_NAME)) .ForMember(viewmodel => viewmodel.Group, options => options.MapFrom(entity => entity.TYPE_ID)) .ForMember(viewmodel => viewmodel.Quantity, options => options.MapFrom(entity => entity.PLANNED_QUANTITY)) .ForMember(viewmodel => viewmodel.Executing, options => options.MapFrom(entity => entity.ORDERED_QUANTITY)) .ForMember(viewmodel => viewmodel.Finished, options => options.MapFrom(entity => entity.FINISHED_QUANTITY)) .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.PLAN_ID)) .ForMember(viewmodel => viewmodel.Type, options => options.MapFrom(entity => entity.PLAN_TYPE)) .ForMember(viewmodel => viewmodel.Flow, options => options.MapFrom(entity => entity.PLAN_FLOW)) .ForMember(viewmodel => viewmodel.Node, options => options.MapFrom(entity => entity.PLAN_NODE)) .ForMember(viewmodel => viewmodel.No, options => options.MapFrom(entity => entity.PLAN_CODE)) .ForMember(viewmodel => viewmodel.Creater, options => options.MapFrom(entity => entity.PLAN_CREATER)) .ForMember(viewmodel => viewmodel.CreateTime, options => options.MapFrom(entity => entity.PLAN_CREATE_TIME)) .ForMember(viewmodel => viewmodel.BeginTime, options => options.MapFrom(entity => entity.PLAN_BEGIN_TIME)) .ForMember(viewmodel => viewmodel.EndTime, options => options.MapFrom(entity => entity.PLAN_END_TIME)); CreateMap() .IncludeBase() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.STORAGE_LIST_ID)) .ForMember(viewmodel => viewmodel.Material, options => options.MapFrom(entity => entity.GOODS_ID)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.GOODS_CODE)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.GOODS_NAME)) .ForMember(viewmodel => viewmodel.Category, options => options.MapFrom(entity => entity.CLASS_NAME)) .ForMember(viewmodel => viewmodel.Group, options => options.MapFrom(entity => entity.TYPE_ID)) .ForMember(viewmodel => viewmodel.Quantity, options => options.MapFrom(entity => entity.STORAGE_LIST_QUANTITY)) .ForMember(viewmodel => viewmodel.InboundTime, options => options.MapFrom(entity => entity.INBOUND_TIME)) .ForMember(viewmodel => viewmodel.InventoryTime, options => options.MapFrom(entity => entity.INVENTORY_TIME)) .ForMember(viewmodel => viewmodel.InventoryAge, options => options.MapFrom(entity => entity.INVENTORY_AGE)) .ForMember(viewmodel => viewmodel.MaterialAge, options => options.MapFrom(entity => entity.GOODS_AGE)) .ForMember(viewmodel => viewmodel.MaterialAgeStatus, options => options.MapFrom(entity => entity.GOODS_AGE_STATUS)) .ForMember(viewmodel => viewmodel.AgeStatus, options => options.MapFrom(entity => entity.AGE_STATUS)) .ForMember(viewmodel => viewmodel.TransQty, options => options.MapFrom(entity => entity.TransQty)) .ForMember(viewmodel => viewmodel.TransUnit, options => options.MapFrom(entity => entity.TransUnit)) .ForMember(viewmodel => viewmodel.Barcode, options => options.MapFrom(entity => entity.STOCK_BARCODE)) .ForMember(viewmodel => viewmodel.Full, options => options.MapFrom(entity => entity.FULL_FLAG)) .ForMember(viewmodel => viewmodel.Warehouse, options => options.MapFrom(entity => entity.WAREHOUSE_NAME)) .ForMember(viewmodel => viewmodel.Area, options => options.MapFrom(entity => entity.AREA_NAME)) .ForMember(viewmodel => viewmodel.Cell, options => options.MapFrom(entity => entity.CELL_NAME)) .ForMember(viewmodel => viewmodel.Position, options => options.MapFrom(entity => entity.CELL_TYPE)) .ForMember(viewmodel => viewmodel.Enabled, options => options.MapFrom(entity => entity.STORAGE_LIST_FLAG)) .ForMember(viewmodel => viewmodel.Remark, options => options.MapFrom(entity => entity.STORAGE_LIST_REMARK)) .ForMember(viewmodel => viewmodel.ExpirationOverflow, options => options.MapFrom(entity => entity.GOODS_EXP_OVERFLOW)) .ForMember(viewmodel => viewmodel.MinimumStockTimeSpan, options => options.MapFrom(entity => entity.MIN_STORAGE_TIME_OVERFLOW)) .ForMember(viewmodel => viewmodel.MaximumStockTimeSpan, options => options.MapFrom(entity => entity.MAX_STORAGE_TIME_OVERFLOW)) .ForMember(viewmodel => viewmodel.Laneway, options => options.MapFrom(entity => entity.CELL_LANEWAY)) .ForMember(viewmodel => viewmodel.Overdue, options => options.MapFrom(entity => entity.OVERDUE_TIME)); CreateMap() .IncludeBase() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.SAFETY_ID)) .ForMember(viewmodel => viewmodel.Material, options => options.MapFrom(entity => entity.GOODS_ID)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.GOODS_CODE)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.GOODS_NAME)) .ForMember(viewmodel => viewmodel.Category, options => options.MapFrom(entity => entity.CLASS_ID)) .ForMember(viewmodel => viewmodel.Group, options => options.MapFrom(entity => entity.TYPE_ID)) .ForMember(viewmodel => viewmodel.Warehouse, options => options.MapFrom(entity => entity.WAREHOUSE_ID)) .ForMember(viewmodel => viewmodel.LowerLimit, options => options.MapFrom(entity => entity.LOWER_LIMIT)) .ForMember(viewmodel => viewmodel.UpperLimit, options => options.MapFrom(entity => entity.UPPER_LIMIT)) .ForMember(viewmodel => viewmodel.Quantity, options => options.MapFrom(entity => entity.STORAGE_QUANTITY)); CreateMap() .IncludeBase() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.RECORD_LIST_ID)) .ForMember(viewmodel => viewmodel.Material, options => options.MapFrom(entity => entity.GOODS_ID)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.GOODS_CODE)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.GOODS_NAME)) .ForMember(viewmodel => viewmodel.Category, options => options.MapFrom(entity => entity.CLASS_NAME)) .ForMember(viewmodel => viewmodel.Group, options => options.MapFrom(entity => entity.TYPE_ID)) .ForMember(viewmodel => viewmodel.Quantity, options => options.MapFrom(entity => entity.RECORD_LIST_QUANTITY)) .ForMember(viewmodel => viewmodel.InboundTime, options => options.MapFrom(entity => entity.INBOUND_TIME)) .ForMember(viewmodel => viewmodel.InventoryAge, options => options.MapFrom(entity => entity.INVENTORY_AGE)) .ForMember(viewmodel => viewmodel.MaterialAge, options => options.MapFrom(entity => entity.GOODS_AGE)) .ForMember(viewmodel => viewmodel.Remark, options => options.MapFrom(entity => entity.RECORD_LIST_REMARK)) .ForMember(viewmodel => viewmodel.Transaction, options => options.MapFrom(entity => entity.RECORD_TYPE)) .ForMember(viewmodel => viewmodel.Tag, options => options.MapFrom(entity => entity.RECORD_TAG)) .ForMember(viewmodel => viewmodel.Barcode, options => options.MapFrom(entity => entity.STOCK_BARCODE)) .ForMember(viewmodel => viewmodel.Warehouse, options => options.MapFrom(entity => entity.WAREHOUSE_NAME)) .ForMember(viewmodel => viewmodel.Original, options => options.MapFrom(entity => entity.START_CELL_NAME)) .ForMember(viewmodel => viewmodel.Destination, options => options.MapFrom(entity => entity.END_CELL_NAME)) .ForMember(viewmodel => viewmodel.BeginTime, options => options.MapFrom(entity => entity.BEGIN_TIME)) .ForMember(viewmodel => viewmodel.EndTime, options => options.MapFrom(entity => entity.END_TIME)) .ForMember(viewmodel => viewmodel.Operator, options => options.MapFrom(entity => entity.USER_NAME)) .ForMember(viewmodel => viewmodel.Enabled, options => options.MapFrom(entity => entity.STORAGE_LIST_FLAG)) .ForMember(viewmodel => viewmodel.TransQty, options => options.MapFrom(entity => entity.TransQty)) .ForMember(viewmodel => viewmodel.TransUnit, options => options.MapFrom(entity => entity.TransUnit)) .ForMember(viewmodel => viewmodel.SlTarget, options => options.MapFrom(entity => entity.SlTarget)) .ForMember(viewmodel => viewmodel.OrderInfo, options => options.MapFrom(entity => entity.OrderInfo)) .ForMember(viewmodel => viewmodel.Account, options => options.MapFrom(entity => entity.USER_ACCOUNT)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.MANAGE_ID)) .ForMember(viewmodel => viewmodel.Type, options => options.MapFrom(entity => entity.MANAGE_TYPE)) .ForMember(viewmodel => viewmodel.Tag, options => options.MapFrom(entity => entity.MANAGE_TAG)) .ForMember(viewmodel => viewmodel.State, options => options.MapFrom(entity => entity.MANAGE_STATUS)) .ForMember(viewmodel => viewmodel.Barcode, options => options.MapFrom(entity => entity.STOCK_BARCODE)) .ForMember(viewmodel => viewmodel.Warehouse, options => options.MapFrom(entity => entity.WAREHOUSE_NAME)) .ForMember(viewmodel => viewmodel.Original, options => options.MapFrom(entity => entity.START_CELL_NAME)) .ForMember(viewmodel => viewmodel.Destination, options => options.MapFrom(entity => entity.END_CELL_NAME)) .ForMember(viewmodel => viewmodel.Time, options => options.MapFrom(entity => entity.BEGIN_TIME)) .ForMember(viewmodel => viewmodel.Priority, options => options.MapFrom(entity => entity.PRIORITY)) .ForMember(viewmodel => viewmodel.Operator, options => options.MapFrom(entity => entity.USER_NAME)) .ForMember(viewmodel => viewmodel.Account, options => options.MapFrom(entity => entity.USER_ACCOUNT)) .ForMember(viewmodel => viewmodel.Previous, options => options.MapFrom(entity => entity.PREVIOUS_ID)) .ForMember(viewmodel => viewmodel.GoodsName, options => options.MapFrom(entity => entity.GOODS_NAME)) .ForMember(viewmodel => viewmodel.QualityState, options => options.MapFrom(entity => entity.GOODS_QC_STATE)) .ForMember(viewmodel => viewmodel.Remark, options => options.MapFrom(entity => entity.MANAGE_REMARK)); CreateMap() .ForMember(viewmodel => viewmodel.Direction, options => options.MapFrom(entity => entity.CONTROL_DIRECTION)) .ForMember(viewmodel => viewmodel.Function, options => options.MapFrom(entity => entity.CONTROL_FUNCTION)) .ForMember(viewmodel => viewmodel.Warehouse, options => options.MapFrom(entity => entity.CONTROL_WAREHOUSE)) .ForMember(viewmodel => viewmodel.Device, options => options.MapFrom(entity => entity.CONTROL_DEVICE)) .ForMember(viewmodel => viewmodel.Barcode, options => options.MapFrom(entity => entity.STOCK_BARCODE)) .ForMember(viewmodel => viewmodel.Parameter, options => options.MapFrom(entity => entity.CONTROL_PARAMETER)) .ForMember(viewmodel => viewmodel.BeginTime, options => options.MapFrom(entity => entity.BEGIN_TIME)) .ForMember(viewmodel => viewmodel.EndTime, options => options.MapFrom(entity => entity.END_TIME)) .ForMember(viewmodel => viewmodel.State, options => options.MapFrom(entity => entity.CONTROL_STATUS)) .ForMember(viewmodel => viewmodel.Remark, options => options.MapFrom(entity => entity.CONTROL_REMARK)); CreateMap() .ForMember(viewmodel => viewmodel.StationCode, options => options.MapFrom(entity => entity.STATION_CODE)) .ForMember(viewmodel => viewmodel.StationModel, options => options.MapFrom(entity => entity.STATION_MODEL)) .ForMember(viewmodel => viewmodel.StationStatus, options => options.MapFrom(entity => entity.STATION_STATUS)) .ForMember(viewmodel => viewmodel.Remark, options => options.MapFrom(entity => entity.REMARK)) .ForMember(viewmodel => viewmodel.Inout, options => options.MapFrom(entity => entity.INOUT)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.ID)) .ForMember(viewmodel => viewmodel.Direction, options => options.MapFrom(entity => entity.DIRECTION)) .ForMember(viewmodel => viewmodel.Method, options => options.MapFrom(entity => entity.METHOD)) .ForMember(viewmodel => viewmodel.Barcode, options => options.MapFrom(entity => entity.BARCODE)) .ForMember(viewmodel => viewmodel.StartTime, options => options.MapFrom(entity => entity.START_TIME)) .ForMember(viewmodel => viewmodel.EndTime, options => options.MapFrom(entity => entity.END_TIME)) .ForMember(viewmodel => viewmodel.ParamIn, options => options.MapFrom(entity => entity.PARAM_IN)) .ForMember(viewmodel => viewmodel.ParamOut, options => options.MapFrom(entity => entity.PARAM_OUT)) .ForMember(viewmodel => viewmodel.Result, options => options.MapFrom(entity => entity.RESULT)) .ForMember(viewmodel => viewmodel.CreateTime, options => options.MapFrom(entity => entity.CREATE_TIME)) .ForMember(viewmodel => viewmodel.RequestNo, options => options.MapFrom(entity => entity.REQUEST_NO)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.ID)) .ForMember(viewmodel => viewmodel.Method, options => options.MapFrom(entity => entity.METHOD)) .ForMember(viewmodel => viewmodel.Barcode, options => options.MapFrom(entity => entity.BARCODE)) .ForMember(viewmodel => viewmodel.StartTime, options => options.MapFrom(entity => entity.START_TIME)) .ForMember(viewmodel => viewmodel.LastEndTime, options => options.MapFrom(entity => entity.LAST_END_TIME)) .ForMember(viewmodel => viewmodel.ParamIn, options => options.MapFrom(entity => entity.PARAM_IN)) .ForMember(viewmodel => viewmodel.LastParamOut, options => options.MapFrom(entity => entity.LAST_PARAM_OUT)) .ForMember(viewmodel => viewmodel.Result, options => options.MapFrom(entity => entity.RESULT)) .ForMember(viewmodel => viewmodel.CreateTime, options => options.MapFrom(entity => entity.CREATE_TIME)) .ForMember(viewmodel => viewmodel.RequestNoType, options => options.MapFrom(entity => entity.REQUEST_NO_TYPE)) .ForMember(viewmodel => viewmodel.FeedbackStatus, options => options.MapFrom(entity => entity.FEEDBACK_STATUS)) .ForMember(viewmodel => viewmodel.RequestNo, options => options.MapFrom(entity => entity.REQUEST_NO)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.ID)) .ForMember(viewmodel => viewmodel.UserName, options => options.MapFrom(entity => entity.USER_NAME)) .ForMember(viewmodel => viewmodel.Method, options => options.MapFrom(entity => entity.METHOD)) .ForMember(viewmodel => viewmodel.ControllerName, options => options.MapFrom(entity => entity.CONTROLLER_NAME)) .ForMember(viewmodel => viewmodel.RequestBody, options => options.MapFrom(entity => entity.REQUEST_BODY)) .ForMember(viewmodel => viewmodel.RequestTime, options => options.MapFrom(entity => entity.REQUEST_TIME)) .ForMember(viewmodel => viewmodel.ResponseBody, options => options.MapFrom(entity => entity.RESPONSE_BODY)) .ForMember(viewmodel => viewmodel.ResponseTime, options => options.MapFrom(entity => entity.RESPONSE_TIME)); CreateMap() .ForMember(viewmodel => viewmodel.Id, options => options.MapFrom(entity => entity.CELL_ID)) .ForMember(viewmodel => viewmodel.Area, options => options.MapFrom(entity => entity.AREA_ID)) .ForMember(viewmodel => viewmodel.Warehouse, options => options.MapFrom(entity => entity.WAREHOUSE_ID)) .ForMember(viewmodel => viewmodel.Group, options => options.MapFrom(entity => entity.CELL_GROUP)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.CELL_CODE)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.CELL_NAME)) .ForMember(viewmodel => viewmodel.Type, options => options.MapFrom(entity => entity.CELL_TYPE)) .ForMember(viewmodel => viewmodel.AllowIn, options => options.MapFrom(entity => entity.CELL_IN)) .ForMember(viewmodel => viewmodel.AllowOut, options => options.MapFrom(entity => entity.CELL_OUT)) .ForMember(viewmodel => viewmodel.Row, options => options.MapFrom(entity => entity.CELL_Z)) .ForMember(viewmodel => viewmodel.Column, options => options.MapFrom(entity => entity.CELL_X)) .ForMember(viewmodel => viewmodel.Tier, options => options.MapFrom(entity => entity.CELL_Y)) .ForMember(viewmodel => viewmodel.Store, options => options.MapFrom(entity => entity.CELL_STATUS)) .ForMember(viewmodel => viewmodel.Task, options => options.MapFrom(entity => entity.RUN_STATUS)) .ForMember(viewmodel => viewmodel.Visual, options => options.MapFrom(entity => entity.CELL_VISUAL)) .ForMember(viewmodel => viewmodel.Laneway, options => options.MapFrom(entity => entity.CELL_LANEWAY)) .ForMember(viewmodel => viewmodel.CellTag, options => options.MapFrom(entity => entity.CELL_TAG)) .ForMember(viewmodel => viewmodel.GoodsAgeStatus, options => options.MapFrom(entity => entity.GOODS_AGE_STATUS)); CreateMap() .ForMember(viewmodel => viewmodel.ItemId, options => options.MapFrom(entity => entity.ITEM_ID)) .ForMember(viewmodel => viewmodel.ItemListId, options => options.MapFrom(entity => entity.ITEM_LIST_ID)) .ForMember(viewmodel => viewmodel.ItemName, options => options.MapFrom(entity => entity.ITEM_NAME)) .ForMember(viewmodel => viewmodel.ItemCode, options => options.MapFrom(entity => entity.ITEM_CODE)) .ForMember(viewmodel => viewmodel.Code, options => options.MapFrom(entity => entity.ITEM_LIST_CODE)) .ForMember(viewmodel => viewmodel.Remark, options => options.MapFrom(entity => entity.ITEM_LIST_REMARK)) .ForMember(viewmodel => viewmodel.Name, options => options.MapFrom(entity => entity.ITEM_LIST_NAME)); } } /// /// AutoMapper 扩展方法 /// internal static class AutoMapperExtension { /// /// 获取映射表达式 /// /// 源类型 /// 目标类型 /// 映射 /// 属性 /// Lambda 表达式 internal static Expression> GetPropertyMapExpression(this IMapper mapper, string property) { if (mapper.ConfigurationProvider is global::AutoMapper.Internal.IGlobalConfiguration configuration) { var map = configuration.FindTypeMapFor().PropertyMaps.FirstOrDefault(p => p.DestinationName.Equals(property, StringComparison.OrdinalIgnoreCase)); if (map?.CustomMapExpression != null) { return Expression.Lambda>(Expression.Convert(map.CustomMapExpression.Body, typeof(object)), map.CustomMapExpression.Parameters); } } return null; } /// /// 获取映射表达式 /// /// 源类型1 /// 源类型2 /// 目标类型 /// 映射 /// 属性 /// Lambda 表达式 internal static Expression> GetPropertyMapExpression(this IMapper mapper, string property) { if (mapper.ConfigurationProvider is global::AutoMapper.Internal.IGlobalConfiguration configuration) { var map = configuration.FindTypeMapFor().PropertyMaps.FirstOrDefault(p => p.DestinationName.Equals(property, StringComparison.OrdinalIgnoreCase)); if (map?.CustomMapFunction != null && map.CustomMapFunction.Body is InvocationExpression invocationExpression && invocationExpression.Expression is MemberExpression memberExpression && memberExpression.Expression is ConstantExpression constantExpression && constantExpression.Value.GetType().GetField("mappingFunction")?.GetValue(constantExpression.Value) is Delegate mappingFunction && mappingFunction.Method.GetCustomAttribute(typeof(SourceAttribute)) is SourceAttribute sourceAttribute) { var parameters = new Dictionary() { [typeof(TSource1)] = Expression.Parameter(typeof(TSource1), "p1"), [typeof(TSource2)] = Expression.Parameter(typeof(TSource2), "p2") }; return Expression.Lambda>( Expression.Convert(Expression.PropertyOrField(parameters[sourceAttribute.Type], sourceAttribute.Path), typeof(object)), parameters.Values); } } return null; } } /// /// 指示映射函数中源类型的具体信息 /// [AttributeUsage(AttributeTargets.Method)] internal class SourceAttribute : Attribute { /// /// 初始化 Kean.Application.Query.SourceAttribute 类的新实例 /// /// 源类型 /// 源路径 internal SourceAttribute(Type type, string path) { Type = type; Path = path; } /// /// 源类型 /// internal Type Type { get; } /// /// 源路径 /// internal string Path { get; } } }