public void SetDbChangeNotify(DbChangeNotifyConst notifyConst,params object[] args) { DeviceBaseWrapper dev; try { if (dictPerformance.ContainsKey("SetDbChangeNotify")) { dictPerformance["SetDbChangeNotify"].CallCount++; dictPerformance["SetDbChangeNotify"].InCount++; } switch (notifyConst) { case DbChangeNotifyConst.ETAG_Life_Minutes_Change: if (args==null||args.Length != 1) throw new Exception("引數錯誤"); int minute = System.Convert.ToInt32(args[0]); Host.TC.AVIDeviceWrapper.ETAGLiveTime = minute; break; case DbChangeNotifyConst.JamEvalTable: Program.matrix.vd_jam_eval.LoatTable(); break; case DbChangeNotifyConst.AID_PARAMETER_Change: if (args != null && args[0] != null) { dev = Program.matrix.getDeviceWrapper(args[0].ToString()); AID.AIDobject.LoadParameters(); VDDeviceWrapper vddev = dev as VDDeviceWrapper; vddev.NotifyAidObjSettingChange(); } break; case DbChangeNotifyConst.TravelSettingData: dev = Program.matrix.getDeviceWrapper(args[0].ToString()); if (dev is RGSDeviceWrapper) { ((RGSDeviceWrapper)dev).loadTravelSetting(); try { ((RGSDeviceWrapper)dev).DisplayTravelTime(); } catch { ;} ConsoleServer.WriteLine(args[0].ToString() + "旅行時間設定改變!"); } else if (dev is CMSDeviceWrapper) { ((CMSDeviceWrapper)dev).loadTravelSetting(); try { ((CMSDeviceWrapper)dev).DisplayTravelTime(); } catch { ;} ConsoleServer.WriteLine(args[0].ToString() + "旅行時間設定改變!"); } else if (dev is TTSDeviceWrapper) { ((TTSDeviceWrapper)dev).loadTravelSetting(); try { ((TTSDeviceWrapper)dev).DisplayTravelTime(); } catch { ;} ConsoleServer.WriteLine(args[0].ToString() + "旅行時間設定改變!"); } else throw new Exception("設備不支援旅行時間設定"); break; case DbChangeNotifyConst.SectionPolygonMapingData: Program.matrix.rgs_polygon_section_mapping.loadPolyGonSessionMapping(); if (args != null && args[0] != null) ((OutPutDeviceBase)Program.matrix.getDeviceWrapper(args[0].ToString())).output(); break; case DbChangeNotifyConst.UnitRoadVDMapping: //args 0:lineid,1:dir ,2: km if (args == null || args.Length != 3) throw new Exception("引數錯誤"); Program.matrix.line_mgr[args[0].ToString()][args[1].ToString(), System.Convert.ToInt32(args[2])].load_vd_travel_mapping_table(); System.Console.WriteLine(Program.matrix.line_mgr[args[0].ToString()][args[1].ToString(), System.Convert.ToInt32(args[2])].unitid + "VD 對應表改變!"); break; case DbChangeNotifyConst.AVISampleInterval: if (args == null || args.Length != 1) throw new Exception("引數錯誤"); Program.matrix.avimgr[args[0].ToString()].LoadAVISectionEffective(); break; case DbChangeNotifyConst.ETC_IP_Change: Program.matrix.etcmgr.loadETCIPs(); break; case DbChangeNotifyConst.RediretRoute_Change: Program.matrix.route_mgr.loadAllRoutSetting(); break; case DbChangeNotifyConst.T74RediretRoute_Change: Program.matrix.route_mgr74.loadAllRoutSetting(); break; case DbChangeNotifyConst.Reload_Device_Loaction: if (args == null || args.Length != 1) throw new Exception("引數錯誤"); Program.matrix.device_mgr[args[0].ToString()].ReloadDeviceLocation(); break; case DbChangeNotifyConst.Reload_Section_WeightTable: if (args == null || args.Length != 3) throw new Exception("引數錯誤"); Program.matrix.line_mgr[args[0].ToString()].getSection(args[1].ToString(), args[2].ToString()).LoadSectionTravelTimeWeight(); break; case DbChangeNotifyConst.CMSRST_Manual_MessageChange: if (args == null || args.Length != 2) throw new Exception("引數錯誤"); // Program.matrix.line_mgr[args[0].ToString()].getSection(args[1].ToString(),args[2].ToString()).LoadSectionTravelTimeWeight(); (Program.matrix.getDeviceWrapper(args[0].ToString()) as CMSRSTDeviceWrapper).loadManualTurnData(System.Convert.ToInt32(args[1])); break; case DbChangeNotifyConst.Enable_Weather_Change: if (args == null || args.Length != 2) throw new Exception("引數錯誤"); (Program.matrix.getDeviceWrapper(args[0].ToString()) as CMSDeviceWrapper).EnableWeather = args[1].ToString().Trim(); break; } } catch (Exception ex) { throw new RemoteException(ex.Message + ex.StackTrace); } finally { if (dictPerformance.ContainsKey("SetDbChangeNotify")) dictPerformance["SetDbChangeNotify"].InCount--; } }
public void SetDbChangeNotify(DbChangeNotifyConst notifyConst,params object[] args) { DeviceBaseWrapper dev; try{ switch (notifyConst) { case DbChangeNotifyConst.JamEvalTable: Program.matrix.vd_jam_eval.LoatTable(); break; case DbChangeNotifyConst.TravelSettingData: dev = Program.matrix.getDeviceWrapper(args[0].ToString()); if (dev is RGSDeviceWrapper) { ((RGSDeviceWrapper)dev).loadTravelSetting(); ((RGSDeviceWrapper)dev).DisplayTravelTime(); ConsoleServer.WriteLine(args[0].ToString() + "旅行時間設定改變!"); } else if (dev is CMSDeviceWrapper) { ((CMSDeviceWrapper)dev).loadTravelSetting(); ((CMSDeviceWrapper)dev).DisplayTravelTime(); ConsoleServer.WriteLine(args[0].ToString() + "旅行時間設定改變!"); } else if (dev is TTSDeviceWrapper) { ((TTSDeviceWrapper)dev).loadTravelSetting(); ((TTSDeviceWrapper)dev).DisplayTravelTime(); ConsoleServer.WriteLine(args[0].ToString() + "旅行時間設定改變!"); } else throw new Exception("設備不支援旅行時間設定"); break; case DbChangeNotifyConst.SectionPolygonMapingData: Program.matrix.rgs_polygon_section_mapping.loadPolyGonSessionMapping(); if (args != null && args[0]!=null) ((OutPutDeviceBase)Program.matrix.getDeviceWrapper(args[0].ToString())).output(); break; case DbChangeNotifyConst.UnitRoadVDMapping: //args 0:lineid,1:dir ,2: km if (args == null || args.Length != 3) throw new Exception("引數錯誤"); Program.matrix.line_mgr[args[0].ToString()][args[1].ToString(),System.Convert.ToInt32(args[2])].load_vd_travel_mapping_table(); System.Console.WriteLine(Program.matrix.line_mgr[args[0].ToString()][args[1].ToString(),System.Convert.ToInt32(args[2])].unitid+"VD 對應表改變!"); break; case DbChangeNotifyConst.AVISampleInterval: if(args==null || args.Length!=1) throw new Exception("引數錯誤"); Program.matrix.avimgr[args[0].ToString()].LoadAVISectionEffective(); break; case DbChangeNotifyConst.ETC_IP_Change: Program.matrix.etcmgr.loadETCIPs(); break; case DbChangeNotifyConst.RediretRoute_Change: Program.matrix.route_mgr.loadAllRoutSetting(); break; } } catch(Exception ex) { throw new RemoteException(ex.Message+ex.StackTrace); } }