Exemple #1
0
 private void buttonSendQuery_Click(object sender, EventArgs e)
 {
     try
     {
         Channel channel = new Channel("127.0.0.1:50051", ChannelCredentials.Insecure);
         var     client  = new ScannerServer.ScannerServerClient(channel);
         var     reply   = client.SendQueryToServerDB(new MessageQueryToServerDB
         {
             TimeFrom = dateTimePickerFrom.Value.ToString(),
             TimeTo   = dateTimePickerTo.Value.ToString()
         });
         int i = 1;
         foreach (GoodsInfo goods in reply.GoodsInfo)
         {
             richTextBoxLog.AppendText($"{i++}. {goods.Time} {goods.RFID}" + Environment.NewLine);
         }
     }
     catch (Exception ex)
     {
         richTextBoxLog.AppendText("Send query error!" + $"Exception {ex.Message}" + Environment.NewLine);
     }
 }
Exemple #2
0
        private void inventory()
        {
            byte Ant = 0;
            int  CardNum = 0;
            int  Totallen = 0;
            int  EPClen, m;

            byte[] EPC = new byte[50000];
            int    CardIndex;
            string temps, temp;

            temp = "";
            string sEPC;
            byte   MaskMem = 0;

            byte[] MaskAdr = new byte[2];
            byte   MaskLen = 0;

            byte[]          MaskData = new byte[100];
            byte            MaskFlag = 0;
            byte            AdrTID   = 0;
            byte            LenTID   = 0;
            DataGridViewRow rows     = new DataGridViewRow();


            ErrorsCatcher.errorName = RWDev.Inventory_G2(ref RWDev.comAddress, RWDev.QValue, RWDev.session, MaskMem, MaskAdr, MaskLen, MaskData,
                                                         MaskFlag, AdrTID, LenTID, RWDev.TIDFlag, RWDev.target, RWDev.inAnt, scantime, RWDev.fastFlag,
                                                         EPC, ref Ant, ref Totallen, ref CardNum, RWDev.frmComPortIndex);


            resultTime = DateTime.Now;

            if ((ErrorsCatcher.errorName == 1) | (ErrorsCatcher.errorName == 2) | (ErrorsCatcher.errorName == 3) | (ErrorsCatcher.errorName == 4))
            {
                byte[] daw = new byte[Totallen];
                Array.Copy(EPC, daw, Totallen);
                temps = ConverterTo.ByteArrayToHexString(daw);
                m     = 0;
                if (CardNum == 0)
                {
                    return;
                }

                for (CardIndex = 0; CardIndex < CardNum; CardIndex++)
                {
                    EPClen = daw[m] + 1;
                    temp   = temps.Substring(m * 2 + 2, EPClen * 2);
                    sEPC   = temp.Substring(0, temp.Length - 2);
                    string RSSI = Convert.ToInt32(temp.Substring(temp.Length - 2, 2), 16).ToString();
                    m = m + EPClen + 1;
                    if (sEPC.Length != (EPClen - 1) * 2)
                    {
                        return;
                    }

                    if (!scanData.ContainsKey(sEPC))
                    {
                        scanData.Add(sEPC, resultTime);
                        richTextBoxLogs.AppendText(resultTime.ToString() + " goods with RFID " + sEPC + " scaned." + Environment.NewLine);
                        Task sendToServer = Task.Run(() => {
                            try {
                                Channel channel = new Channel("127.0.0.1:50051", ChannelCredentials.Insecure);
                                var client      = new ScannerServer.ScannerServerClient(channel);
                                var reply       = client.SendDataToServer(new SendRequest {
                                    GoodsInfo = { RFID = sEPC, Time = resultTime.ToString() }
                                });
                            }
                            catch
                            {
                                richTextBoxLogs.AppendText("Send data to server failed!" + Environment.NewLine);
                            }
                        });
                    }
                }
            }
        }