I want to use a workflow to remove permissions on a calendar event/list item (with a category RPL) for all groups except group 'B' when the calendar event is created. Here is what i have so far but it blew up when i added the role assignment....looking for reccomendations.
private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e)
{
string url = workflowProperties.WebUrl;
SPSite site = new SPSite(url);
SPWeb rootWeb = site.RootWeb;
SPListItem li = workflowProperties.Item;
SPRoleDefinitionCollection assignedRole = rootWeb.RoleDefinitions;
if (li["Category"].ToString().Equals("RPL"))
{
if (!li.HasUniqueRoleAssignments)
{
li.BreakRoleInheritance(false, true);
}
foreach (SPGroup g in rootWeb.Groups)
{
if (!g.Name.Equals("B"))
{
SPRoleAssignment roleAssignment = new SPRoleAssignment(g);
roleAssignment.RoleDefinitionBindings.RemoveAll();
li.RoleAssignments.Add(roleAssignment);
li.Update();
}
}
}
}