فهرست منبع

class mapperconfigs split

xf 1 سال پیش
والد
کامیت
810f81853c

+ 33 - 0
src/Hotline.Application/Mappers/IdentityMapperConfigs.cs

@@ -0,0 +1,33 @@
+using Hotline.Identity.Roles;
+using Hotline.Share.Dtos.Roles;
+using Hotline.Share.Dtos.Users;
+using Hotline.Users;
+using Mapster;
+
+namespace Hotline.Application.Mappers;
+
+public class IdentityMapperConfigs : IRegister
+{
+    public void Register(TypeAdapterConfig config)
+    {
+        #region identity
+
+        config.ForType<AddUserDto, User>()
+            .Map(d => d.Name, x => x.Name ?? x.UserName);
+
+        config.NewConfig<User, UserDto>()
+            .IgnoreIf((s, d) => s.Account == null, d => d.UserName)
+            .IgnoreIf((s, d) => s.Roles == null || !s.Roles.Any(), d => d.RoleNames)
+            .Map(d => d.UserName, x => x.Account.UserName)
+            .Map(d => d.State, x => x.IsDeleted ? "已删除" : "正常")
+            .Map(d => d.RoleNames, x => string.Join(',', x.Roles.Select(s => s.DisplayName)))
+            .IgnoreNullValues(true);
+
+        config.NewConfig<Role, RoleDto>()
+            .IgnoreIf((s, d) => s.Accounts == null, d => d.AccountIds)
+            .Map(d => d.AccountIds, x => x.Accounts.Select(d => d.Id))
+            .Map(d => d.State, x => x.IsDeleted ? "已删除" : "正常");
+
+        #endregion
+    }
+}

+ 63 - 0
src/Hotline.Application/Mappers/KnowledgeMapperConfigs.cs

@@ -0,0 +1,63 @@
+using Hotline.KnowledgeBase;
+using Hotline.Share.Dtos.Knowledge;
+using Mapster;
+
+namespace Hotline.Application.Mappers;
+
+public class KnowledgeMapperConfigs : IRegister
+{
+    public void Register(TypeAdapterConfig config)
+    {
+        #region Knowledge
+        config.NewConfig<KnowledgeApply, KnowledgeApplyHandlePageDto>()
+            .Map(d => d.CreationName, x => x.User.Name)
+            .Map(d => d.CreationOrgName, x => x.SystemOrganize.OrgName);
+
+        config.NewConfig<Hotline.KnowledgeBase.Knowledge, KnowledgeDataDto>()
+            .Map(d => d.CreationName, x => x.User.Name)
+            .Map(d => d.KnowledgeTypeName, x => x.KnowledgeType.SpliceName)
+            .Map(d => d.HotspotName, x => x.HotspotType.HotSpotFullName)
+            ;
+
+        config.NewConfig<Hotline.KnowledgeBase.Knowledge, KnowledgeApprovalDataDto>()
+            .Map(d => d.CreationName, x => x.User.Name)
+            .Map(d => d.KnowledgeTypeName, x => x.KnowledgeType.SpliceName)
+            .Map(d => d.CreateBMName, x => x.SystemOrganize.OrgName);
+
+        config.NewConfig<KnowledgeWorkFlow, KnowledgeApprovalDataDto>()
+            .Map(d => d.CreationName, x => x.User.Name)
+            .Map(d => d.KnowledgeTypeName, x => x.Knowledge.KnowledgeType.SpliceName)
+            .Map(d => d.CreateBMName, x => x.SystemOrganize.OrgName)
+            .Map(d => d.Id, x => x.Knowledge.Id)
+            .Map(d => d.Title, x => x.Knowledge.Title)
+            .Map(d => d.PageView, x => x.Knowledge.PageView)
+            .Map(d => d.Status, x => x.Knowledge.Status)
+            .Map(d => d.WorkflowModuleStatus, x => x.WorkflowModuleStatus)
+            .Map(d => d.CurrentStepTime, x => x.Workflow.ActualHandleTime);
+
+        config.NewConfig<KnowledgeWorkFlow, KnowledgeDeleteApplyDataDto>()
+            .Map(d => d.Id, x => x.Knowledge.Id)
+            .Map(d => d.Title, x => x.Knowledge.Title)
+            .Map(d => d.KnowledgeTypeName, x => x.Knowledge.KnowledgeType.SpliceName)
+            .Map(d => d.HotspotName, x => x.Knowledge.HotspotType.HotSpotFullName)
+            .Map(d => d.CreationName, x => x.User.Name)
+            .Map(d => d.CreationBMName, x => x.SystemOrganize.OrgName)
+            .Map(d => d.PageView, x => x.Knowledge.PageView)
+            .Map(d => d.Status, x => x.Knowledge.Status)
+            .Map(d => d.WorkFlowApplyStatus, x => x.WorkFlowApplyStatus);
+
+        config.NewConfig<Hotline.KnowledgeBase.Knowledge, KnowledgeSendDto>()
+            .Map(d => d.CategoryCode, x => x.HotspotType.ProvinceCode)
+            .Map(d => d.CategoryName, x => x.HotspotType.HotSpotName)
+            .Map(d => d.PublishPerson, x => x.User.Name)
+            .Map(d => d.OuName, x => x.SystemOrganize.OrgName)
+            .Map(d => d.KName, x => x.Title)
+            .Map(d => d.KContent, x => x.Content)
+            .Map(d => d.CreatDate, x => x.OnShelfTime)
+            .Map(d => d.BeginDate, x => x.OnShelfTime)
+            .Map(d => d.DisableDate, x => x.ExpiredTime)
+            .Map(d => d.UID, x => x.Code)
+            ;
+        #endregion
+    }
+}

