protected string ProcessActivityTask(ActivityTask task, IWorkflow workflow) { Debug.Assert(task != null); var result = ""; try { var input = Utils.GetDataFromStore(task.Input, _storeClient); if (workflow != null) { // Get activity and run processor var activity = workflow.GetActivity(task.ActivityId); if (activity != null) { result = activity.TaskProcessor(input); Logger.Fatal("[{0}] Result: [{1}]", task.ActivityId, result); } else { result = Utils.SerializeToJSON(new StepResult <string>( $"Activity '{task.ActivityId}' not found.", false)); } } else { result = TaskProcessor(input); Logger.Fatal("[{0}] Result: [{1}]", task.ActivityId, result); } TaskCompleted(task.TaskToken, Utils.PutDataToStore(result, _storeClient)); } catch (Exception e) { Logger.Error(e, "[{0}]. {1}", task.ActivityId, e.Message); result = Utils.SerializeToJSON(new StepResult <string>(e.Message, false)); //TaskFailed(task.TaskToken, e.Message, ""); } return(result); }