Sunday, January 15, 2012

Programatically Add audiences and audience rules

Adding audiences and audiences rules programatically using SharePoint Object code

SPSecurity.RunWithElevatedPrivileges(delegate()

{

try

{

String siteUrl = args[0];

using (SPSite site = new SPSite(siteUrl))

{

ServerContext context = ServerContext.GetContextsite);

AudienceManager audManager = new AudienceManager(context);

AudienceCollection ac = audManager.Audiences;

Audience audNew1 = null;

Audience audNew2 = null;

string sNewAudience1 = "New Audience 1";

string sAudience1Description = "Description for New Audience 1";

string sNewAudience2 = "New Audience 2";

string sAudience2Description = "Description for New Audience 2";

try

{ //Create the audience for New Audience 1

audNew1 = ac.Create(sNewAudience1 , sAudience1Description);

ArrayList AudRules = new ArrayList();

AudienceRuleComponent rule1 = new AudienceRuleComponent

("", "=", "");

AudRules.Add(rule1);

AudienceRuleComponent rule2 = new AudienceRuleComponent("", "=", "");

AudRules.Add(rule2);

AudienceRuleComponent rule3 = new AudienceRuleComponent("", "=", "");

AudRules.Add(rule3);

AudienceRuleComponent rule4 = new AudienceRuleComponent("", "=", "");

AudRules.Add(rule4);

audNew1.AudienceRules = AudRules;

audNew1.Commit();

Console.WriteLine("New Audiences 1 added successfully");

//Create the audience for New Audience 1

audNew2 = ac.Create(sNewAudience2, sAudience2Description);

AudRules.Clear();

AudienceRuleComponent rule5 = new AudienceRuleComponent("", "=", "");

AudRules.Add(rule5);

AudienceRuleComponent rule6 = new AudienceRuleComponent("", "=", "");

AudRules.Add(rule6);

AudienceRuleComponent rule7 = new AudienceRuleComponent("", "=", "");

AudRules.Add(rule7);

audNew2.AudienceRules = AudRules;

audNew2.Commit();

Console.WriteLine("New Audiences 2 added successfully");

}

catch (AudienceDuplicateNameException e)

{

Console.WriteLine(e.ToString());

Console.Read();

}

}

}

catch (Exception exception)

{

Console.WriteLine(exception.ToString());

Console.Read();

}

});

No comments:

Post a Comment