예제 #1
0
        /// <summary> 触发事件 </summary>
        /// <param name="sender"></param>
        /// <param name="eventType"></param>
        /// <param name="avgs"></param>
        public static void TouchEvent(object sender, LibEventType eventType, params object[] avgs)
        {
            switch (eventType)
            {
            case LibEventType.FormCommunitation:
                Dictionary <object, object> param = null;
                string tag = string.Empty;
                if (avgs != null && avgs.Length > 1)
                {
                    tag   = avgs[0].ToString();
                    param = avgs[1] as Dictionary <object, object>;
                }
                GetListener(sender).eventSource.OnFormAcceptMsg(tag, param);
                break;

            case LibEventType.SqlException:
                foreach (object item in _listenerList.Keys)
                {
                    if (item.GetType().Equals(typeof(LibSqlExceptionEventSource)))
                    {
                        LibSqlExceptionEventSource a = (LibSqlExceptionEventSource)item;
                        if (a.TouchObj == sender)
                        {
                            if (avgs != null && avgs.Length > 0)
                            {
                                (_listenerList[item] as LibEventListener).eventSource.OnSqlException(avgs[0] as Exception);
                            }
                        }
                    }
                }
                break;
            }
        }
예제 #2
0
 public void DoUnSubscribeEvent(LibEventType eventType)
 {
     switch (eventType)
     {
     case LibEventType.FormCommunitation:
         eventSource.DoFormAcceptMsg -= new LibEventSource.FormCommunitionEventHandle(eventSource_DoFormAcceptMsg);
         break;
     }
 }
예제 #3
0
        public void DoEvents(LibEventType eventType, LibEventArgs args)
        {
            switch (eventType)
            {
            case LibEventType.SqlException:

                break;
            }
        }
예제 #4
0
 public void DoEvents(LibEventType eventType, LibEventArgs args)
 {
     switch (eventType)
     {
     case LibEventType.FormCommunitation:
         LibFormAcceptmsgEventArgs farg = (LibFormAcceptmsgEventArgs)args;
         DoFormAcceptMsg(farg.Tag, farg.ArgsDic);
         break;
     }
 }
예제 #5
0
 public void DoEvents(LibEventType eventType, LibEventArgs args)
 {
     switch (eventType)
     {
     case LibEventType.SqlException:
         LibSqlExceptionEventArgs eventarg = args as LibSqlExceptionEventArgs;
         this.ExceptionHelp.ThrowError(this, eventarg.Exception.Message, eventarg.Exception.StackTrace);
         break;
     }
 }
예제 #6
0
 /// <summary>订阅事件</summary>
 /// <param name="sender"></param>
 /// <param name="eventType"></param>
 public static void SubscribeEvent(object sender, LibEventType eventType)
 {
     switch (eventType)
     {
     case LibEventType.FormCommunitation:
     case LibEventType.SqlException:
         GetListener(sender).DoSubscribeEvent(eventType);
         break;
         //case LibEventType.ModelEdit :
         //    GetListener(sender).DoSubscribeEvent(eventType);
         //    break;
     }
 }
예제 #7
0
            /// <summary>订阅事件</summary>
            public void DoSubscribeEvent(LibEventType eventType)
            {
                switch (eventType)
                {
                case LibEventType.FormCommunitation:
                    eventSource.DoFormAcceptMsg += new LibEventSource.FormCommunitionEventHandle(eventSource_DoFormAcceptMsg);
                    break;

                case LibEventType.SqlException:
                    eventSource.DoSqlException += new LibEventSource.SqlExceptionEventHandle(eventSource_DoSqlException);
                    break;
                    //case LibEventType.ModelEdit :
                    //    eventSource.DoModelEdit += new LibEventSource.ModelEditEventHandle(eventSource_DoModelEdit);
                    //    break;
                }
            }