Пример #1
0
        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 { ;}

             
            }
        }
Пример #2
0
        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();

           
        }
Пример #3
0
 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();
 }
Пример #4
0
           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);
            }

        }