KnowledgeMapperConfigs.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using Hotline.KnowledgeBase;
  2. using Hotline.Share.Dtos.Knowledge;
  3. using Mapster;
  4. namespace Hotline.Application.Mappers;
  5. public class KnowledgeMapperConfigs : IRegister
  6. {
  7. public void Register(TypeAdapterConfig config)
  8. {
  9. #region Knowledge
  10. config.NewConfig<KnowledgeApply, KnowledgeApplyHandlePageDto>()
  11. .Map(d => d.CreationName, x => x.User.Name)
  12. .Map(d => d.CreationOrgName, x => x.SystemOrganize.Name);
  13. config.NewConfig<Hotline.KnowledgeBase.Knowledge, KnowledgeDataDto>()
  14. .IgnoreIf((s, d) => s.HotspotType == null, d => d.HotspotType)
  15. .IgnoreIf((s, d) => s.HotspotType == null, d => d.HotspotName)
  16. .Map(d => d.CreatorName, x => x.CreatorName)
  17. .Map(d => d.HotspotName, x => x.HotspotType.HotSpotFullName)
  18. .AfterMapping((s, d) => d.KnowledgeTypeText = s.KnowledgeTypes != null && s.KnowledgeTypes.Any()
  19. ? string.Join(',', s.KnowledgeTypes.Select(x => x.Name))
  20. : string.Empty);
  21. ;
  22. config.ForType<KnowledgeBase.Knowledge, KnowledgeDto>()
  23. .Map(d=>d.HotspotName,s=>s.HotspotType.HotSpotFullName)
  24. .IgnoreIf((s, d) => s.HotspotType == null, d => d.HotspotName)
  25. .IgnoreIf((s, d) => s.SourceOrganize == null, d => d.SourceOrganize)
  26. .Ignore(d => d.Collect)
  27. .AfterMapping((s, d) => d.KnowledgeTypeText = s.KnowledgeTypes != null && s.KnowledgeTypes.Any()
  28. ? string.Join(',', s.KnowledgeTypes.Select(x => x.Name))
  29. : string.Empty);
  30. config.ForType<KnowledgeBase.Knowledge, KnowledgeInfoDto>()
  31. .AfterMapping((s, d) => d.KnowledgeTypeText = s.KnowledgeTypes != null && s.KnowledgeTypes.Any()
  32. ? string.Join(',', s.KnowledgeTypes.Select(x => x.Name))
  33. : string.Empty);
  34. config.NewConfig<Hotline.KnowledgeBase.Knowledge, KnowledgeApprovalDataDto>()
  35. .Map(d => d.CreatorName, x => x.User.Name)
  36. .Map(d => d.CreateBMName, x => x.SystemOrganize.Name);
  37. config.NewConfig<KnowledgeWorkFlow, KnowledgeApprovalDataDto>()
  38. .Map(d => d.CreatorName, x => x.User.Name)
  39. .Map(d => d.CreateBMName, x => x.SystemOrganize.Name)
  40. .Map(d => d.Id, x => x.Knowledge.Id)
  41. .Map(d => d.Title, x => x.Knowledge.Title)
  42. .Map(d => d.PageView, x => x.Knowledge.PageView)
  43. .Map(d => d.Status, x => x.Knowledge.Status)
  44. .Map(d => d.WorkflowModuleStatus, x => x.WorkflowModuleStatus)
  45. .Map(d => d.CurrentStepTime, x => x.Workflow.ActualHandleTime);
  46. config.NewConfig<KnowledgeWorkFlow, KnowledgeDeleteApplyDataDto>()
  47. .Map(d => d.Id, x => x.Knowledge.Id)
  48. .Map(d => d.Title, x => x.Knowledge.Title)
  49. .Map(d => d.HotspotName, x => x.Knowledge.HotspotType.HotSpotFullName)
  50. .Map(d => d.CreatorName, x => x.User.Name)
  51. .Map(d => d.CreationBMName, x => x.SystemOrganize.Name)
  52. .Map(d => d.PageView, x => x.Knowledge.PageView)
  53. .Map(d => d.Status, x => x.Knowledge.Status)
  54. .Map(d => d.WorkFlowApplyStatus, x => x.WorkFlowApplyStatus);
  55. config.NewConfig<Hotline.KnowledgeBase.Knowledge, KnowledgeSendDto>()
  56. .Map(d => d.CategoryCode, x => x.HotspotType.ProvinceCode)
  57. .Map(d => d.CategoryName, x => x.HotspotType.HotSpotName)
  58. .Map(d => d.PublishPerson, x => x.CreatorName)
  59. .Map(d => d.OuName, x => x.CreatorOrgName)
  60. .Map(d => d.KName, x => x.Title)
  61. .Map(d => d.KContent, x => x.Content)
  62. .Map(d => d.CreatDate, x => x.OnShelfTime)
  63. .Map(d => d.BeginDate, x => x.OnShelfTime)
  64. .Map(d => d.DisableDate, x => x.ExpiredTime)
  65. .Map(d => d.UID, x => x.Code)
  66. .IgnoreIf((s, d) => s.FileJson == null, d => d.FileJson)
  67. .IgnoreIf((s,d)=>s.HotspotType == null, d=>d.CategoryCode)
  68. .IgnoreIf((s,d)=>s.HotspotType == null, d=>d.CategoryName)
  69. //.IgnoreIf((s,d)=>s.User == null, d=>d.PublishPerson)
  70. //.IgnoreIf((s,d)=>s.SystemOrganize == null, d=>d.OuName)
  71. ;
  72. config.ForType<KnowledgeRelationTypeDto, KnowledgeType>()
  73. .Map(d => d.Name, s => s.KnowledgeTypeName)
  74. .Map(d => d.SpliceName, s => s.KnowledgeTypeSpliceName)
  75. .AfterMapping((s, d) => d.Id = s.KnowledgeTypeId)
  76. ;
  77. config.ForType<KnowledgeApprove, KnowledgeApproveDto>()
  78. .IgnoreIf((s, d) => s.Approver == null, d => d.Approver);
  79. config.ForType<KnowledgeImportTemplate, KnowledgeBase.Knowledge>()
  80. .Ignore(d => d.IsPublic);
  81. #endregion
  82. }
  83. }