예제 #1
0
 private void AppIdle(WorkflowApplicationIdleEventArgs e)
 {
     if (Idle != null)
     {
         Idle(e.InstanceId);
     }
 }
예제 #2
0
        private void UpdateControls(WorkflowApplicationIdleEventArgs er = null, bool isIdle = false)
        {
            bool?countersign;

            UpdateGuids();
            UpdateBookmark(er?.Bookmarks, out countersign);
            UpdateButton(countersign);
        }
예제 #3
0
 void OnIdle(WorkflowApplicationIdleEventArgs args)
 {
     // if the response is empty, redirect back to ourselves periodically
     if (!TwilioResponse.HasElements)
     {
         TwilioResponse.Add(new XElement("Pause", new XAttribute("length", 2)));
         TwilioResponse.Add(new XElement("Redirect", SelfUrl));
     }
 }
예제 #4
0
        /// <summary>
        /// Returns the IdleAction when this event is called.
        /// </summary>
        /// <param name="args"></param>
        /// <returns>IdleAction</returns>
        private PersistableIdleAction AbleToPersistEvent(WorkflowApplicationIdleEventArgs args)
        {
            _reloadWaitHandler.Set();
            _log.Debug($"It's able to be persisted InstanceId={args.InstanceId.ToString()} IdleAction={IdleAction}");

            ActivityWillBePersistedEvent?.Invoke(args);

            return(IdleAction);
        }
예제 #5
0
        private void Idle(WorkflowApplicationIdleEventArgs a)
        {
            var h = WorkflowIdle;

            if (h != null)
            {
                h(this, a);
            }
        }
        /// <summary>
        /// Handles the workflow idle event
        /// </summary>
        /// <param name="args">
        /// The workflow idle event args.
        /// </param>
        private void OnWorkflowIdle(WorkflowApplicationIdleEventArgs args)
        {
            // Enable all commands with matching bookmarks
            foreach (var cmd in args.Bookmarks.Select(bookmarkInfo => ConvertToAtmTransition(bookmarkInfo.BookmarkName)))
            {
                this.EnableTransition(cmd);
            }

            this.workflowBusy.Set();
        }
예제 #7
0
        private PersistableIdleAction PersistableIdle(WorkflowApplicationIdleEventArgs a)
        {
            var h = WorkflowPersistableIdle;

            if (h != null)
            {
                h(this, a);
            }
            return(PersistableIdleAction.Unload);
        }
예제 #8
0
 void IWorkflowApplicationHandler.OnIdle(WorkflowApplicationIdleEventArgs e)
 {
     lock (managerStateLock)
     {
         if (this.state == ManagerState.Opened)
         {
             this.hostView.Dispatch(() => UpdateInstanceState(e.InstanceId));
         }
     }
 }
예제 #9
0
        static PersistableIdleAction persistableIdle(WorkflowApplicationIdleEventArgs e)
        {
            string v = "";

            if (e.Bookmarks[0] != null)
            {
                v = e.Bookmarks[0].BookmarkName;
            }
            writeRunInfo(e.InstanceId, "persistableIdle", v);
            return(PersistableIdleAction.Unload);
        }
예제 #10
0
        private void IdleEvent(WorkflowApplicationIdleEventArgs args)
        {
            _log.Debug($"Idle InstanceId={args.InstanceId.ToString()}");

            if (args.Bookmarks != null)
            {
                foreach (var bookmark in args.Bookmarks)
                {
                    _log.Debug($"Bookmark={bookmark.BookmarkName} Owner={bookmark.OwnerDisplayName}");
                }
            }

            _reloadWaitHandler.Set();
        }
        /// <summary>
        /// The on idle.
        /// </summary>
        /// <param name="args">
        /// The args.
        /// </param>
        private void OnIdle(WorkflowApplicationIdleEventArgs args)
        {
            HttpExceptionHelper.WriteThread(
                "OnWorkflowIdle waiting for bookmark {0} instance Id {1} with bookmarks {2}",
                this.pendingBookmark,
                args.InstanceId,
                args.BookmarksToDelimitedList());

            this.Idle = true;

            if (args.ContainsBookmark(this.pendingBookmark))
            {
                this.pendingBookmark = null;
                this.protocolEvent.Set();
            }
        }
예제 #12
0
        /// <summary>
        /// The handler for persistable idle workflow events.
        /// </summary>
        /// <param name="arg">The event arguments.</param>
        /// <returns>The persistance action to take on idle.</returns>
        private PersistableIdleAction OnPersistableIdle(WorkflowApplicationIdleEventArgs arg)
        {
            _instanceId = arg.InstanceId;

            lock (_syncLock)
            {
                _isIdle = true;

                if (_event != null)
                {
                    _event.Set();
                }
            }

            // signal instance store to persisit and unload
            return(PersistableIdleAction.Unload);
        }