+ 1 - 209
src/Hotline.Application/Mappers/MapperConfigs.cs

@@ -1,21 +1,10 @@
 using Hotline.CallCenter.BlackLists;
-using Hotline.FlowEngine.Definitions;
 using Hotline.FlowEngine.WfModules;
-using Hotline.FlowEngine.Workflows;
-using Hotline.Identity.Roles;
-using Hotline.KnowledgeBase;
-using Hotline.Orders;
 using Hotline.Push.FWMessage;
 using Hotline.Settings;
 using Hotline.Share.Dtos.CallCenter;
-using Hotline.Share.Dtos.FlowEngine;
-using Hotline.Share.Dtos.Knowledge;
-using Hotline.Share.Dtos.Order;
 using Hotline.Share.Dtos.Org;
 using Hotline.Share.Dtos.Push.FWMessage;
-using Hotline.Share.Dtos.Roles;
-using Hotline.Share.Dtos.Users;
-using Hotline.Users;
 using Mapster;
 using XF.Domain.Entities;
 
@@ -28,203 +17,7 @@ namespace Hotline.Application.Mappers
             config.ForType<AddBlacklistDto, Blacklist>()
                 .Ignore(d => d.Expired)
                 .AfterMapping((s, t) => t.InitExpired());
-
-            #region identity
-
-            config.ForType<AddUserDto, User>()
-                .Map(d => d.Name, x => x.Name ?? x.UserName);
-
-            config.NewConfig<User, UserDto>()
-                .IgnoreIf((s, d) => s.Account == null, d => d.UserName)
-                .IgnoreIf((s, d) => s.Roles == null || !s.Roles.Any(), d => d.RoleNames)
-                .Map(d => d.UserName, x => x.Account.UserName)
-                .Map(d => d.State, x => x.IsDeleted ? "已删除" : "正常")
-                .Map(d => d.RoleNames, x => string.Join(',', x.Roles.Select(s => s.DisplayName)))
-                .IgnoreNullValues(true);
-
-            config.NewConfig<Role, RoleDto>()
-                .IgnoreIf((s, d) => s.Accounts == null, d => d.AccountIds)
-                .Map(d => d.AccountIds, x => x.Accounts.Select(d => d.Id))
-                .Map(d => d.State, x => x.IsDeleted ? "已删除" : "正常");
-
-            #endregion
-
-            #region workflow
-
-            config.ForType<UpdateDefinitionDto, Definition>()
-                .Ignore(d => d.Id);
-
-            config.ForType<WorkflowStep, WorkflowStep>()
-                .Ignore(d => d.Id)
-                .Ignore(d => d.PreviousId)
-                .Ignore(d => d.IsMain)
-                .Ignore(d => d.Status)
-                .Ignore(d => d.ParentId)
-                .Ignore(d => d.Handlers)
-                .Ignore(d => d.Steps)
-                .Ignore(d => d.StartCountersignId)
-                .Ignore(d => d.CountersignId)
-                .Ignore(d => d.IsStartedCountersignComplete)
-                ;
-
-            config.ForType<WorkflowStep, WorkflowTrace>()
-                .Ignore(d => d.Id)
-                .Ignore(d => d.ParentId)
-                .Ignore(d => d.Status)
-                .Map(d => d.StepId, s => s.Id);
-
-            config.ForType<WorkflowSupplement, WorkflowSupplementDto>()
-                .Map(d => d.CreationTime, x => x.CreationTime)
-                .Map(d => d.Additions, x => x.Additions)
-                .Map(d => d.Opinion, x => x.Opinion)
-                .Map(d => d.Creator.Name, x => x.Creator.Name)
-                .IgnoreNonMapped(true)
-                ;
-
-            config.ForType<Workflow, WorkflowDto>()
-                //.IgnoreIf((s, d) => s.Assigns == null || !s.Assigns.Any(), d => d.AssignOrgs)
-                .IgnoreIf((s, d) => s.Supplements == null || !s.Supplements.Any(), d => d.Supplements)
-                .IgnoreIf((s, d) => s.Traces == null || !s.Traces.Any(), d => d.Traces)
-                //.IgnoreIf((s, d) => s.StepBoxes == null || !s.StepBoxes.Any(), d => d.StepBoxes)
-                //.IgnoreIf((s, d) => s.Definition == null, d => d.Definition)
-                //.Map(d => d.AssignOrgs, s => string.Join(',', s.Assigns.Select(d => d.OrgName)))
-                .Ignore(d => d.Definition)
-                .Ignore(d => d.StepBoxes)
-                //.Ignore(d=>d.Supplements)
-                //.Ignore(d => d.Traces)
-                ;
-
-            config.ForType<BasicWorkflowDto, WorkflowStep>()
-                .Map(d => d.NextHandlers, s => s.NextHandlers)
-                .Map(d => d.NextMainHandler, s => s.NextMainHandler)
-                .Map(d => d.NextStepCode, s => s.NextStepCode)
-                .Map(d => d.AcceptSms, s => s.AcceptSms)
-                .Map(d => d.Opinion, s => s.Opinion)
-                .Map(d => d.Additions, s => s.Additions)
-                .IgnoreNonMapped(true)
-                ;
-
-            config.ForType<NextWorkflowDto, Workflow>()
-                .Map(d => d.RealHandlerPhone, s => s.RealHandlerPhone)
-                .Map(d => d.RealHandlerName, s => s.RealHandlerName)
-                .Map(d => d.RealCommunicationMode, s => s.RealCommunicationMode)
-                .Map(d => d.RealCommunicationTime, s => s.RealCommunicationTime)
-                .Map(d => d.RealCommunicationAddress, s => s.RealCommunicationAddress)
-                .IgnoreNonMapped(true);
-
-            #endregion
-
-            #region Knowledge
-            config.NewConfig<KnowledgeApply, KnowledgeApplyHandlePageDto>()
-                 .Map(d => d.CreationName, x => x.User.Name)
-                   .Map(d => d.CreationOrgName, x => x.SystemOrganize.OrgName);
-
-            config.NewConfig<Hotline.KnowledgeBase.Knowledge, KnowledgeDataDto>()
-              .Map(d => d.CreationName, x => x.User.Name)
-                .Map(d => d.KnowledgeTypeName, x => x.KnowledgeType.SpliceName)
-                 .Map(d => d.HotspotName, x => x.HotspotType.HotSpotFullName)
-                  ;
-
-            config.NewConfig<Hotline.KnowledgeBase.Knowledge, KnowledgeApprovalDataDto>()
-            .Map(d => d.CreationName, x => x.User.Name)
-              .Map(d => d.KnowledgeTypeName, x => x.KnowledgeType.SpliceName)
-                 .Map(d => d.CreateBMName, x => x.SystemOrganize.OrgName);
-
-            config.NewConfig<KnowledgeWorkFlow, KnowledgeApprovalDataDto>()
-                .Map(d => d.CreationName, x => x.User.Name)
-                .Map(d => d.KnowledgeTypeName, x => x.Knowledge.KnowledgeType.SpliceName)
-                .Map(d => d.CreateBMName, x => x.SystemOrganize.OrgName)
-                .Map(d => d.Id, x => x.Knowledge.Id)
-                .Map(d => d.Title, x => x.Knowledge.Title)
-                .Map(d => d.PageView, x => x.Knowledge.PageView)
-                .Map(d => d.Status, x => x.Knowledge.Status)
-                .Map(d => d.WorkflowModuleStatus, x => x.WorkflowModuleStatus)
-                .Map(d => d.CurrentStepTime, x => x.Workflow.ActualHandleTime);
-
-            config.NewConfig<KnowledgeWorkFlow, KnowledgeDeleteApplyDataDto>()
-                 .Map(d => d.Id, x => x.Knowledge.Id)
-                  .Map(d => d.Title, x => x.Knowledge.Title)
-               .Map(d => d.KnowledgeTypeName, x => x.Knowledge.KnowledgeType.SpliceName)
-               .Map(d => d.HotspotName, x => x.Knowledge.HotspotType.HotSpotFullName)
-               .Map(d => d.CreationName, x => x.User.Name)
-               .Map(d => d.CreationBMName, x => x.SystemOrganize.OrgName)
-               .Map(d => d.PageView, x => x.Knowledge.PageView)
-               .Map(d => d.Status, x => x.Knowledge.Status)
-               .Map(d => d.WorkFlowApplyStatus, x => x.WorkFlowApplyStatus);
-
-            config.NewConfig<Hotline.KnowledgeBase.Knowledge, KnowledgeSendDto>()
-                .Map(d => d.CategoryCode, x => x.HotspotType.ProvinceCode)
-                .Map(d => d.CategoryName, x => x.HotspotType.HotSpotName)
-                .Map(d => d.PublishPerson, x => x.User.Name)
-                .Map(d => d.OuName, x => x.SystemOrganize.OrgName)
-                .Map(d => d.KName, x => x.Title)
-                .Map(d => d.KContent, x => x.Content)
-                .Map(d => d.CreatDate, x => x.OnShelfTime)
-                .Map(d => d.BeginDate, x => x.OnShelfTime)
-                .Map(d => d.DisableDate, x => x.ExpiredTime)
-                .Map(d => d.UID, x => x.Code)
-                ;
-            #endregion
-
-            #region order
-
-            config.ForType<Order, OrderDto>()
-                .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<AddOrderDto, Order>()
-                .IgnoreIf((s, d) => s.OrderComplain == null, d => d.OrderComplain)
-                .IgnoreIf((s, d) => s.OrderReport == null, d => d.OrderReport);
-
-            config.ForType<UpdateOrderDto, Order>()
-                .Inherits<AddOrderDto, Order>()
-                .Map(d => d.OrderComplain.Id, x => x.Id)
-                .Map(d => d.OrderReport.Id, x => x.Id);
-
-            config.ForType<Workflow, Order>()
-                .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<Order, PublishDto>()
-                .Inherits<Order, OrderDto>()
-                .Map(d => d.PublishState, s => s.OrderPublish.PublishState)
-                ;
-
-            #endregion
-
+            
             config.ForType<Message, MessageDataDto>()
                .Map(d => d.SendUser, x => x.User.Name)
                .Map(d => d.SendOrganize, x => x.SystemOrganize.OrgName)
