Hi
I'd create a custom activity for add a user to multiple groups
and this is designer code file, i create a code activity and add this to enumerateResourcesActivity1
this.codeActivity1.Name = "codeActivity1";
this.codeActivity1.ExecuteCode += new System.EventHandler(this.InitialzeUpdateGroups_ExecuteCode);
this.enumerateResourcesActivity1.Activities.Add(this.codeActivity1);
And here i put a search function to enumerateResourceActivity
private void InitializeSearchOrganization_ExecuteCode(object sender, EventArgs e)
{
var resourceObject = ReadResource.Resource;
var ObjectType = (string)resourceObject["ObjectType"];
string xPathFiler = "";
string[] selection = new string[] { "ObjectID", "DisplayName", "AccountName" };
xPathFiler = "/Group[( DisplayName ='Group1') or ( DisplayName ='Group2')]";
this.enumerateResourcesActivity1.ActorId = new Guid(FIMAdminGuid);
this.enumerateResourcesActivity1.PageSize = 4;
this.enumerateResourcesActivity1.Selection = selection;
this.enumerateResourcesActivity1.XPathFilter = xPathFiler;
}
I can found 2 Group and try to update
private void InitialzeUpdateGroups_ExecuteCode(object sender, EventArgs e)
{
ResourceType currentItem = EnumerateResourcesActivity.GetCurrentIterationItem((CodeActivity)sender) as ResourceType;
if (currentItem != null)
{
var attributeName = "";
UniqueIdentifier objectIdValue = currentItem.ObjectID; //<Guid of Group>;
//Update Organization
UpdateActivity.ActorId = new Guid(FIMAdminGuid);
UpdateActivity.ResourceId = objectIdValue.GetGuid();
List<UpdateRequestParameter> updateParameters = new List<UpdateRequestParameter>();
updateParameters.Add(new UpdateRequestParameter("ExplicitMember", UpdateMode.Insert, ReadCurrentRequestActivity.CurrentRequest.Target));
UpdateActivity.UpdateParameters = updateParameters.ToArray<UpdateRequestParameter>();
}
}
It can updated, but always update last group, except "Group1",
Can anyone to help me.
Thanks
I'd create a custom activity for add a user to multiple groups
and this is designer code file, i create a code activity and add this to enumerateResourcesActivity1
this.codeActivity1.Name = "codeActivity1";
this.codeActivity1.ExecuteCode += new System.EventHandler(this.InitialzeUpdateGroups_ExecuteCode);
this.enumerateResourcesActivity1.Activities.Add(this.codeActivity1);
And here i put a search function to enumerateResourceActivity
private void InitializeSearchOrganization_ExecuteCode(object sender, EventArgs e)
{
var resourceObject = ReadResource.Resource;
var ObjectType = (string)resourceObject["ObjectType"];
string xPathFiler = "";
string[] selection = new string[] { "ObjectID", "DisplayName", "AccountName" };
xPathFiler = "/Group[( DisplayName ='Group1') or ( DisplayName ='Group2')]";
this.enumerateResourcesActivity1.ActorId = new Guid(FIMAdminGuid);
this.enumerateResourcesActivity1.PageSize = 4;
this.enumerateResourcesActivity1.Selection = selection;
this.enumerateResourcesActivity1.XPathFilter = xPathFiler;
}
I can found 2 Group and try to update
private void InitialzeUpdateGroups_ExecuteCode(object sender, EventArgs e)
{
ResourceType currentItem = EnumerateResourcesActivity.GetCurrentIterationItem((CodeActivity)sender) as ResourceType;
if (currentItem != null)
{
var attributeName = "";
UniqueIdentifier objectIdValue = currentItem.ObjectID; //<Guid of Group>;
//Update Organization
UpdateActivity.ActorId = new Guid(FIMAdminGuid);
UpdateActivity.ResourceId = objectIdValue.GetGuid();
List<UpdateRequestParameter> updateParameters = new List<UpdateRequestParameter>();
updateParameters.Add(new UpdateRequestParameter("ExplicitMember", UpdateMode.Insert, ReadCurrentRequestActivity.CurrentRequest.Target));
UpdateActivity.UpdateParameters = updateParameters.ToArray<UpdateRequestParameter>();
}
}
It can updated, but always update last group, except "Group1",
Can anyone to help me.
Thanks