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);
            }
        }
Exemplo n.º 2
0
 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));
 }