@@ -241,5 +34,4 @@ namespace Hotline.Application.Mappers
             #endregion
         }
     }
-
 }

+ 68 - 0
src/Hotline.Application/Mappers/OrderMapperConfigs.cs

@@ -0,0 +1,68 @@
+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<Order, OrderDto>()
+            .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<AddOrderDto, Order>()
+            .IgnoreIf((s, d) => s.OrderComplain == null, d => d.OrderComplain)
+            .IgnoreIf((s, d) => s.OrderReport == null, d => d.OrderReport);
+
+        config.ForType<UpdateOrderDto, Order>()
+            .Inherits<AddOrderDto, Order>()
+            .Map(d => d.OrderComplain.Id, x => x.Id)
+            .Map(d => d.OrderReport.Id, x => x.Id);
+
+        config.ForType<Workflow, Order>()
+            .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<Order, PublishDto>()
+            .Inherits<Order, OrderDto>()
+            //.Map(d => d.PublishState, s => s.OrderPublish.PublishState)
+            ;
+            
+    }
+}

+ 77 - 0
src/Hotline.Application/Mappers/WorkflowMapperConfigs.cs

@@ -0,0 +1,77 @@
+using Hotline.FlowEngine.Definitions;
+using Hotline.FlowEngine.Workflows;
+using Hotline.Share.Dtos.FlowEngine;
+using Mapster;
+
+namespace Hotline.Application.Mappers;
+
+public class WorkflowMapperConfigs : IRegister
+{
+    public void Register(TypeAdapterConfig config)
+    {
+        #region workflow
+
+        config.ForType<UpdateDefinitionDto, Definition>()
+            .Ignore(d => d.Id);
+
+        config.ForType<WorkflowStep, WorkflowStep>()
+            .Ignore(d => d.Id)
+            .Ignore(d => d.PreviousId)
+            .Ignore(d => d.IsMain)
+            .Ignore(d => d.Status)
+            .Ignore(d => d.ParentId)
+            .Ignore(d => d.Handlers)
+            .Ignore(d => d.Steps)
+            .Ignore(d => d.StartCountersignId)
+            .Ignore(d => d.CountersignId)
+            .Ignore(d => d.IsStartedCountersignComplete)
+            ;
+
+        config.ForType<WorkflowStep, WorkflowTrace>()
+            .Ignore(d => d.Id)
+            .Ignore(d => d.ParentId)
+            .Ignore(d => d.Status)
+            .Map(d => d.StepId, s => s.Id);
+
+        config.ForType<WorkflowSupplement, WorkflowSupplementDto>()
+            .Map(d => d.CreationTime, x => x.CreationTime)
+            .Map(d => d.Additions, x => x.Additions)
+            .Map(d => d.Opinion, x => x.Opinion)
+            .Map(d => d.Creator.Name, x => x.Creator.Name)
+            .IgnoreNonMapped(true)
+            ;
+
+        config.ForType<Workflow, WorkflowDto>()
+            //.IgnoreIf((s, d) => s.Assigns == null || !s.Assigns.Any(), d => d.AssignOrgs)
+            .IgnoreIf((s, d) => s.Supplements == null || !s.Supplements.Any(), d => d.Supplements)
+            .IgnoreIf((s, d) => s.Traces == null || !s.Traces.Any(), d => d.Traces)
+            //.IgnoreIf((s, d) => s.StepBoxes == null || !s.StepBoxes.Any(), d => d.StepBoxes)
+            //.IgnoreIf((s, d) => s.Definition == null, d => d.Definition)
+            //.Map(d => d.AssignOrgs, s => string.Join(',', s.Assigns.Select(d => d.OrgName)))
+            .Ignore(d => d.Definition)
+            .Ignore(d => d.StepBoxes)
+            //.Ignore(d=>d.Supplements)
+            //.Ignore(d => d.Traces)
+            ;
+
+        config.ForType<BasicWorkflowDto, WorkflowStep>()
+            .Map(d => d.NextHandlers, s => s.NextHandlers)
+            .Map(d => d.NextMainHandler, s => s.NextMainHandler)
+            .Map(d => d.NextStepCode, s => s.NextStepCode)
+            .Map(d => d.AcceptSms, s => s.AcceptSms)
+            .Map(d => d.Opinion, s => s.Opinion)
+            .Map(d => d.Additions, s => s.Additions)
+            .IgnoreNonMapped(true)
+            ;
+
+        config.ForType<NextWorkflowDto, Workflow>()
+            .Map(d => d.RealHandlerPhone, s => s.RealHandlerPhone)
+            .Map(d => d.RealHandlerName, s => s.RealHandlerName)
+            .Map(d => d.RealCommunicationMode, s => s.RealCommunicationMode)
+            .Map(d => d.RealCommunicationTime, s => s.RealCommunicationTime)
+            .Map(d => d.RealCommunicationAddress, s => s.RealCommunicationAddress)
+            .IgnoreNonMapped(true);
+
+        #endregion
+    }
+}