Ensuring Parallel Workflow Tasks are Allowed to Complete
In some situations, your workflow process may need to be split into two or more separate streams. For example, you might need to have three people approve a request before continuing. If you did them sequentially, it would take a lot longer to obtain all the necessary approvals.
Updated: Correction, the parallel tasks are not discarded upon the first path reaching an end point. However, the practice of merging is still extremely important to avoid accidental firing of downstream tasks and data dependencies that may not exist. To implement merging, execute the following steps.
Add the Workflow.Advanced.dll to your project by clicking on the "Import Components" button in the left pane of the Designer interface. Select the highlighted item and click Add.
Choose from one of the Merge components under Workflow Components > Merge. I prefer the one that allows me to be very specific (see below).
Ensure that the new merge component is placed before the End component. While not absolutely necessary, it's easier to comprehend if you connect all workflows to eventually route through the merge component.
Edit the merge component, and enable the checkbox for each parallel workflow that must be completed prior to finishing the process: