Ejemplo n.º 1
0
 //Calculate total tag reads and unique tag reads.
 public void UpdateTagCount(Dictionary <string, TagReadRecord> EpcIndex)
 {
     UniqueTagCounts += EpcIndex.Count;
     TagReadRecord[] dataRecord = new TagReadRecord[EpcIndex.Count];
     EpcIndex.Values.CopyTo(dataRecord, 0);
     TotalTagCounts = 0;
     for (int i = 0; i < dataRecord.Length; i++)
     {
         TotalTagCounts += dataRecord[i].ReadCount;
     }
 }
Ejemplo n.º 2
0
        public void Add(RxdTagData addData)
        {
            lock (new Object())
            {
                string key = null;
                if (IsUniqueByteTID == false)
                {
                    key = ByteFormat.ToHex(addData.EPC, "", " "); //if only keying on EPCID
                }
                else
                {
                    key = string.Format("epc={0}, tid={1}", ByteFormat.ToHex(addData.EPC, "", " "), ByteFormat.ToHex(addData.TID, "", " "));
                }

                UniqueTagCounts = 0;
                TotalTagCounts  = 0;

                if (!EpcIndex.ContainsKey(key))
                {
                    logUtils.Log(string.Format("Add {0}", key));
                    TagReadRecord value = new TagReadRecord(addData);
                    value.SerialNumber = (uint)EpcIndex.Count + 1;
                    value.TimeStamp    = DateTime.Now.ToLocalTime();
                    value.ReadCount    = 1;

                    _tagList.Add(value);
                    EpcIndex.Add(key, value);
                    UpdateTagCount(EpcIndex);
                }
                else
                {
                    EpcIndex[key].Update(addData);
                    UpdateTagCount(EpcIndex);
                }
            }
        }