示例#1
0
        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
            //    };
        }
示例#2
0
        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;
            //}
        }
示例#3
0
        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);
        }
示例#4
0
        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; });
        }
示例#5
0
        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
        }