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; }