예제 #13
0
 private void OnWfAppIdel(WorkflowApplicationIdleEventArgs obj)
 {
     Console.WriteLine("工作流停下来。 ");
 }
예제 #14
0
 private PersistableIdleAction OnPersistableIdle(WorkflowApplicationIdleEventArgs args)
 {
     _result = args.GetInstanceExtensions <IDSFDataObject>().ToList().First();
     _waitHandle.Set();
     return(PersistableIdleAction.Unload);
 }
예제 #15
0
 PersistableIdleAction WorkerManagerPersistableIdle(WorkflowApplicationIdleEventArgs e)
 {
     ExtensionMethods.TraceError("WorkerManager {0} Idle.", e.InstanceId);
     Trace.Flush();
     return(PersistableIdleAction.Unload);
 }
예제 #16
0
 void WorkerManagerIdle(WorkflowApplicationIdleEventArgs e)
 {
     ExtensionMethods.TraceError("WorkerManager {0} Idle.", e.InstanceId);
     Trace.Flush();
 }
예제 #17
0
 private static void IdleHandler(WorkflowApplicationIdleEventArgs obj)
 {
     Console.WriteLine("IdleHandler");
 }
예제 #18
0
 private static PersistableIdleAction PersistableIdle(WorkflowApplicationIdleEventArgs arg)
 {
     return(PersistableIdleAction.Unload);
 }
예제 #19
0
 private void AfterWorkflowIdel(WorkflowApplicationIdleEventArgs obj)
 {
     Console.WriteLine("工作流停下来了。");
 }
예제 #20
0
 private static void OnIdle(WorkflowApplicationIdleEventArgs obj)
 {
     synEvent.Set();
     Console.WriteLine("The worflow is idle!!");
 }
예제 #21
0
 private static PersistableIdleAction OnPersistableIdle(WorkflowApplicationIdleEventArgs arg)
 {
     Console.WriteLine("Persistant the workflow...");
     return(PersistableIdleAction.Unload);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="NinjectWorkflowApplicationIdleEventArgs"/> class.
 /// </summary>
 /// <param name="workflowApplicationIdleEventArgs">The <see cref="System.Activities.WorkflowApplicationIdleEventArgs"/> instance containing the event data.</param>
 public NinjectWorkflowApplicationIdleEventArgs(WorkflowApplicationIdleEventArgs workflowApplicationIdleEventArgs)
     : base(workflowApplicationIdleEventArgs)
 {
     this.Bookmarks = workflowApplicationIdleEventArgs.Bookmarks
                      .Select(info => new NinjectBookmarkInfo(info)).ToList().AsReadOnly();
 }
 void OnIdle(WorkflowApplicationIdleEventArgs e)
 {
     this.CanResumeBookmarks = true;
     this.availableBookmarks = e.Bookmarks;
     this.applicationHandler.OnIdle(e);
 }
예제 #24
0
 public PersistableIdleAction OnIdleAndPersistable(WorkflowApplicationIdleEventArgs e)
 {
     return(PersistableIdleAction.Persist);
 }
예제 #25
0
 // executed when instance goes idle
 public void OnIdle(WorkflowApplicationIdleEventArgs e)
 {
 }
예제 #26
0
 public void OnIdle(WorkflowApplicationIdleEventArgs e)
 {
     this._managedWorkflows.First(wf => wf.InstanceId == e.InstanceId).SetBookMarks(e.Bookmarks.Select(b => b.BookmarkName).ToList());
     this._repository.UpdateWorkflowInstanceState(e.InstanceId, InstanceState.Idle, e.Bookmarks.ConvertBookmakListToCommaSeparatedString());
 }
예제 #27
0
 private void OnIdle(WorkflowApplicationIdleEventArgs arg)
 {
     Log.DebugFormat("OnIdle({0})", arg.Bookmarks.ToString(bm => bm.BookmarkName));
 }
예제 #28
0
 private static PersistableIdleAction PersistableIdleHandler(WorkflowApplicationIdleEventArgs arg)
 {
     Console.WriteLine("PersistableIdleHandler");
     return(PersistableIdleAction.Unload);
 }
예제 #29
0
 private void AfterWorkflowIdle(WorkflowApplicationIdleEventArgs obj)
 {
     Console.WriteLine("Workflow idle...");
 }
        protected override async Task OnPersistableIdleAsync(WorkflowApplicationIdleEventArgs args)
        {
            await base.OnPersistableIdleAsync(args);

            Debug.WriteLine("OnPersistableIdleAsync");
        }