46 lines
1.6 KiB
C#
46 lines
1.6 KiB
C#
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<Role, CreatingRoleDto>().ReverseMap();
|
|
CreateMap<Role, ReadingRoleDto>().ReverseMap();
|
|
CreateMap<Role, UpdatingRoleDto>().ReverseMap();
|
|
|
|
// USER ROLES
|
|
CreateMap<UserRoles, CreatingUserRolesDto>().ReverseMap();
|
|
CreateMap<UserRoles, ReadingUserRolesDto>().ReverseMap();
|
|
|
|
// USER
|
|
CreateMap<User, CreatingUserDto>()
|
|
.ReverseMap()
|
|
.AfterMap((src, dest) =>
|
|
{
|
|
dest.PasswordHash = BCrypt.Net.BCrypt.HashPassword(src.Password);
|
|
});
|
|
|
|
CreateMap<User, ReadingUserDto>()
|
|
.ForMember(dest => dest.UserRoles, opt => opt.MapFrom(src =>
|
|
src.UserRoles!.Select(ur => new ReadingRoleDto
|
|
{
|
|
Id = ur.Role!.Id,
|
|
Name = ur.Role.Name
|
|
}).ToList()));
|
|
|
|
CreateMap<User, UpdatingUserDto>()
|
|
.ReverseMap()
|
|
.AfterMap((src, dest) =>
|
|
{
|
|
dest.PasswordHash = BCrypt.Net.BCrypt.HashPassword(src.Password);
|
|
});
|
|
}
|
|
}
|
|
}
|