private void ApplyFilters() { StringBuilder sb1 = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); UserContext user = UserContext.Current; if ((user != null) && (user.OrganizationId != Guid.Empty)) { if (!user.IsOrganizationAdministrator) { ArrayList userGroups = user.GroupIdList; foreach (ClientDataSet.GroupsInstancesRolesRow row in GroupProvider.GetGroupsInstancesRolesByRoleId(user.OrganizationId, RoleProvider.InstanceAdministratorRoleId)) { if (!userGroups.Contains(row.GroupId)) { sb1.AppendFormat(",'{0}'", row.InstanceId); sb2.AppendFormat(",'{0}'", row.GroupId); } } if (sb1.Length > 0) { sb1.Remove(0, 1); sb1.Append(")"); sb1.Insert(0, "CONVERT(InstanceId, 'System.String') NOT IN ("); InstanceListDataSource.FilterExpression = sb1.ToString(); } if (sb2.Length > 0) { sb2.Remove(0, 1); sb2.Append(")"); sb2.Insert(0, "CONVERT(GroupId, 'System.String') NOT IN ("); GroupListDataSource.FilterExpression = sb2.ToString(); } } } }