Example #1
0
 /// <summary>
 /// Create a new password info class.
 /// </summary>
 /// <param name="account">Account containing password information</param>
 /// <returns>Password info object</returns>
 public static AccountPasswordInfo CreatePasswordInfo(this IMembershipAccount account)
 {
     return(new AccountPasswordInfo(account.UserName, account.Password)
     {
         PasswordSalt = account.PasswordSalt
     });
 }
 /// <summary>
 /// Copy another account
 /// </summary>
 /// <param name="account">Account to copy</param>
 public void Copy(IMembershipAccount account)
 {
     if (account == null)
     {
         throw new ArgumentNullException("account");
     }
     UserName             = account.UserName;
     ApplicationName      = account.ApplicationName;
     Comment              = account.Comment;
     CreatedAt            = account.CreatedAt;
     IsApproved           = account.IsApproved;
     IsLockedOut          = account.IsLockedOut;
     IsOnline             = account.IsOnline;
     LastActivityAt       = account.LastActivityAt;
     LastLockedOutAt      = account.LastLockedOutAt;
     LastLoginAt          = account.LastLoginAt;
     LastPasswordChangeAt = account.LastPasswordChangeAt;
     Email            = account.Email;
     PasswordQuestion = account.PasswordQuestion;
     Password         = account.Password;
     PasswordAnswer   = account.PasswordAnswer;
     PasswordSalt     = account.PasswordSalt;
     ProviderUserKey  = account.ProviderUserKey;
     FailedPasswordAnswerWindowAttemptCount = account.FailedPasswordAnswerWindowAttemptCount;
     FailedPasswordAnswerWindowStartedAt    = account.FailedPasswordAnswerWindowStartedAt;
     FailedPasswordWindowAttemptCount       = account.FailedPasswordWindowAttemptCount;
     FailedPasswordWindowStartedAt          = account.FailedPasswordWindowStartedAt;
 }
 /// <summary>
 /// Register a new account.
 /// </summary>
 /// <param name="account">Acount to register</param>
 /// <returns>Result indication</returns>
 /// <remarks>
 /// Implementations should set the <see cref="IMembershipAccount.Id"/> property before returning.
 /// </remarks>
 public MembershipCreateStatus Register(IMembershipAccount account)
 {
     account.Id = account.UserName;
     _documentSession.Store(account);
     _documentSession.SaveChanges();
     return MembershipCreateStatus.Success;
 }
 /// <summary>
 /// Create a membershipuser from an membership account.
 /// </summary>
 /// <param name="account">The account.</param>
 /// <returns>Created user</returns>
 protected MembershipUser CloneUser(IMembershipAccount account)
 {
     return(new MembershipUser(Name, account.UserName, account.ProviderUserKey, account.Email,
                               account.PasswordQuestion, account.Comment, account.IsApproved,
                               account.IsLockedOut, account.CreatedAt, account.LastLoginAt,
                               account.LastActivityAt, account.LastPasswordChangeAt, account.LastLockedOutAt));
 }
        /// <summary>
        /// Register a new account.
        /// </summary>
        /// <param name="account">Acount to register</param>
        /// <returns>Result indication</returns>
        /// <remarks>
        /// Implementations should set the <see cref="IMembershipAccount.ProviderUserKey"/> property before returning.
        /// </remarks>
        public MembershipCreateStatus Register(IMembershipAccount account)
        {
            var doc = account as AccountDocument ?? new AccountDocument(account);
            _documentSession.Store(doc);

            return MembershipCreateStatus.Success;
        }
        /// <summary>
        /// Register a new account.
        /// </summary>
        /// <param name="account">Acount to register</param>
        /// <returns>Result indication</returns>
        /// <remarks>
        /// Implementations should set the <see cref="IMembershipAccount.ProviderUserKey"/> property before returning.
        /// </remarks>
        public MembershipCreateStatus Register(IMembershipAccount account)
        {
            var doc = account as AccountDocument ?? new AccountDocument(account);

            _documentSession.Store(doc);

            return(MembershipCreateStatus.Success);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="AccountDocument"/> class.
        /// </summary>
        /// <param name="user">The user.</param>
        public AccountDocument(IMembershipAccount user)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            Copy(user);
        }
        private void UpdateOnlineState(bool userIsOnline, IMembershipAccount user)
        {
            if (!userIsOnline)
            {
                return;
            }

            user.LastActivityAt = DateTime.Now;
            //user.IsOnline = true;
            AccountRepository.Update(user);
        }
 private void Merge(MembershipUser user, IMembershipAccount account)
 {
     account.Comment          = user.Comment;
     account.IsApproved       = user.IsApproved;
     account.Email            = user.Email;
     account.PasswordQuestion = user.PasswordQuestion;
     account.IsLockedOut      = user.IsLockedOut;
     //account.IsOnline = user.IsOnline;
     account.LastActivityAt       = user.LastActivityDate;
     account.LastLockedOutAt      = user.LastLockoutDate;
     account.LastPasswordChangeAt = user.LastPasswordChangedDate;
     account.ProviderUserKey      = user.ProviderUserKey;
     account.UserName             = user.UserName;
 }
        /// <summary>
        /// Update an existing user.
        /// </summary>
        /// <param name="account">Account being updated.</param>
        public void Update(IMembershipAccount account)
        {
            const string sql =
                @"UPDATE membership_accounts SET 
                        application_name = @application_name,
                        comment = @comment,
                        created_at = @created_at,
                        email = @email,
                        is_approved = @is_approved,
                        is_locked_out = @is_locked_out,
                        last_activity_at = @last_activity_at,
                        password = @password,
                        password_answer = @password_answer,
                        password_question = @password_question,
                        username = @username
                    WHERE id = @id";

            using (var connection = CreateAndOpenConnection())
            {
                using (var cmd = connection.CreateCommand(sql))
                {
                    cmd.AddParameter("application_name", account.ApplicationName);
                    cmd.AddParameter("comment", account.Comment);
                    cmd.AddParameter("created_at", account.CreatedAt.SqlSafe());
                    cmd.AddParameter("email", account.Email);
                    cmd.AddParameter("failed_password_answer_window_attempt_count",
                                     account.FailedPasswordAnswerWindowAttemptCount);
                    cmd.AddParameter("failed_password_answer_window_started_at",
                                     account.FailedPasswordAnswerWindowStartedAt);
                    cmd.AddParameter("failed_password_window_attempt_count", account.FailedPasswordWindowAttemptCount);
                    cmd.AddParameter("failed_password_window_started_at", account.FailedPasswordWindowStartedAt);
                    cmd.AddParameter("is_approved", account.IsApproved);
                    cmd.AddParameter("is_locked_out", account.IsLockedOut);
                    cmd.AddParameter("last_activity_at", account.LastActivityAt);
                    cmd.AddParameter("last_locked_out_at", account.LastLockedOutAt);
                    cmd.AddParameter("last_login_at", account.LastLoginAt);
                    cmd.AddParameter("last_password_change_at", account.LastPasswordChangeAt);
                    cmd.AddParameter("password", account.Password);
                    cmd.AddParameter("password_answer", account.PasswordAnswer);
                    cmd.AddParameter("password_question", account.PasswordQuestion);
                    cmd.AddParameter("username", account.UserName);
                    cmd.AddParameter("id", account.ProviderUserKey);
                    cmd.ExecuteNonQuery();
                }
            }
        }
        /// <summary>
        /// Update an existing user.
        /// </summary>
        /// <param name="account">Account being updated.</param>
        public void Update(IMembershipAccount account)
        {
            AccountDocument accountDocument;
            if (!(account is AccountDocument))
            {
                accountDocument = _documentSession.Query<AccountDocument>().Single(m => m.UserName == account.UserName);
                if (accountDocument == null)
                    throw new InvalidOperationException("Account " + account + " is not a valid raven account.");

                accountDocument.Copy(account);
            }
            else
                accountDocument = (AccountDocument) account;


            _documentSession.Store(accountDocument);
        }
        /// <summary>
        /// Update an existing user.
        /// </summary>
        /// <param name="account">Account being updated.</param>
        public void Update(IMembershipAccount account)
        {
            AccountDocument accountDocument;

            if (!(account is AccountDocument))
            {
                accountDocument = _documentSession.Query <AccountDocument>().Single(m => m.UserName == account.UserName);
                if (accountDocument == null)
                {
                    throw new InvalidOperationException("Account " + account + " is not a valid raven account.");
                }

                accountDocument.Copy(account);
            }
            else
            {
                accountDocument = (AccountDocument)account;
            }


            _documentSession.Store(accountDocument);
        }
 internal static void MapAccount(IDataRecord reader, IMembershipAccount account)
 {
     account.ApplicationName = reader["application_name"].ToString();
     account.Comment         = reader["application_name"].ToString();
     account.CreatedAt       = reader.FromSqlDate("created_at");
     account.FailedPasswordAnswerWindowAttemptCount =
         (int)reader["failed_password_answer_window_attempt_clount"];
     account.FailedPasswordAnswerWindowStartedAt = reader.FromSqlDate("failed_password_answer_window_started_at");
     account.FailedPasswordWindowAttemptCount    = (int)reader["failed_password_window_attempt_count"];
     account.FailedPasswordWindowStartedAt       = reader.FromSqlDate("failed_password_window_started_at");
     account.ProviderUserKey      = reader["id"].ToString();
     account.IsApproved           = (int)reader["is_approvied"] == 1;
     account.IsLockedOut          = (int)reader["is_locked_out"] == 1;
     account.LastActivityAt       = reader.FromSqlDate("last_activity_at");
     account.LastLockedOutAt      = reader.FromSqlDate("last_locked_out_at");
     account.LastLoginAt          = reader.FromSqlDate("last_login_at");
     account.LastPasswordChangeAt = reader.FromSqlDate("last_password_change_at");
     account.Password             = reader["password"].ToString();
     account.PasswordAnswer       = reader["password_answer"].ToString();
     account.PasswordQuestion     = reader["password_question"].ToString();
     account.PasswordSalt         = reader["password_salt"].ToString();
     account.UserName             = reader["username"].ToString();
 }
        /// <summary>
        /// Register a new account.
        /// </summary>
        /// <param name="account">Acount to register</param>
        /// <returns>Result indication</returns>
        /// <remarks>
        /// Implementations should set the <see cref="IMembershipAccount.ProviderUserKey"/> property before returning.
        /// </remarks>
        public MembershipCreateStatus Register(IMembershipAccount account)
        {
            const string sql =
                @"INSERT INTO membership_accounts (
                     application_name,
                     comment,
                     created_at,
                     email,
                     is_approved,
                     is_locked_out,
                     last_activity_at,
                     password,
                     password_answer,
                     password_question,
                     username
                ) VALUES (
                     @application_name,
                     @comment,
                     @created_at,
                     @email,
                     @is_approved,
                     @is_locked_out,
                     @last_activity_at,
                     @password,
                     @password_answer,
                     @password_question,
                     @username
                )";


            try
            {
                using (var connection = CreateAndOpenConnection())
                {
                    using (var cmd = connection.CreateCommand(sql))
                    {
                        cmd.AddParameter("application_name", account.ApplicationName);
                        cmd.AddParameter("comment", account.Comment);
                        cmd.AddParameter("created_at", account.CreatedAt.SqlSafe());
                        cmd.AddParameter("email", account.Email);
                        cmd.AddParameter("failed_password_answer_window_attempt_count",
                                         account.FailedPasswordAnswerWindowAttemptCount);
                        cmd.AddParameter("failed_password_answer_window_started_at",
                                         account.FailedPasswordAnswerWindowStartedAt);
                        cmd.AddParameter("failed_password_window_attempt_count",
                                         account.FailedPasswordWindowAttemptCount);
                        cmd.AddParameter("failed_password_window_started_at", account.FailedPasswordWindowStartedAt);
                        cmd.AddParameter("is_approved", account.IsApproved);
                        cmd.AddParameter("is_locked_out", account.IsLockedOut);
                        cmd.AddParameter("last_activity_at", account.LastActivityAt);
                        cmd.AddParameter("last_locked_out_at", account.LastLockedOutAt);
                        cmd.AddParameter("last_login_at", account.LastLoginAt);
                        cmd.AddParameter("last_password_change_at", account.LastPasswordChangeAt);
                        cmd.AddParameter("password", account.Password);
                        cmd.AddParameter("password_answer", account.PasswordAnswer);
                        cmd.AddParameter("password_question", account.PasswordQuestion);
                        cmd.AddParameter("username", account.UserName);
                        cmd.ExecuteNonQuery();
                    }
                }
            }
            catch
            {
                return MembershipCreateStatus.ProviderError;
            }

            return MembershipCreateStatus.Success;
        }
 /// <summary>
 /// Copy another account
 /// </summary>
 /// <param name="account">Account to copy</param>
 public void Copy(IMembershipAccount account)
 {
     if (account == null) throw new ArgumentNullException("account");
     UserName = account.UserName;
     ApplicationName = account.ApplicationName;
     Comment = account.Comment;
     CreatedAt = account.CreatedAt;
     IsApproved = account.IsApproved;
     IsLockedOut = account.IsLockedOut;
     IsOnline = account.IsOnline;
     LastActivityAt = account.LastActivityAt;
     LastLockedOutAt = account.LastLockedOutAt;
     LastLoginAt = account.LastLoginAt;
     LastPasswordChangeAt = account.LastPasswordChangeAt;
     Email = account.Email;
     PasswordQuestion = account.PasswordQuestion;
     Password = account.Password;
     PasswordAnswer = account.PasswordAnswer;
     PasswordSalt = account.PasswordSalt;
     ProviderUserKey = account.ProviderUserKey;
     FailedPasswordAnswerWindowAttemptCount = account.FailedPasswordAnswerWindowAttemptCount;
     FailedPasswordAnswerWindowStartedAt = account.FailedPasswordAnswerWindowStartedAt;
     FailedPasswordWindowAttemptCount = account.FailedPasswordWindowAttemptCount;
     FailedPasswordWindowStartedAt = account.FailedPasswordWindowStartedAt;
 }
 private void Merge(MembershipUser user, IMembershipAccount account)
 {
     account.Comment = user.Comment;
     account.IsApproved = user.IsApproved;
     account.Email = user.Email;
     account.PasswordQuestion = user.PasswordQuestion;
     account.IsLockedOut = user.IsLockedOut;
     //account.IsOnline = user.IsOnline;
     account.LastActivityAt = user.LastActivityDate;
     account.LastLockedOutAt = user.LastLockoutDate;
     account.LastPasswordChangeAt = user.LastPasswordChangedDate;
     account.ProviderUserKey = user.ProviderUserKey;
     account.UserName = user.UserName;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DeletedEventArgs"/> class.
 /// </summary>
 /// <param name="account">The account.</param>
 public DeletedEventArgs(IMembershipAccount account)
 {
     Account = account;
 }
        /// <summary>
        /// Register a new account.
        /// </summary>
        /// <param name="account">Acount to register</param>
        /// <returns>Result indication</returns>
        /// <remarks>
        /// Implementations should set the <see cref="IMembershipAccount.ProviderUserKey"/> property before returning.
        /// </remarks>
        public MembershipCreateStatus Register(IMembershipAccount account)
        {
            const string sql =
                @"INSERT INTO membership_accounts (
                     application_name,
                     comment,
                     created_at,
                     email,
                     is_approved,
                     is_locked_out,
                     last_activity_at,
                     password,
                     password_answer,
                     password_question,
                     username
                ) VALUES (
                     @application_name,
                     @comment,
                     @created_at,
                     @email,
                     @is_approved,
                     @is_locked_out,
                     @last_activity_at,
                     @password,
                     @password_answer,
                     @password_question,
                     @username
                )";


            try
            {
                using (var connection = CreateAndOpenConnection())
                {
                    using (var cmd = connection.CreateCommand(sql))
                    {
                        cmd.AddParameter("application_name", account.ApplicationName);
                        cmd.AddParameter("comment", account.Comment);
                        cmd.AddParameter("created_at", account.CreatedAt.SqlSafe());
                        cmd.AddParameter("email", account.Email);
                        cmd.AddParameter("failed_password_answer_window_attempt_count",
                                         account.FailedPasswordAnswerWindowAttemptCount);
                        cmd.AddParameter("failed_password_answer_window_started_at",
                                         account.FailedPasswordAnswerWindowStartedAt);
                        cmd.AddParameter("failed_password_window_attempt_count",
                                         account.FailedPasswordWindowAttemptCount);
                        cmd.AddParameter("failed_password_window_started_at", account.FailedPasswordWindowStartedAt);
                        cmd.AddParameter("is_approved", account.IsApproved);
                        cmd.AddParameter("is_locked_out", account.IsLockedOut);
                        cmd.AddParameter("last_activity_at", account.LastActivityAt);
                        cmd.AddParameter("last_locked_out_at", account.LastLockedOutAt);
                        cmd.AddParameter("last_login_at", account.LastLoginAt);
                        cmd.AddParameter("last_password_change_at", account.LastPasswordChangeAt);
                        cmd.AddParameter("password", account.Password);
                        cmd.AddParameter("password_answer", account.PasswordAnswer);
                        cmd.AddParameter("password_question", account.PasswordQuestion);
                        cmd.AddParameter("username", account.UserName);
                        cmd.ExecuteNonQuery();
                    }
                }
            }
            catch
            {
                return(MembershipCreateStatus.ProviderError);
            }

            return(MembershipCreateStatus.Success);
        }
