public UsersService( SignInManager <AppIdentityUser> signInManager, UserManager <AppIdentityUser> userManager, AppDbContext dbContext, IMapper mapper, IPrincipalService principalService, IRolesHelper rolesHelper, IOptionsSnapshot <AuthConfig> authConfig ) { _signInManager = signInManager ?? throw new ArgumentNullException(nameof(signInManager)); _userManager = userManager ?? throw new ArgumentNullException(nameof(userManager)); _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); _principalService = principalService ?? throw new ArgumentNullException(nameof(principalService)); _rolesHelper = rolesHelper ?? throw new ArgumentNullException(nameof(rolesHelper)); _authConfig = authConfig?.Value ?? throw new ArgumentNullException(nameof(authConfig)); }
static void ConfigureUsers(IProfileExpression config, IRolesHelper rolesHelper) { config.CreateMap <SignUpDto, AppIdentityUser>() .ForMember(d => d.FirstName, opt => opt.MapFrom(s => s.FirstName.Trim())) .ForMember(d => d.LastName, opt => opt.MapFrom(s => s.LastName.Trim())) .ForMember(d => d.UserName, opt => opt.MapFrom(s => s.Email.Trim())) .ForMember(d => d.Email, opt => opt.MapFrom(s => s.Email.Trim())) .ForMember(d => d.DateOfBirth, opt => opt.MapFrom(s => s.DateOfBirth)) .ForMember(d => d.Gender, opt => opt.MapFrom(s => s.Gender)) .ForAllOtherMembers(opt => opt.Ignore()); config.CreateMap <AppIdentityUser, UserDto>(); config.CreateMap <AppIdentityUser, UserWithRolesDto>() .IncludeBase <AppIdentityUser, UserDto>() .ForMember(d => d.Roles, opt => opt.MapFrom(s => s.Roles.Select(_ => rolesHelper.GetRoleById(_.RoleId)).ToArray())); config.CreateMap <AppIdentityUser, SignedInDto>() .IncludeBase <AppIdentityUser, UserWithRolesDto>() .ForMember(d => d.Token, opt => opt.Ignore()); }