public static UserPassword UserPasswordReset(string name, out string password, IMessenger messenger) { var user = UserPassword.FetchUserPassword( new UserPasswordCriteria { Name = name }); if (user != null) { password = PasswordHelper.GetRandomPassword(10); user.SetPassword(password); user = user.Save(); if (messenger == null) { messenger = MessageHelper.InitializeMessageForUserPasswordReset(user.Email); } messenger.Message = messenger.Message.Replace(MessageParameter.Password, password); messenger.Send(); } else { throw new ArgumentException("No such user exists."); } return(user); }