public Activity this[WorkflowIdentity definitionIdentity] { get { Activity activity = null; var found = InstanceDefinitions.TryGetValue(definitionIdentity, out activity); if (found) { return(activity); } var assemblyFullName = definitionIdentity.Package; var activityTypeName = definitionIdentity.Name; System.Diagnostics.Trace.Assert(assemblyFullName.Contains(definitionIdentity.Version.ToString())); var objectHandle = Activator.CreateInstance(assemblyFullName, activityTypeName);//tons of exceptions needed to be handled in production activity = objectHandle.Unwrap() as Activity; if (activity == null) { throw new InvalidOperationException("You must have been crazy."); } InstanceDefinitions.TryAdd(definitionIdentity, activity); return(activity); } }
public bool TryAdd <T>(Guid instanceId, ActivityBuilder <T> ab) { using (MemoryStream stream = new MemoryStream()) { ActivityPersistenceHelper.SaveActivity(ab, stream); stream.Position = 0; return(InstanceDefinitions.TryAdd(instanceId, stream.ToArray())); } }
public bool TryAdd(WorkflowIdentity definitionIdentity, Activity a) { using (MemoryStream stream = new MemoryStream()) { ActivityPersistenceHelper.SaveActivity(a, stream); stream.Position = 0; return(InstanceDefinitions.TryAdd(definitionIdentity, stream.ToArray())); } }
public bool TryAdd(WorkflowIdentity definitionIdentity, Activity a) { return(InstanceDefinitions.TryAdd(definitionIdentity, a)); }