RFIDReader.cs 1.4 KB
using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Asa.RFID.RFIDAuto;

namespace Asa.RFID
{
    public class RFIDReader
    {
        public static readonly ILog LOGGER = LogManager.GetLogger("TheRFID");

        private static Dictionary<string, RFID> rfidMap = new Dictionary<string, RFID>();


        public static  void Open(  params string[] ipArr)
        {
            foreach(var ip in ipArr)
            {
                if (rfidMap.ContainsKey(ip))
                {
                    rfidMap[ip].Open();
                }
                else
                {
                    RFID rfid = new RFID(ip);
                    rfid.Open();
                    rfidMap.Add(ip, rfid);
                }
            }
        }
        public static bool FindRFID(string ip)
        {
            if (rfidMap.ContainsKey(ip))
            {
                return rfidMap[ip].FindRFID();
            }
            return false;
        }

        public static byte[] Read(string ip,bool isNeedFind)
        {
            if (rfidMap.ContainsKey(ip))
            {
                return rfidMap[ip].Read(isNeedFind);
            }
            return null;
        }
        
        public static void CloseAll()
        {
            foreach(var rfid in rfidMap.Values)
            {
                rfid.Close();
            }
        }
    }
}