public void SupressAlarm(int ItemID)
        {
             SecureDBEntities1 db;
            Item item=item_mgr[ItemID];
               item.ItemConfig.Suppress = true;
            using(db=new SecureDBEntities1())
            {
                tblAlarmLog log = new tblAlarmLog() { ControlID = item.ItemConfig.ControlID, ItemID = ItemID, TypeCode = 5, TypeID = 5, Timestamp = DateTime.Now, Value = 0, Memo = "Supress" };
                db.tblAlarmLog.Add(log);
                db.SaveChanges();
            }


            DispatchItemValueChangedEvent(item.ToBindingData());
           
           // throw new NotImplementedException();
        }
        //public string Register()
        //{
        //    throw new NotImplementedException();
        //}


        void ProcessNotify()
        {
         
            //foreach (tblCardCommandLog cmdlog in db1.tblCardCommandLog.Where(n => n.Timestamp == null))
            //{
            //    Console.WriteLine(cmdlog.ABA);
            //}
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("=========================start task======================");

            System.Collections.Generic.Dictionary<string, string> abaList = new Dictionary<string, string>();
            SecureDBEntities1 db = new SecureDBEntities1();
            try
            {
                foreach (tblCardCommandLog cmdlog in db.tblCardCommandLog.Where(n => n.Timestamp == null))
                {

                    Console.WriteLine("==========================" + cmdlog.ABA + "," + cmdlog.ControlID + "======================");
                    try
                    {
                        if (cmdlog.ControlID != "*" && !card_mgr[cmdlog.ControlID].IsConnected)
                            continue;
                        if (cmdlog.CommandType == "I")
                        {
                            if (cmdlog.CardType == "C")
                            {
                                Console.WriteLine(cmdlog.ControlID + " Add card!" + cmdlog.ABA);
                                card_mgr[cmdlog.ControlID].AddCard(cmdlog.ABA);

                            }
                            else
                            {
                                Console.WriteLine(cmdlog.ControlID + " Add virtual card!" + cmdlog.ABA);
                                card_mgr[cmdlog.ControlID].AddVirturalCard(cmdlog.ABA);

                            }

                        }
                        else if (cmdlog.CommandType == "D")
                        {
                            Console.WriteLine(cmdlog.ControlID + " delete  card!" + cmdlog.ABA);
                            card_mgr[cmdlog.ControlID].DeleteCard(cmdlog.ABA);
                        }
                        else if (cmdlog.CommandType == "*")
                        {

                            Console.WriteLine("=====================Process CheckCardDue==================");
                            if (!abaList.ContainsKey(cmdlog.ABA))
                            {
                                CheckCardDueTask(cmdlog.ABA);
                                abaList.Add(cmdlog.ABA, cmdlog.ABA);
                                Console.WriteLine("check card " + cmdlog.ABA);


                            }

                        }
                        SecureDBEntities1 db1 = new SecureDBEntities1();
                        tblCardCommandLog log = db1.tblCardCommandLog.Where(n => n.FlowID == cmdlog.FlowID).FirstOrDefault();
                        log.Timestamp = DateTime.Now;
                        log.IsSuccess = true;
                        db1.SaveChanges();
                        db1.Dispose();
                    }
                    catch (Exception ex)
                    {
                        SecureDBEntities1 db1 = new SecureDBEntities1();
                        tblCardCommandLog log = db1.tblCardCommandLog.Where(n => n.FlowID == cmdlog.FlowID).FirstOrDefault();
                        if (log != null)
                        {
                            log.Timestamp = DateTime.Now;
                            Console.WriteLine(ex.Message + "," + ex.StackTrace);
                            log.IsSuccess = false;
                            //throw ex;
                            db1.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception ex1)
            {
                Console.WriteLine(ex1.Message + "," + ex1.StackTrace);
            }
          //  db.SaveChanges();
            Console.ForegroundColor = ConsoleColor.White;
        }