public async Task RegisterAsync(RegisterDTO registerRequest) { bool emailIsTaken = await usersRepository.IsAnyUserWithEmailAsync(registerRequest.Email); if (emailIsTaken) { throw new BadRequestException("Email is taken!"); } bool nameIsTaken = await usersRepository.IsAnyUserWithUserNameAsync(registerRequest.UserName); if (nameIsTaken) { throw new BadRequestException("User name is taken!"); } var user = new AppUser { Email = registerRequest.Email, UserName = registerRequest.UserName, UserRole = registerRequest.Role }; await usersRepository.CreateAsync(user, registerRequest.Password); }