예제 #1
0
 private void RecvBlackListThread()
 {
     while (true)
     {
         string blackNo;
         bool suspend;
         Net netUtil = new Net();
         RestaurantLog.Items.Add(System.DateTime.Now + "接收挂失信息……");
         if (netUtil.RecvBlackList(out blackNo, out suspend))
         {
             RestaurantLog.Items.Add(System.DateTime.Now+"收到" + (suspend ? "挂失" : "解挂") + "卡号:" + blackNo);
             RestaurantLog.Items.Add(System.DateTime.Now + "通知消费机……");
             foreach (Pos p in Poses)
             {
                 p.mutex.WaitOne();
                 bool result = p.SuspendCard(blackNo, suspend);
                 RestaurantLog.Items.Add(System.DateTime.Now + "通知" + p.POS_id + "号机" + (result ? "成功" : "失败"));
                 p.mutex.ReleaseMutex();
             }
         }
         else
         {
             RestaurantLog.Items.Add(System.DateTime.Now + "网络错误,稍后重试……");
             System.Threading.Thread.Sleep(5000);
         }
     }
 }