private async Task inviaDatiTrasfusione() { if (!sacca.disponibile) { Toast.MakeText(this, "La sacca non รจ disponibile per l'assegnazione", ToastLength.Short).Show(); } else if ((paziente != null && !string.IsNullOrEmpty(paziente.uid.Trim())) && (sacca != null && !string.IsNullOrEmpty(sacca.uid.Trim()))) { REST <Paziente, string> rest = new REST <Paziente, string>(); paziente.uidSacca = sacca.uid; var response = await rest.PostJson("http://192.168.125.14:3000/pazienti/assegnatrasfusione", paziente); if (rest.responseMessage == System.Net.HttpStatusCode.OK) { nomePaziente.Text = ""; cognomePaziente.Text = ""; gruppoPaziente.Text = ""; rhPaziente.Text = ""; gruppoSacca.Text = ""; rhSacca.Text = ""; statoSacca.Text = ""; sacca = new Sacca(); paziente = new Paziente(); } Toast.MakeText(this, rest.warning, ToastLength.Short).Show(); } }
// Il metodo OnNewIntent viene invocato dal sistema android. protected override async void OnNewIntent(Intent intent) { if (_inReadMode) { try { _inReadMode = false; sacca = new Sacca(); Tag tag = intent.GetParcelableExtra(NfcAdapter.ExtraTag) as Tag; //Cast dei dati presenti nell'intent nella classe Tag (classe di tag generica) if (tag == null) { return; } byte[] Uid = tag.GetId(); //Recupera l'UID del tag rilevato string UidString = bin2hex(Uid); //Converte l'UID in string formato esadecimale sacca.uid = UidString; textIdSacca.Text = UidString; /* * mifareTag.WriteBlock(firstBlock, new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }); * mifareTag.WriteBlock(firstBlock + 1, new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }); * Toast.MakeText(this, "Write succesfully", ToastLength.Short).Show(); */ } catch (Exception e) //Cattura l'eccezione nel caso in cui il tag viene allontanato dal dispositivo android { Toast.MakeText(this, e.Message, ToastLength.Short).Show(); } } }
private async void ScannerizzaSacca(object sender, EventArgs e) { var scanPage = new ZXingScannerPage(); scanPage.OnScanResult += (result) => { // Stop scanning scanPage.IsScanning = false; // Pop the page and show the result Device.BeginInvokeOnMainThread(() => { Navigation.PopAsync(); sacca = new Sacca(); sacca.uid = result.Text; scanSaccaEseguita = true; controllaScanSacca(); }); }; // Navigate to our scanner page await Navigation.PushAsync(scanPage); }
protected override async void OnNewIntent(Intent intent) { if (_inReadMode) { try { _inReadMode = false; Tag tag = intent.GetParcelableExtra(NfcAdapter.ExtraTag) as Tag; //Cast dei dati presenti nell'intent nella classe Tag (classe di tag generica) if (tag == null) { return; } byte[] Uid = tag.GetId(); //Recupera l'UID del tag rilevato string UidString = bin2hex(Uid); //Converte l'UID in string formato esadecimale sacca = new Sacca(); sacca.uid = UidString; idSacca.Text = UidString; if (await sacca.getSacca(this)) { editGruppo.Text = sacca.gruppo; editRh.Text = sacca.rh; statoSacca.Text = sacca.stato; } else { editGruppo.Text = ""; editRh.Text = ""; statoSacca.Text = ""; } } catch (TagLostException e) //Cattura l'eccezione nel caso in cui il tag viene allontanato dal dispositivo android { Toast.MakeText(this, e.Message, ToastLength.Short).Show(); } } }
// Il metodo OnNewIntent viene invocato dal sistema android. protected override async void OnNewIntent(Intent intent) { if (scanPaziente) //L'operatore ha cliccato sul button per lo scan del tag relativo al paziente { try { Tag tag = intent.GetParcelableExtra(NfcAdapter.ExtraTag) as Tag; //Cast dei dati presenti nell'intent nella classe Tag (classe di tag generica) if (tag == null) { return; } byte[] Uid = tag.GetId(); //Recupera l'UID del tag rilevato string UidString = bin2hex(Uid); //Converte l'UID in string formato esadecimale paziente = new Paziente(); paziente.uid = UidString; if (await paziente.getPaziente(this)) { nomePaziente.Text = paziente.nome; cognomePaziente.Text = paziente.cognome; gruppoPaziente.Text = paziente.gruppo; rhPaziente.Text = paziente.rh; } else { nomePaziente.Text = ""; cognomePaziente.Text = ""; gruppoPaziente.Text = ""; rhPaziente.Text = ""; } /* * MifareClassic mifareTag = MifareClassic.Get(tag); //Cast del Tag rilevato con la classe MifareClassic * mifareTag.Connect();//Abilita le funzioni di Input Output con il tag * if (mifareTag.AuthenticateSectorWithKeyB(3, new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF })) //Effettua l'autenticazione sul settore 3 con la chiave B * { * int firstBlock = mifareTag.SectorToBlock(3);//Ritorna il primo blocco del settore 3 * var read = mifareTag.ReadBlock(firstBlock);//Legge sul blocco firstBlock (la lettura avviene in byte) * //Converte i byte in string formato UTF-32 * var str1 = new StringBuilder(2); * str1.Append(char.ConvertFromUtf32(read[0])); * LogMessage.Text = str1.ToString(); //Gruppo sanguigno * sacca = new Sacca(); * * sacca.uid = UidString; * sacca.gruppo = str1.ToString().Trim(); * await sacca.insertSacca(this); * //Scrive sul blocco firstBlock l'array di byte (l'array deve essere di 16 byte) * mifareTag.WriteBlock(firstBlock, new byte[] { 66, 0x00, 49, 0x00, 0x00, 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 }); * Toast.MakeText(this, "Write succesfully", ToastLength.Short).Show(); * * } */ } catch (TagLostException e) //Cattura l'eccezione nel caso in cui il tag viene allontanato dal dispositivo android { Toast.MakeText(this, e.Message, ToastLength.Short).Show(); } } else if (scanSacca) //L'operatore ha cliccato sul button per lo scan del tag relativo alla sacca di sangue { try { Tag tag = intent.GetParcelableExtra(NfcAdapter.ExtraTag) as Tag; //Cast dei dati presenti nell'intent nella classe Tag (classe di tag generica) if (tag == null) { return; } sacca = new Sacca(); byte[] Uid = tag.GetId(); //Recupera l'UID del tag rilevato string UidString = bin2hex(Uid); //Converte l'UID in string formato esadecimale sacca.uid = UidString; if (await sacca.getSacca(this)) { gruppoSacca.Text = sacca.gruppo; rhSacca.Text = sacca.rh; statoSacca.Text = sacca.stato; } else { gruppoSacca.Text = ""; rhSacca.Text = ""; statoSacca.Text = ""; } /* * MifareClassic mifareTag = MifareClassic.Get(tag); //Cast del Tag rilevato con la classe MifareClassic * mifareTag.Connect();//Abilita le funzioni di Input Output con il tag * if (mifareTag.AuthenticateSectorWithKeyB(3, new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF })) //Effettua l'autenticazione sul settore 3 con la chiave B * { * int firstBlock = mifareTag.SectorToBlock(3);//Ritorna il primo blocco del settore 3 * var read = mifareTag.ReadBlock(firstBlock);//Legge sul blocco firstBlock (la lettura avviene in byte) * //Converte i byte in string formato UTF-32 * var str1 = new StringBuilder(2); * str1.Append(char.ConvertFromUtf32(read[0])); * LogMessage.Text = str1.ToString(); //Gruppo sanguigno * sacca = new Sacca(); * * sacca.uid = UidString; * sacca.gruppo = str1.ToString().Trim(); * await sacca.insertSacca(this); * //Scrive sul blocco firstBlock l'array di byte (l'array deve essere di 16 byte) * mifareTag.WriteBlock(firstBlock, new byte[] { 66, 0x00, 49, 0x00, 0x00, 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 }); * Toast.MakeText(this, "Write succesfully", ToastLength.Short).Show(); * * } */ } catch (TagLostException e) //Cattura l'eccezione nel caso in cui il tag viene allontanato dal dispositivo android { Toast.MakeText(this, e.Message, ToastLength.Short).Show(); } } }