private static DynamicUpdateMap InternalTryCreateUpdateMap(
            Activity updatedDefinition,
            Activity originalDefinition,
            IEnumerable <Activity> disallowUpdateInsideActivities,
            bool forImplementation,
            out IList <ActivityBlockingUpdate> activitiesBlockingUpdate)
        {
            var builder = new DynamicUpdateMapBuilder
            {
                ForImplementation                     = forImplementation,
                LookupMapItem                         = DynamicUpdateInfo.GetMapItem,
                LookupImplementationMap               = GetImplementationMap,
                UpdatedWorkflowDefinition             = updatedDefinition,
                OriginalWorkflowDefinition            = originalDefinition,
                OnInvalidActivityToBlockUpdate        = onInvalidActivityToBlockUpdate,
                OnInvalidImplementationMapAssociation = onInvalidImplementationMapAssociation,
            };

            if (disallowUpdateInsideActivities != null)
            {
                foreach (var activity in disallowUpdateInsideActivities)
                {
                    builder.DisallowUpdateInside.Add(activity);
                }
            }

            return(builder.CreateMap(out activitiesBlockingUpdate));
        }
 internal UpdateMapMetadata(DynamicUpdateMapBuilder.Finalizer finalizer,
     DynamicUpdateMapBuilder.IDefinitionMatcher matcher, Activity targetActivity)
 {
     this.finalizer = finalizer;
     this.matcher = matcher;
     this.targetActivity = targetActivity;
     this.isDisposed = false;
 }
 internal NativeActivityUpdateMapMetadata(DynamicUpdateMapBuilder.Finalizer finalizer, 
     DynamicUpdateMapBuilder.IDefinitionMatcher matcher, Activity targetActivity)
     : base(finalizer, matcher, targetActivity)
 {
 }
 internal sealed override void OnInternalCreateDynamicUpdateMap(DynamicUpdateMapBuilder.Finalizer finalizer, 
     DynamicUpdateMapBuilder.IDefinitionMatcher matcher, Activity originalActivity)
 {
 }
Beispiel #5
0
 internal sealed override void OnInternalCreateDynamicUpdateMap(DynamicUpdateMapBuilder.Finalizer finalizer, 
     DynamicUpdateMapBuilder.IDefinitionMatcher matcher, Activity originalActivity)
 {
     NativeActivityUpdateMapMetadata metadata = new NativeActivityUpdateMapMetadata(finalizer, matcher, this);
     try
     {
         OnCreateDynamicUpdateMap(metadata, originalActivity);
     }
     finally
     {
         metadata.Dispose();
     }
 }
        private static DynamicUpdateMap InternalTryCreateUpdateMap(Activity updatedDefinition, Activity originalDefinition, IEnumerable<Activity> disallowUpdateInsideActivities, bool forImplementation, out IList<ActivityBlockingUpdate> activitiesBlockingUpdate)
        {
            DynamicUpdateMapBuilder builder = new DynamicUpdateMapBuilder
            {
                ForImplementation = forImplementation,
                LookupMapItem = DynamicUpdateInfo.GetMapItem,
                LookupImplementationMap = GetImplementationMap,
                UpdatedWorkflowDefinition = updatedDefinition,
                OriginalWorkflowDefinition = originalDefinition,
                OnInvalidActivityToBlockUpdate = onInvalidActivityToBlockUpdate,
                OnInvalidImplementationMapAssociation = onInvalidImplementationMapAssociation,
            };
            if (disallowUpdateInsideActivities != null)
            {
                foreach (Activity activity in disallowUpdateInsideActivities)
                {
                    builder.DisallowUpdateInside.Add(activity);
                }
            }

            return builder.CreateMap(out activitiesBlockingUpdate);
        }