using AutoMapper; using UserManagement.Application.Dtos.Incomming; using UserManagement.Application.Dtos.Outgoing; using UserManagement.Domain.Entities; namespace UserManagement.Application.MappingProfiles { public class BasicDtoMappingProfile : Profile { public BasicDtoMappingProfile() { // ROLE CreateMap().ReverseMap(); CreateMap().ReverseMap(); CreateMap().ReverseMap(); // USER ROLES CreateMap().ReverseMap(); CreateMap().ReverseMap(); // USER CreateMap() .ReverseMap() .AfterMap((src, dest) => { dest.PasswordHash = BCrypt.Net.BCrypt.HashPassword(src.Password); }); CreateMap() .ForMember(dest => dest.UserRoles, opt => opt.MapFrom(src => src.UserRoles!.Select(ur => new ReadingRoleDto { Id = ur.Role!.Id, Name = ur.Role.Name }).ToList())); CreateMap() .ReverseMap() .AfterMap((src, dest) => { dest.PasswordHash = BCrypt.Net.BCrypt.HashPassword(src.Password); }); } } }