BlogEngine.Core.Providers.DbRoleProvider.RemoveUsersFromRoles C# (CSharp) Method

RemoveUsersFromRoles() public method

Removes all users in user array from all roles in role array
public RemoveUsersFromRoles ( string usernames, string roleNames ) : void
usernames string A string array of user names to be removed from the specified roles.
roleNames string A string array of role names to remove the specified user names from.
return void
        public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames)
        {
            using (var conn = this.CreateConnection())
            {
                if (conn.HasConnection)
                {
                    using (var cmd = conn.CreateCommand())
                    {
                        cmd.CommandType = CommandType.Text;

                        var parms = cmd.Parameters;

                        foreach (var user in usernames)
                        {
                            //parms.Clear();
                            //cmd.CommandText = string.Format("SELECT UserID FROM {0}Users WHERE BlogID = {1}blogid AND UserName = {1}user", this.tablePrefix, this.parmPrefix);

                            //parms.Add(conn.CreateParameter(FormatParamName("blogid"), Blog.CurrentInstance.Id.ToString()));
                            //parms.Add(conn.CreateParameter(FormatParamName("user"), user));

                            //int userId;
                            //try
                            //{
                            //    userId = Int32.Parse(cmd.ExecuteScalar().ToString());
                            //}
                            //catch
                            //{
                            //    userId = 0;
                            //}

                            //if (userId <= 0)
                            //{
                            //    continue;
                            //}

                            foreach (var role in roleNames)
                            {
                                //parms.Clear();
                                //cmd.CommandText = string.Format("SELECT RoleID FROM {0}Roles WHERE BlogID = {1}blogid AND Role = {1}role", this.tablePrefix, this.parmPrefix);

                                //parms.Add(conn.CreateParameter(FormatParamName("blogid"), Blog.CurrentInstance.Id.ToString()));
                                //parms.Add(conn.CreateParameter(FormatParamName("role"), role));

                                //var roleId = Int32.Parse(cmd.ExecuteScalar().ToString());

                                parms.Clear();
                                cmd.CommandText = string.Format("DELETE FROM {0}UserRoles WHERE BlogID = {1}blogid AND UserName = {1}username AND Role = {1}role", this.tablePrefix, this.parmPrefix);

                                parms.Add(conn.CreateParameter(FormatParamName("blogid"), Blog.CurrentInstance.Id.ToString()));
                                parms.Add(conn.CreateParameter(FormatParamName("username"), user.Trim()));
                                parms.Add(conn.CreateParameter(FormatParamName("role"), role.Trim()));

                                cmd.ExecuteNonQuery();
                            }
                        }
                    }
                }
            }

            // This needs to be called in order to keep the Right class in sync.
            Right.RefreshAllRights();
        }