public User CreateUser(string username, string email, string password, int[] roles) { var existingUser = _userRepository.GetSingleByUsername(username); if (existingUser != null) { throw new Exception("Username is already in use"); } var passwordSalt = _encryptionServices.CreateSalt(); var user = new User() { Username = username, Salt = passwordSalt, Email = email, IsLocked = false, HashedPassword = _encryptionServices.EncryptPassword(password, passwordSalt), DateCreated = DateTime.Now, }; _userRepository.Add(user); _unitOfWork.Commit(); // TODO: Do not store users without roles if (roles != null) { foreach (var role in roles) { AddUserToRole(user, role); } } _unitOfWork.Commit(); return(user); }
public User CreateUser(string email, string password) { var existingUser = GetUserByUserName(email); if (existingUser != null) { throw new Exception("Username is already in use"); } var passwordSalt = _encryptionService.CreateSalt(); Guid Id = Guid.NewGuid(); var user = new User(); //{ // Email = email, // Salt = passwordSalt, // Password = _encryptionService.EncryptPassword(password, passwordSalt), // AuthID = Id, // ApprovedBy = Id, // VerifiedEmail = false, // VerifiedPhone = false, // IsActive = false, // IsDeleted = false, // ModifiedOn = DateTime.Now, // CreatedOn = DateTime.Now //}; _userRepository.Add(user); //_unitOfWork.Commit(); //if (roles != null || roles.Length > 0) //{ // foreach (var role in roles) // { // addUserToRole(user, role); // } //} //_unitOfWork.Commit(); return(user); }