private void NfcService_OnNfcTagDiscovered(object sender, EventArgs e)
 {
     nfcService.StopDiscovering();
     if (isReading)
     {
         Read();
     }
     else
     {
         Save();
     }
 }
Пример #2
0
 private void NfcService_OnNfcTagDiscovered(object sender, System.EventArgs e)
 {
     nfcService.StopDiscovering();
     btnDiscover.IsEnabled = true;
     Device.BeginInvokeOnMainThread(() => lbState.Text = "NFC card discovered");
 }
Пример #3
0
        private async void NfcService_OnNfcTagDiscovered(object sender, EventArgs e)
        {
            nfcService.StopDiscovering();
            try
            {
                string data = ReadBlock(8);
                if (data == null)
                {
                    return;
                }
                lbNif.Text = data;

                data = ReadBlock(9);
                if (data == null)
                {
                    return;
                }
                lbName.Text = data;

                data = ReadBlock(10);
                if (data == null)
                {
                    return;
                }
                lbSurname.Text = data;

                data = ReadBlock(12);
                if (data == null)
                {
                    return;
                }
                int type = int.Parse(data);

                data = ReadBlock(13);
                if (data == null)
                {
                    return;
                }
                int tickets = int.Parse(data);

                data = ReadBlock(14);
                if (data == null)
                {
                    return;
                }
                DateTime tillDate = DateTime.Parse(data);

                if (IsValidAccess(type, tickets, tillDate) &&
                    UpdateCardInfo(type, tickets))
                {
                    lbStatus.TextColor = Color.Green;
                    lbStatus.Text      = "Access granted";
                }
                else
                {
                    lbStatus.TextColor = Color.Red;
                    lbStatus.Text      = "Access denied";
                }

                await Task.Delay(3000);
            }
            finally
            {
                lbNif.Text         = string.Empty;
                lbName.Text        = string.Empty;
                lbSurname.Text     = string.Empty;
                lbStatus.TextColor = Color.Black;
                lbStatus.Text      = "Bring your card closer to the reader to access";

                nfcService.StopByteBlockOperations();
                nfcService.StartDiscovering();
            }
        }