Advertisement
Guest User

Untitled

a guest
Feb 9th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. WorkflowApplication wfApp = new WorkflowApplication(new ApprovalWF());
  2. wfApp.InstanceStore = new SqlWorkflowInstanceStore(ConfigurationManager.ConnectionStrings["WorkflowStore"].ConnectionString);
  3. wfApp.Load(approval.WorkflowId);
  4. //wfApp.Run();
  5. var bookmarkName = approverId.ToString() + approval.ApprovalId.ToString();
  6. wfApp.ResumeBookmark(bookmarkName, result);
  7.  
  8. var inputs = new Dictionary<string, object>() { { "Approvers", approvers }, { "ApprovalId", approvalId }, { "RaiserId", raiserId }, { "ApprovalSwitch", switchValue } };
  9. try
  10. {
  11. SqlWorkflowInstanceStore store = new SqlWorkflowInstanceStore(ConfigurationManager.ConnectionStrings["WorkflowStore"].ConnectionString);
  12. AutoResetEvent waitHandler = new AutoResetEvent(false);
  13. WorkflowApplication approvalWf = new WorkflowApplication(new ApprovalWF(), inputs);
  14.  
  15. approvalWf.InstanceStore = store;
  16.  
  17. approvalWf.PersistableIdle = delegate(WorkflowApplicationIdleEventArgs e)
  18. {
  19. return PersistableIdleAction.Unload;
  20. };
  21. approvalWf.Unloaded = (e) =>
  22. {
  23. waitHandler.Set();
  24. };
  25. approvalWf.Completed = delegate(WorkflowApplicationCompletedEventArgs e)
  26. {
  27. LogEvents.Info("Workflow: " + approvalId + " has completed with arguments: " + e);
  28. };
  29. approvalWf.Aborted = delegate(WorkflowApplicationAbortedEventArgs e)
  30. {
  31. LogEvents.Error("Workflow for " + approvalId + " has been aborted: " + e);
  32. };
  33. approvalWf.OnUnhandledException = delegate(WorkflowApplicationUnhandledExceptionEventArgs e)
  34. {
  35. LogEvents.Error("Workflow for " + approvalId + " has thrown an error: " + e);
  36. return UnhandledExceptionAction.Terminate;
  37. };
  38.  
  39. var id = approvalWf.Id;
  40. var approval =_approvalDac.SelectAwfApprovalByApprovalId(approvalId);
  41. var firstOrDefault = approval.FirstOrDefault();
  42. if (firstOrDefault != null) firstOrDefault.WorkflowId = id;
  43. _approvalDac.UpdateApproval(approval.FirstOrDefault());
  44.  
  45. approvalWf.Run();
  46. waitHandler.WaitOne();
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement