I am trying to get the performer of the previous activity in Tridion workflow using the Core Service. I cannot figure out how to get the ActivityData of the previous activity from the ActivityDefinition. I feel like I might be going about this in the wrong way. Here is my current code and I cannot get the prevActivityData.Performers
var wfItem = client.Read(uri, new ReadOptions()) as ComponentData;
var activityURI = wfItem.WorkflowInfo.ActivityInstance.IdRef;
ActivityInstanceData currentactivity = (ActivityInstanceData)client.Read(activityURI, new ReadOptions());
TridionActivityDefinitionData activitydefinition = (TridionActivityDefinitionData)client.Read(currentactivity.ActivityDefinition.IdRef, new ReadOptions());
ProcessDefinitionData processdefinition = (ProcessDefinitionData)client.Read(activitydefinition.ProcessDefinition.IdRef, new ReadOptions());
List<ActivityDefinitionData> activities = new List<ActivityDefinitionData>(processdefinition.ActivityDefinitions);
int i = 0;
foreach (ActivityDefinitionData activity in activities)
{
if (activity.Title == prevActivityTitle)
{
// prev activity
var prevActivity = activities[i - 1];
TridionActivityDefinitionData prevActivityDefData = (TridionActivityDefinitionData)client.Read(prevActivity.Id, new ReadOptions());
// How to get ActivityData?
// ActivityData prevActivityData = (ActivityData)client.Read(prevActivity.Id, new ReadOptions());
LinkToUserData[] performers = prevActivityData.Performers;
if (performers.Length > 0)
{
return performers[0].IdRef;
}
}
i++;
}