Como a: Adicionar regras simples para um público com AND e OR operadores
Interface de usuário fornece apenas duas opções para definir as regras quando você criar as audiências: Incluir usuários que satisfazem todas as regras, ou incluir usuários que atendem às regras. Além disso, ao usar a interface usuário, é restritas a um máximo de seis regras. Embora isso possa ser suficiente para a maioria das situações, algumas vezes você precisará ter mais de seis regras.
Em tais casos, você pode usar o modelo objeto público. Modelo de objeto do público permite que você criar mais de seis regras para um público. O seguinte exemplo de código adiciona regras simples para um público chamado "Conexão João". Este exemplo usa o operador E para combinar múltiplo regras. Se você desejar apenas uma das regras ser TRUE para os membros, você pode usar o operador OR no local de and.
Substituir nome_do_servidor e outras seqüências de caracteres com real valores antes execução a exemplo de código. Também adicionar o seguinte referências em seu projeto Microsoft Visual Studio:
Microsoft.Office.Server
Microsoft.SharePoint
System.Web
Exemplo
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint.Administration;
using Microsoft.Office.Server.Audience;
using Microsoft.SharePoint;
using Microsoft.Office.Server;
using System.Web;
using System.Collections;
namespace AudienceConsoleApp
{
class Program
{
static void Main(string[] args)
{
try
{
using (SPSite site = new SPSite("https://servername"))
{
ServerContext context = ServerContext.GetContext(site);
AudienceManager AudMgr = new AudienceManager(context);
AudienceCollection ac = AudMgr.Audiences;
Audience a = null;
bool ruleListNotEmpty = false;
try
{
a = AudMgr.Audiences["John Connection"];
}
catch (AudienceArgumentException ex)
{
//your exception handling code here
}
ArrayList aRules = a.AudienceRules;
if (aRules == null)
{
aRules = new ArrayList();
}
else
{
ruleListNotEmpty = true;
}
try
{
if (ruleListNotEmpty)
{
aRules.Add(new AudienceRuleComponent(null, "AND", null));
}
AudienceRuleComponent r1 = new AudienceRuleComponent("FirstName", "Contains", "John");
aRules.Add(r1);
AudienceRuleComponent r2 = new AudienceRuleComponent(null, "AND", null);
aRules.Add(r2);
AudienceRuleComponent r3 = new AudienceRuleComponent("WorkEmail", "Contains", "example.com");
aRules.Add(r3);
a.AudienceRules = aRules;
a.Commit();
}
catch (AudienceException e)
{
//Your exception handling code here
}
}
}
catch (Exception exception)
{
Console.WriteLine(exception.ToString());
Console.Read();
}
}
}
}