I need to change the owner of an appointment record when creating a new appointment. I'm using a plugin for the create message and i've found this code to assign a new owner to the appointment:
entity = context.PostEntityImages["PostImage"];
......
AssignRequest request = new AssignRequest();
//request.RequestName
request.Assignee = new EntityReference("systemuser", owners.ToList()[0].Id);
request.Target = new EntityReference(Appointment.EntityLogicalName, entity.Id);
service.Execute(request);
But when I test this i get the following error: Invalid Argument: There should be only one owner party for an activity
I guess i have to remove the current owner first and then assign the new owner. But how can i do this?
Thanks for any help!
I was doing something similar with tasks (reassigning them in a plugin). As a "Update" plugin it didn't have any problems, but as "Create" it would fail with the message "There should be only one owner party for an activity"
To fix this change the "Create" plugin to simply set the ownerid (instead of executing the AssignRequest).
targetEntity.Attributes["ownerid"] = new EntityReference(SystemUser.EntityLogicalName, assignTo.Id);
This code goes in the Pre-operation stage.