private async void nfc_TagDetected(object sender, NfcTagEventArgs e) { var uId = BitConverter.ToString(e.Connection.ID); Debug.WriteLine("DETECTED {0}", uId); code = uId; waitForPassword(); //1. Get Person //var person = DataService.GetPersonByCardId(uId); //if (person == null) //{ // //Call service to get associated person details // var movementResponseDto = await _personService.PostMovement(uId); // if (movementResponseDto == null) // { // return; // } // person = new Person // { // CardUid = movementResponseDto.CardUid, // Id = movementResponseDto.Id, // Name = movementResponseDto.Name, // InLocation = movementResponseDto.Ingress, // Image = movementResponseDto.Image // }; }
private async void nfc_TagDetected(object sender, NfcTagEventArgs e) { var id = BitConverter.ToString(e.Connection.ID); Debug.WriteLine("DETECTED {0}", id); await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { txtCardId.Text = id; }); //byte[] data; //switch (e.NfcTagType) //{ // case NfcTagType.MifareClassic1k: // NfcMifareTagConnection mifareConn = (NfcMifareTagConnection)e.Connection; // await mifareConn.Authenticate(MifareKeyAuth.KeyA, 0x08, new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }); // await mifareConn.Read(0x08); // data = new byte[16]; // for (byte i = 0; i < data.Length; i++) // data[i] = i; // await mifareConn.Write(0x08, data); // await mifareConn.Read(0x08); // break; // case NfcTagType.MifareUltralight: // NfcMifareUlTagConnection mifareUlConn = (NfcMifareUlTagConnection)e.Connection; // for (byte i = 0; i < 16; i++) // { // byte[] read = await mifareUlConn.Read(i); // } // await mifareUlConn.Read(0x08); // data = new byte[4]; // for (byte i = 0; i < data.Length; i++) // data[i] = i; // await mifareUlConn.Write(0x08, data); // await mifareUlConn.Read(0x08); // break; // default: // break; //} }
private async void nfc_TagDetected(object sender, NfcTagEventArgs e) { var uId = BitConverter.ToString(e.Connection.ID); Debug.WriteLine("DETECTED {0}", uId); //1. Get Person var person = DataService.GetPersonByCardId(uId); if (person == null) { //Call service to get associated person details var movementResponseDto = await _personService.PostMovement(uId); if (movementResponseDto == null) { return; } person = new Person { CardUid = movementResponseDto.CardUid, Id = movementResponseDto.Id, Name = movementResponseDto.Name, InLocation = movementResponseDto.Ingress, Image = movementResponseDto.Image }; } //2. Update movements var movement = new Movement { CardId = uId, InLocation = !person.InLocation, SwipeTime = DateTime.UtcNow.ToString("s") }; DataService.AddMovement(movement); //3. Update Person record person.InLocation = !person.InLocation; DataService.AddUpdatePerson(person); //4. Update UI await UpdateUi(person); }
private async void nfc_TagLost(object sender, NfcTagEventArgs e) { Debug.WriteLine("LOST " + BitConverter.ToString(e.Connection.ID)); await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { txtCardId.Text = string.Empty; }); }
private async void nfc_TagLost(object sender, NfcTagEventArgs e) { Debug.WriteLine("LOST " + BitConverter.ToString(e.Connection.ID)); //perform actions on card removed from NFC field }