Example #19
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DeletedEventArgs"/> class.
 /// </summary>
 /// <param name="account">The account.</param>
 public DeletedEventArgs(IMembershipAccount account)
 {
     Account = account;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="AccountDocument"/> class.
        /// </summary>
        /// <param name="user">The user.</param>
        public AccountDocument(IMembershipAccount user)
        {
            if (user == null) throw new ArgumentNullException("user");

            Copy(user);
        }
        /// <summary>
        /// Update an existing user.
        /// </summary>
        /// <param name="account">Account being updated.</param>
        public void Update(IMembershipAccount account)
        {
            const string sql =
                @"UPDATE membership_accounts SET 
                        application_name = @application_name,
                        comment = @comment,
                        created_at = @created_at,
                        email = @email,
                        is_approved = @is_approved,
                        is_locked_out = @is_locked_out,
                        last_activity_at = @last_activity_at,
                        password = @password,
                        password_answer = @password_answer,
                        password_question = @password_question,
                        username = @username
                    WHERE id = @id";

            using (var connection = CreateAndOpenConnection())
            {
                using (var cmd = connection.CreateCommand(sql))
                {
                    cmd.AddParameter("application_name", account.ApplicationName);
                    cmd.AddParameter("comment", account.Comment);
                    cmd.AddParameter("created_at", account.CreatedAt.SqlSafe());
                    cmd.AddParameter("email", account.Email);
                    cmd.AddParameter("failed_password_answer_window_attempt_count",
                                     account.FailedPasswordAnswerWindowAttemptCount);
                    cmd.AddParameter("failed_password_answer_window_started_at",
                                     account.FailedPasswordAnswerWindowStartedAt);
                    cmd.AddParameter("failed_password_window_attempt_count", account.FailedPasswordWindowAttemptCount);
                    cmd.AddParameter("failed_password_window_started_at", account.FailedPasswordWindowStartedAt);
                    cmd.AddParameter("is_approved", account.IsApproved);
                    cmd.AddParameter("is_locked_out", account.IsLockedOut);
                    cmd.AddParameter("last_activity_at", account.LastActivityAt);
                    cmd.AddParameter("last_locked_out_at", account.LastLockedOutAt);
                    cmd.AddParameter("last_login_at", account.LastLoginAt);
                    cmd.AddParameter("last_password_change_at", account.LastPasswordChangeAt);
                    cmd.AddParameter("password", account.Password);
                    cmd.AddParameter("password_answer", account.PasswordAnswer);
                    cmd.AddParameter("password_question", account.PasswordQuestion);
                    cmd.AddParameter("username", account.UserName);
                    cmd.AddParameter("id", account.ProviderUserKey);
                    cmd.ExecuteNonQuery();
                }
            }
        }
 /// <summary>
 /// Create a membershipuser from an membership account.
 /// </summary>
 /// <param name="account">The account.</param>
 /// <returns>Created user</returns>
 protected MembershipUser CloneUser(IMembershipAccount account)
 {
     return new MembershipUser(Name, account.UserName, account.ProviderUserKey, account.Email,
                               account.PasswordQuestion, account.Comment, account.IsApproved,
                               account.IsLockedOut, account.CreatedAt, account.LastLoginAt,
                               account.LastActivityAt, account.LastPasswordChangeAt, account.LastLockedOutAt);
 }
 internal static void MapAccount(IDataRecord reader, IMembershipAccount account)
 {
     account.ApplicationName = reader["application_name"].ToString();
     account.Comment = reader["application_name"].ToString();
     account.CreatedAt = reader.FromSqlDate("created_at");
     account.FailedPasswordAnswerWindowAttemptCount =
         (int) reader["failed_password_answer_window_attempt_clount"];
     account.FailedPasswordAnswerWindowStartedAt = reader.FromSqlDate("failed_password_answer_window_started_at");
     account.FailedPasswordWindowAttemptCount = (int) reader["failed_password_window_attempt_count"];
     account.FailedPasswordWindowStartedAt = reader.FromSqlDate("failed_password_window_started_at");
     account.ProviderUserKey = reader["id"].ToString();
     account.IsApproved = (int) reader["is_approvied"] == 1;
     account.IsLockedOut = (int) reader["is_locked_out"] == 1;
     account.LastActivityAt = reader.FromSqlDate("last_activity_at");
     account.LastLockedOutAt = reader.FromSqlDate("last_locked_out_at");
     account.LastLoginAt = reader.FromSqlDate("last_login_at");
     account.LastPasswordChangeAt = reader.FromSqlDate("last_password_change_at");
     account.Password = reader["password"].ToString();
     account.PasswordAnswer = reader["password_answer"].ToString();
     account.PasswordQuestion = reader["password_question"].ToString();
     account.PasswordSalt = reader["password_salt"].ToString();
     account.UserName = reader["username"].ToString();
 }
        private void UpdateOnlineState(bool userIsOnline, IMembershipAccount user)
        {
            if (!userIsOnline)
                return;

            user.LastActivityAt = DateTime.Now;
            //user.IsOnline = true;
            AccountRepository.Update(user);
        }
 /// <summary>
 /// Update an existing user.
 /// </summary>
 /// <param name="account">Account being updated.</param>
 public void Update(IMembershipAccount account)
 {
     _documentSession.Store(account);
     _documentSession.SaveChanges();
 }