public async Task <RegistrationResult> Register(string name, string surname, int age, string email, string password, string confirmPassword) { if (password != confirmPassword) { return(RegistrationResult.Fail); } var userWithProvidedEmailExists = await _customUserManager.UserExists(email); if (userWithProvidedEmailExists) { return(RegistrationResult.EmailAlreadyTaken); } var user = new User(email, name, surname, age); var hashedPassword = _passwordHasher.HashPassword(user, password); user.SetPassword(hashedPassword); await _customUserManager.CreateUser(user); var roleExists = await _customRoleManager.RoleExists("Client"); if (!roleExists) { await _customRoleManager.CreateRole(new Role("Client")); } await _customRoleManager.AddToRole(user, "Client"); return(RegistrationResult.Success); }
public async Task <RegistrationResult> Register(string name, string email, string password, string confirmPassword) { if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(password) && !string.IsNullOrEmpty(confirmPassword)) { if (password != confirmPassword) { return(RegistrationResult.Fail); } var userWithProvidedEmailExists = await _customUserManager.UserExists(email); if (userWithProvidedEmailExists) { return(RegistrationResult.EmailAlreadyTaken); } var userId = Guid.NewGuid(); var user = new User(userId, email, email, userId); var hashedPassword = _passwordHasher.HashPassword(user, password); user.SetHashedPassword(hashedPassword); var clientDetails = new Client(userId, name, 0); await _customUserManager.CreateUser(user); await _clientRepository.AddOne(clientDetails); var roleExists = await _customRoleManager.RoleExists("Client"); if (!roleExists) { await _customRoleManager.CreateRole(new Role("Client")); } await _customRoleManager.AddToRole(user, "Client"); return(RegistrationResult.Success); } return(RegistrationResult.Fail); }