MapperConfigs.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Hotline.CallCenter.BlackLists;
  2. using Hotline.Identity.Accounts;
  3. using Hotline.Identity.Roles;
  4. using Hotline.KnowledgeBase;
  5. using Hotline.Share.Dtos.CallCenter;
  6. using Hotline.Share.Dtos.Knowledge;
  7. using Hotline.Share.Dtos.Role;
  8. using Hotline.Share.Dtos.User;
  9. using Hotline.Users;
  10. using Mapster;
  11. namespace Hotline.Application.Mappers
  12. {
  13. public class MapperConfigs : IRegister
  14. {
  15. public void Register(TypeAdapterConfig config)
  16. {
  17. config.NewConfig<AddBlacklistDto, Blacklist>()
  18. .Ignore(d => d.Expired)
  19. .AfterMapping((s, t) => t.InitExpired());
  20. config.NewConfig<AddUserDto, User>()
  21. .Map(d => d.Name, x => x.Name ?? x.UserName);
  22. config.NewConfig<Role, RoleDto>()
  23. .Map(d => d.AccountIds, x => x.Accounts.Select(d => d.Id));
  24. config.NewConfig<KnowledgeApply, KnowledgeApplyPageDto>()
  25. .Map(d => d.CreationName, x => x.User.Name)
  26. .Map(d => d.CreationOrgName, x => x.SystemOrganize.OrgName);
  27. config.NewConfig<Knowledge, KnowledgeDataDto>()
  28. .Map(d => d.CreationName, x => x.User.Name)
  29. .Map(d => d.KnowledgeTypeName, x => x.KnowledgeType.SpliceName);
  30. config.NewConfig<Knowledge, KnowledgeApprovalDataDto>()
  31. .Map(d => d.CreationName, x => x.User.Name)
  32. .Map(d => d.KnowledgeTypeName, x => x.KnowledgeType.SpliceName)
  33. .Map(d => d.CreateBMName, x => x.SystemOrganize.OrgName);
  34. }
  35. }
  36. }