void card_mgr_OnDoorEvent(CardReader.ICardReader reader, DoorEventType enumEventType) { Console.WriteLine(reader.ControllerID + "," + enumEventType.ToString()); foreach (KeyValuePair<string, RegisterInfo> pair in dictClientCallBacks.ToArray()) { try { if (pair.Value.IsRegistDoorEvent && pair.Value.PlaneID == reader.PlaneID) pair.Value.CallBack.SecureDoorEvent(enumEventType, reader.ToBindingData()); } catch { ;} } }
static void CardReaderTest() { CardReader.CardReader cr = new CardReader.CardReader("test","192.168.1.168",1,1,1,1,1,false); Console.WriteLine("設定開門延時警報 10 sec"); cr.SetOpenDoorDetectionAlarmTime(10); Console.ReadLine(); Console.WriteLine("設定開門延時偵測 1 0 sec"); cr.SetOpenDoorTimeoutDetectionTime(10); Console.ReadLine(); Console.WriteLine("設定開門自動回復時間 5 sec"); cr.SetOpenDoorAutoCloseTime(5); Console.ReadLine(); //Console.WriteLine("設定開門 偵測 超時 10 sec"); //cr.SetOpenDoorTimeoutDetectionTime(1); //Console.ReadLine(); Console.WriteLine("強制開門"); cr.ForceOpenDoor(); Console.ReadLine(); Console.WriteLine("對時"); cr.SetDateTime(DateTime.Now); Console.ReadLine(); Console.WriteLine("刪除全部卡片"); cr.DeleteAllCard(); Console.ReadLine(); Console.WriteLine("加入卡片 1232828117"); cr.AddCard("1232828117"); Console.ReadLine(); Console.WriteLine("加入卡片 16455387"); cr.AddCard("16455387"); Console.ReadLine(); Console.WriteLine("加入虛擬卡片 12345678"); cr.AddVirturalCard("12345678"); Console.ReadLine(); Console.WriteLine("刪除卡片 16455387"); cr.DeleteCard("16455387"); Console.ReadLine(); Console.WriteLine("刪除卡片 16455387"); cr.DeleteCard("16455387"); Console.ReadLine(); Console.WriteLine("開門密碼 7777"); cr.SetSuperOpenDoorPassword(7777); Console.ReadLine(); }
void card_mgr_OnAlarmEvent(CardReader.ICardReader reader, AlarmData alarmdata) { try{ Console.WriteLine("DispatchAlarm!"); DispatchAlarmEvent(alarmdata); } catch(Exception ex){ Console.WriteLine(ex.Message + "," + ex.StackTrace); } //throw new NotImplementedException(); }
public CardReaderManager(SecureService service) { try { this.serivce = service; SecureDBEntities1 db = new SecureDBEntities1(); var q = from n in db.tblControllerConfig where (n.ControlType == 2 || n.ControlType == 1) && n.IsEnable == true select n; foreach (tblControllerConfig data in q) { int nvrid = -1, nvrchano = -1; if (data.TriggerCCTVID != null ) { nvrid = SecureService.cctv_mgr[(int)data.TriggerCCTVID].NVRID; nvrchano = SecureService.cctv_mgr[(int)data.TriggerCCTVID].NVRChNo; } ICardReader cardreader = new CardReader(data.ControlID, data.IP, data.ERID, (int)data.PlaneID, data.TriggerCCTVID ?? -1, nvrid, nvrchano,data.Comm_state==1?true:false); dictCardReaders.TryAdd(data.ControlID, cardreader); dictIp_CardReader.Add(data.IP, cardreader); cardreader.OnDoorEvent += cardreader_OnDoorEvent; // cardreader.OnAlarmEvent += cardreader_OnAlarmEvent; cardreader.OnStatusChanged += cardreader_OnStatusChanged; Console.WriteLine("加入卡機:" + data.ControlID); } // ServerScoket = new ClassSockets.ServerSocket(); ServerScoket.OnRead += new ServerSocket.ConnectionDelegate(Server_OnRead); if (ServerScoket.Active()) Console.WriteLine("Card Reader Server Socket is Listening!"); else Console.WriteLine("Card Reader Server Socket is not Listening!"); Task.Run(new Action(OneMinTask)); //tmr = new System.Threading.Timer(OneMinTask); //tmr.Change(0, 1000 * 60); this.LoadSystemParameter(); this.SendAllReaderParameter(); // DownloadSuperPassword(); } catch (Exception ex) { Console.WriteLine(ex.Message + "," + ex.StackTrace); } }