using Hotline.FlowEngine.Workflows; using Hotline.Orders; using Hotline.Share.Dtos.Order; using Mapster; namespace Hotline.Application.Mappers; public class OrderMapperConfigs : IRegister { public void Register(TypeAdapterConfig config) { config.ForType() .IgnoreIf((s, d) => s.OrderComplain == null, d => d.OrderComplain) .IgnoreIf((s, d) => s.OrderReport == null, d => d.OrderReport) .IgnoreIf((s, d) => s.Hotspot == null, d => d.Hotspot) ; config.ForType() .IgnoreIf((s, d) => s.OrderComplain == null, d => d.OrderComplain) .IgnoreIf((s, d) => s.OrderReport == null, d => d.OrderReport) .Map(d => d.Additions, s => s.Files) ; config.ForType() .Inherits() .Map(d => d.OrderComplain.Id, x => x.Id) .Map(d => d.OrderReport.Id, x => x.Id); config.ForType() .Map(d => d.WorkflowId, s => s.Id) .Map(d => d.StartTime, s => s.CreationTime) //.Map(d => d.ExpiredTime, s => s.ExpiredTime) //.Map(d => d.ActualHandleStepCode, s => s.ActualHandleStepCode) //.Map(d => d.ActualHandleStepName, s => s.ActualHandleStepName) //.Map(d => d.ActualHandleStepCreateTime, s => s.ActualHandleStepCreateTime) //.Map(d => d.ActualHandleTime, s => s.ActualHandleTime) //.Map(d => d.ActualHandlerId, s => s.ActualHandlerId) //.Map(d => d.ActualHandlerName, s => s.ActualHandlerName) //.Map(d => d.ActualHandleOrgName, s => s.ActualHandleOrgName) //.Map(d => d.ActualHandleOrgCode, s => s.ActualHandleOrgCode) //.Map(d => d.ActualHandleOrgAreaCode, s => s.ActualHandleOrgAreaCode) //.Map(d => d.ActualHandleOrgAreaName, s => s.ActualHandleOrgAreaName) //.Map(d => d.ActualOpinion, s => s.ActualOpinion) //.Map(d => d.CurrentStepCode, s => s.CurrentStepCode) //.Map(d => d.CurrentStepName, s => s.CurrentStepName) //.Map(d => d.CurrentStepCreateTime, s => s.CurrentStepCreateTime) //.Map(d => d.OrgLevelOneCode, s => s.OrgLevelOneCode) //.Map(d => d.OrgLevelOneName, s => s.OrgLevelOneName) //.Map(d => d.AcceptorId, s => s.AcceptorId) //.Map(d => d.AcceptorName, s => s.AcceptorName) //.Map(d => d.AcceptorStaffNo, s => s.AcceptorStaffNo) //.Map(d => d.ProcessType, s => s.ProcessType) //.Map(d => d.AssignUserIds, s => s.AssignUserIds) //.Map(d => d.AssignOrgCodes, s => s.AssignOrgCodes) //.IgnoreNonMapped(true) .Ignore(d => d.Status) .Ignore(d => d.Title) .AfterMapping((s, d) => { d.UpdateHandlingStatus(s.IsInCountersign); }) ; config.ForType() .Inherits() .IgnoreIf((s, d) => s.OrderPublish == null, d => d.PublishState) .IgnoreIf((s, d) => s.OrderPublish == null, d => d.ArrangeContent) .IgnoreIf((s, d) => s.OrderPublish == null, d => d.PublishTime) .IgnoreIf((s, d) => s.OrderPublish == null, d => d.PublishMan) .Map(d => d.PublishState, s => s.OrderPublish.PublishState) .Map(d => d.ArrangeContent, s => s.OrderPublish.ArrangeContent) .Map(d => d.PublishTime, s => s.OrderPublish.CreationTime) .Map(d => d.PublishMan, s => s.OrderPublish.CreatorName); config.ForType() .Map(d => d.PublishState, s => s.PublishState) .Map(d => d.ArrangeContent, s => s.ArrangeContent) .Map(d => d.PublishTime, s => s.CreationTime) .Map(d => d.PublishMan, s => s.CreatorName); config.ForType() .Inherits(); config.ForType() .IgnoreIf((s, d) => s.Employee == null, d => d.EmployeeName) .Map(d => d.EmployeeName, s => s.Employee.Name); config.ForType() .Map(d => d.VoiceEvaluate, s => s.VoiceEvaluate) .Map(d => d.SeatEvaluate, s => s.SeatEvaluate); config.ForType() //.Inherits() .Map(d=>d.CurrentStepName,s=>s.Workflow.CurrentStepName) .Map(d=>d.ActualHandlerName,s=>s.Workflow.ActualHandlerName) .IgnoreIf((s, d) => s.Employee == null, d => d.EmployeeName) .IgnoreIf((s, d) => s.Workflow == null, d => d.CurrentStepName) .IgnoreIf((s, d) => s.Workflow == null, d => d.ActualHandlerName); } }