public void RaiseProcessReStarted(object sender, WorkflowEventArgs e)
        {
            GeneralDataExchangeInstance.RaiseProcessReStarted(sender, e);
            string processCode = e.WorkflowInstance.ProcessCode.ToUpper();

            if (dataExchangeInstanceList.ContainsKey(processCode))
            {
                DataExchangeInstance instance = dataExchangeInstanceList[processCode];
                instance.RaiseProcessReStarted(sender, e);
            }
        }
        protected void AddHandle(string processCode, IDataExchangeHandle handleInstance)
        {
            DataExchangeInstance instance = null;

            if (!dataExchangeInstanceList.ContainsKey(processCode))
            {
                instance = new DataExchangeInstance();
                dataExchangeInstanceList.Add(processCode, instance);
            }
            else
            {
                instance = dataExchangeInstanceList[processCode];
            }
            instance.ProcessStarted           += handleInstance.OnProcessStarted;
            instance.ProcessReStarted         += handleInstance.OnProcessReStarted;
            instance.ProcessApprovalCompleted += handleInstance.OnProcessApprovalCompleted;
            instance.ProcessCompleted         += handleInstance.OnProcessCompleted;
            instance.NodeInitiated            += handleInstance.OnNodeInitiated;
            instance.NodeCompleted            += handleInstance.OnNodeCompleted;
            instance.ProcessRejected          += handleInstance.OnProcessRejected;
            instance.ProcessForwarded         += handleInstance.OnProcessForwarded;
            instance.ProcessEntrusted         += handleInstance.OnProcessEntrusted;
            instance.ProcessCanceled          += handleInstance.OnProcessCanceled;
        }