Quantcast
Channel: Forum Microsoft Identity Manager
Viewing all articles
Browse latest Browse all 4767

FIM Activity update multiple resource

$
0
0
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

Viewing all articles
Browse latest Browse all 4767

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>