I created an custom workflow activity specified here: SPWeb.GetListItem returns null in custom workflow activity
Now I need to know the user who last updated the associated workflow task.
Before my workflow activity is executed, the workflow would "Collect data from a user". When that user provides requested data, the workflow proceeds to execute my custom activity.
Now, I know this can be defined as a property of the activity, but I need to retrieve this automatically (if possible). So far, this is what I have:
var taskList = __Context.Web.Lists[new Guid(__Context.TaskListGuid)];
And I was thinking of getting the "last" associated task with something like this:
// get a reference to the task list var taskList = __Context.Web.Lists[new Guid(__Context.TaskListGuid)]; // find all tasks which were created by this workflow instance var items = taskList.Items.Where(i => i.AssociatedItemId == __Context.ItemId).OrderByDescending(i => i.LastUpdated); // get the task that was updated most recently var lastItem = items.FirstOrDefault(); // get the user who updated that task var user = lastItem.UpdatedBy
Obviously, this is not the actual code, but an idea I have in my mind. Is this the right way to do this? if so, how can I go about it (actual code)?