public bool UserExistsInRole(string username, string rolename)
    {
        DataRow l_DataRowUser = new ProfilesDBMembershipProviderDA().GetUser(username, false);
        int?    l_RoleID      = new RoleProviderDA().GetRoleIDByName(rolename);

        if (l_DataRowUser != null && l_RoleID.HasValue)
        {
            int l_UserID = (int)l_DataRowUser["UserID"];
            return(UserExistsInRole(l_UserID, l_RoleID.Value));
        }
        return(false);
    }
    private void AddUserToRole(string p_UserName, string p_UserRole)
    {
        DataRow l_DataRowUser = new ProfilesDBMembershipProviderDA().GetUser(p_UserName, false);
        int?    l_RoleID      = new RoleProviderDA().GetRoleIDByName(p_UserRole);

        if (l_DataRowUser != null && l_RoleID.HasValue)
        {
            int l_UserID = (int)l_DataRowUser["UserID"];

            if (!UserExistsInRole(l_UserID, l_RoleID.Value))
            {
                AddUserRole(l_UserID, l_RoleID.Value);
            }
        }
    }
    private void RemoveUserFromRole(string username, string rolename)
    {
        if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(rolename))
        {
            DataRow l_UserRow = new ProfilesDBMembershipProviderDA().GetUser(username, false);

            int?l_RoleId = new RoleProviderDA().GetRoleIDByName(rolename);

            RoleProviderDA l_RPDA = new RoleProviderDA();

            if (l_UserRow != null && l_RoleId.HasValue)
            {
                int l_UserId = (int)l_UserRow["UserID"];
                l_RPDA.RemoveUserFromRole(l_UserId, l_RoleId.Value);
            }
        }
    }
    public string[] FindUsersInRole(string p_RoleName, string p_usernameToMatch)
    {
        IDataReader l_RoleReader = new RoleProviderDA().FindUsersInRole(p_RoleName, p_usernameToMatch);

        List<string> l_Users = new List<string>();
        if (l_RoleReader != null)
        {
            if (((System.Data.SqlClient.SqlDataReader)l_RoleReader).HasRows)
            {
                while (l_RoleReader.Read())
                {
                    l_Users.Add(l_RoleReader.GetString(13));
                }

                if (!l_RoleReader.IsClosed)
                {
                    l_RoleReader.Close();
                }
            }
        }

        return l_Users.ToArray();
    }
    public string[] FindUsersInRole(string p_RoleName, string p_usernameToMatch)
    {
        IDataReader l_RoleReader = new RoleProviderDA().FindUsersInRole(p_RoleName, p_usernameToMatch);

        List <string> l_Users = new List <string>();

        if (l_RoleReader != null)
        {
            if (((System.Data.SqlClient.SqlDataReader)l_RoleReader).HasRows)
            {
                while (l_RoleReader.Read())
                {
                    l_Users.Add(l_RoleReader.GetString(13));
                }

                if (!l_RoleReader.IsClosed)
                {
                    l_RoleReader.Close();
                }
            }
        }

        return(l_Users.ToArray());
    }
    public string[] GetAllRolesNames()
    {
        IDataReader l_RoleReader = new RoleProviderDA().GetAllRolesNames();

        List <string> l_Roles = new List <string>();

        if (l_RoleReader != null)
        {
            if (((System.Data.SqlClient.SqlDataReader)l_RoleReader).HasRows)
            {
                while (l_RoleReader.Read())
                {
                    l_Roles.Add(l_RoleReader.GetString(1));
                }

                if (!l_RoleReader.IsClosed)
                {
                    l_RoleReader.Close();
                }
            }
        }

        return(l_Roles.ToArray());
    }
    public string[] GetAllRolesNames()
    {
        IDataReader l_RoleReader = new RoleProviderDA().GetAllRolesNames();

        List<string> l_Roles = new List<string>();
        if (l_RoleReader != null)
        {
            if (((System.Data.SqlClient.SqlDataReader)l_RoleReader).HasRows)
            {
                while (l_RoleReader.Read())
                {
                    l_Roles.Add(l_RoleReader.GetString(1));
                }

                if (!l_RoleReader.IsClosed)
                {
                    l_RoleReader.Close();
                }
            }
        }

        return l_Roles.ToArray();
    }
    private void RemoveUserFromRole(string username, string rolename)
    {
        if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(rolename))
        {
            DataRow l_UserRow = new ProfilesDBMembershipProviderDA().GetUser(username, false);

            int? l_RoleId = new RoleProviderDA().GetRoleIDByName(rolename);

            RoleProviderDA l_RPDA = new RoleProviderDA();

            if (l_UserRow != null && l_RoleId.HasValue)
            {
                int l_UserId = (int) l_UserRow["UserID"];
                l_RPDA.RemoveUserFromRole(l_UserId, l_RoleId.Value);
            }
        }
    }
    private void AddUserToRole(string p_UserName, string p_UserRole)
    {
        DataRow l_DataRowUser = new ProfilesDBMembershipProviderDA().GetUser(p_UserName, false);
        int? l_RoleID = new RoleProviderDA().GetRoleIDByName(p_UserRole);

        if (l_DataRowUser != null && l_RoleID.HasValue)
        {
            int l_UserID = (int)l_DataRowUser["UserID"];

            if (!UserExistsInRole(l_UserID, l_RoleID.Value))
                AddUserRole(l_UserID, l_RoleID.Value);
        }
    }
    public bool UserExistsInRole(string username, string rolename)
    {
        DataRow l_DataRowUser = new ProfilesDBMembershipProviderDA().GetUser(username, false);
        int? l_RoleID = new RoleProviderDA().GetRoleIDByName(rolename);

        if (l_DataRowUser != null && l_RoleID.HasValue)
        {
            int l_UserID = (int)l_DataRowUser["UserID"];
            return UserExistsInRole(l_UserID, l_RoleID.Value);
        }
        return false;
    }