/// <summary> /// Initializes user. /// </summary> /// <param name="name">Username, for example "Miku".</param> /// <param name="pass">Plaintext password. Will be hashed. For example "MikuMiku39".</param> /// <param name="email">Email address. For example "*****@*****.**".</param> /// <param name="passwordHashAlgorithm">Password hashing algorithm. Cannot be null.</param> public User(string name, string pass, string email, IPasswordHashAlgorithm passwordHashAlgorithm) : this() { ParamIs.NotNull(() => passwordHashAlgorithm); Name = name; NameLC = name.ToLowerInvariant(); Email = email; NormalizedEmail = !string.IsNullOrEmpty(email) ? MailAddressNormalizer.Normalize(email) : string.Empty; UpdatePassword(pass, passwordHashAlgorithm); GenerateAccessKey(); }
private string NormalizedAddress(string address) { return(MailAddressNormalizer.Normalize(address)); }