예제 #1
0
 public void DoEndActive(string key)
 {
     if (EndFlowEvent != null)
     {
         int type = new WorkApp().GetSystemFormTypeByworkId(key);
         EndFlowEventArgs endFlowEventArgs = new EndFlowEventArgs();
         endFlowEventArgs.key = key;
         System.Delegate[] delegates = EndFlowEvent.GetInvocationList();
         List <int>        activelst = RegisteredFormLst.Where(m => m.key == key)
                                       .Select(m => m.value).Distinct().ToList();
         for (int i = 0; i < delegates.Length; i++)
         {
             int      inum       = delegates[i].Method.GetHashCode();
             object[] attributes = delegates[i].Method.GetCustomAttributes(typeof(WorkFlowAttribute), true);
             if (attributes != null && attributes.Count() > 0)
             {
                 WorkFlowAttribute workFlowAttribute = (WorkFlowAttribute)attributes[0];
                 if ((int)workFlowAttribute.systemForm == type)
                 {
                     activelst.Remove(inum);
                     delegates[i].DynamicInvoke(endFlowEventArgs);
                 }
             }
         }
     }
 }
예제 #2
0
 public static void EndTestFlow(EndFlowEventArgs eventArgs)
 {
 }