Пример #1
0
        void HandleNewTag(object sender, NfcTag e)
        {
            var                       contentRead        = Encoding.ASCII.GetString(e.NdefMessage[0].Payload);
            string                    serialNumber       = BitConverter.ToString(e.Id);
            var                       r                  = new CrudApi(App.btoken);
            Uri                       restUri            = new Uri(Constants.RestURLAddAttendance);
            string                    NFCContentUploaded = Guid.NewGuid().ToString();
            AddAttendanceBody         body               = new AddAttendanceBody(serialNumber, contentRead, NFCContentUploaded);
            AddAttendanceResponseBody responseBody       = null;

            try
            {
                var spRecord = new NdefTextRecord
                {
                    Payload = Encoding.ASCII.GetBytes(NFCContentUploaded)
                };
                var msg = new NdefMessage {
                    spRecord
                };
                device.WriteTag(msg);
                responseBody = Task.Run(async() =>
                                        { return(await r.PostAsync <AddAttendanceBody, AddAttendanceResponseBody>(restUri, body)); }).Result;
                string text = responseBody.EmployeeInfo + " succesfully added attendance no." + responseBody.ID + " on point " + System.Environment.NewLine + responseBody.TagInfo;
                ShowSuccess(text);
            }
            catch (Exception excp)
            {
                ShowFail("An error occurred.");
                DependencyService.Get <IAudio>().PlayMp3File("door.mp3");
                return;
            }
            Device.StartTimer(System.TimeSpan.FromSeconds(5), () => { ShowBasic(); return(true); });
            return;
        }