public virtual void Add(User user) { #region Validate data List<DataViolationItem> violations = new List<DataViolationItem>(); if (_userRepository.Get(user) != null) { violations.Add(new DataViolationItem("UserName", user.UserName, "DuplicateUserName")); } if (string.IsNullOrEmpty(user.Password)) { violations.Add(new DataViolationItem("Password", user.Password, "InvalidPassword")); } if (string.IsNullOrEmpty(user.Email)) { violations.Add(new DataViolationItem("Email", user.Email, "InvalidEmail")); } if (_userRepository.FindUserByEmail(user.Email) != null) { violations.Add(new DataViolationItem("Email", user.Email, "DuplicateEmail")); } if (violations.Count > 0) { throw new DataViolationException(violations); } #endregion var salt = CryptoHelper.GenerateSalt(); var encodedPassword = CryptoHelper.HashPassword(user.Password, salt); user.Password = encodedPassword; user.PasswordSalt = salt; _userRepository.Add(user); }
public virtual void Update(string userName, User newUser) { var old = Get(userName); _userRepository.Update(newUser, old); }