示例#1
0
        public static Paziente GetPaziente(int id)
        {
            var sb = new StringBuilder();

            sb.Append("SELECT ");
            sb.Append("*");
            sb.Append(" FROM ");
            sb.Append("paziente");
            sb.Append(" WHERE ");
            sb.Append("ID=" + id);

            Paziente paziente = null;

            SqlLiteHelper.FillEntity(sb.ToString(), reader =>
            {
                paziente             = new Paziente();
                paziente.ID          = id;
                paziente.Nome        = reader["nome"].ToString();
                paziente.Cognome     = reader["cognome"].ToString();
                paziente.DataNascita = (DateTime)reader["data_nascita"];
                paziente.Professione = reader["professione"].ToString();
                paziente.Indirizzo   = reader["indirizzo"].ToString();
                paziente.Citta       = reader["citta"].ToString();
                paziente.Cap         = reader["cap"].ToString().Trim();
                paziente.Provincia   = reader["prov"].ToString();
                paziente.Telefono    = reader["telefono"].ToString();
                paziente.Cellulare   = reader["cellulare"].ToString();
                paziente.Email       = reader["email"].ToString();
            });


            return(paziente);
        }
示例#2
0
        public async Task <IActionResult> Edit(Paziente paziente)
        {
            //if (id == null)
            //{
            //    return NotFound();
            //}
            //var pazienteToUpdate = await _context.Pazienti.SingleOrDefaultAsync(s => s.ID == paziente.ID);
            var pazienteToUpdate = paziente;

            //if (await TryUpdateModelAsync<Paziente>(pazienteToUpdate))
            {
                try
                {
                    _context.Entry(paziente).State = EntityState.Modified;
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
                catch (DbUpdateException /* ex */)
                {
                    //Log the error (uncomment ex variable name and write a log.)
                    ModelState.AddModelError("", "Unable to save changes. " +
                                             "Try again, and if the problem persists, " +
                                             "see your system administrator.");
                }
            }
            return(View(pazienteToUpdate));
        }
示例#3
0
        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();
            }
        }
示例#4
0
        public Task <IViewComponentResult> InvokeAsync(int pazienteId)
        {
            var model = new Paziente {
                ID = pazienteId
            };

            return(Task.FromResult <IViewComponentResult>(View(model)));
        }
示例#5
0
        public static bool UpdatePaziente(Paziente paziente) //modifica
        {
            SqlConnection cn = GetConnection();

            try
            {
                string sql = "UPDATE [Pazienti] SET" +
                             " [nome] = @pNome" +
                             ",[cognome] = @pCognome" +
                             ",[città] = @pCittà" +
                             ",[paese] = @pPaese" +
                             " WHERE [id] = @pId";

                SqlParameter pId              = new SqlParameter("pId", paziente.Id);
                SqlParameter pNome            = new SqlParameter("pNome", paziente.Nome);
                SqlParameter pCognome         = new SqlParameter("pCognome", paziente.Cognome);
                SqlParameter pLuogoNascita    = new SqlParameter("pLuogoNascita", paziente.LuogoNascita);
                SqlParameter pCodiceFiscale   = new SqlParameter("pCodiceFiscale", paziente.CodiceFiscale);
                SqlParameter pResidenza       = new SqlParameter("pResidenza", paziente.Residenza);
                SqlParameter pProvincia       = new SqlParameter("pProvincia", paziente.Provincia);
                SqlParameter pIndirizzo       = new SqlParameter("pIndirizzo", paziente.Indirizzo);
                SqlParameter pTelefono        = new SqlParameter("pTelefono", paziente.Telefono);
                SqlParameter pCellulare       = new SqlParameter("pCellulare", paziente.Cellulare);
                SqlParameter pEmail           = new SqlParameter("pEmail", paziente.Email);
                SqlParameter pCodiceSanitario = new SqlParameter("pCodiceSanitario", paziente.CodiceSanitario);
                SqlParameter pCodiceMedico    = new SqlParameter("pCodiceMedico", paziente.CodiceMedico);
                SqlParameter pDataNascita     = new SqlParameter("pDataNascita", paziente.DataNascita);
                SqlParameter pDataUpdate      = new SqlParameter("pDataupdate", paziente.DataUpdate);
                SqlParameter pDataInserimento = new SqlParameter("pDataInserimento", paziente.DataInserimento);

                SqlCommand cmd = new SqlCommand(sql, cn);
                cmd.Parameters.Add(pId);
                cmd.Parameters.Add(pNome);
                cmd.Parameters.Add(pCognome);
                cmd.Parameters.Add(pLuogoNascita);
                cmd.Parameters.Add(pCodiceFiscale);
                cmd.Parameters.Add(pResidenza);
                cmd.Parameters.Add(pProvincia);
                cmd.Parameters.Add(pIndirizzo);
                cmd.Parameters.Add(pTelefono);
                cmd.Parameters.Add(pCellulare);
                cmd.Parameters.Add(pEmail);
                cmd.Parameters.Add(pCodiceSanitario);
                cmd.Parameters.Add(pCodiceMedico);
                cmd.Parameters.Add(pDataNascita);
                cmd.Parameters.Add(pDataUpdate);
                cmd.Parameters.Add(pDataInserimento);

                cmd.ExecuteNonQuery();
                return(true);
            }
            catch (Exception ex)
            {
                throw new Exception("Errore durante la modifica dell'paziente", ex);
            }
        }
示例#6
0
        public static bool InsertPaziente(Paziente paziente)
        {
            string        sql = "";
            SqlConnection cn  = GetConnection(); //connessione db

            try
            {
                sql = "INSERT INTO [Pazienti] ([nome], [cognome], [città], [paese]) " +
                      "VALUES (@pNome, @pCognome, @pCittà, @pPaese)  ";                   //p sta per parametro usato per sql Server
                                                                                          //dichiaro prametri non c'è relazione tra @pNome e pNome
                SqlParameter pNome            = new SqlParameter("pNome", paziente.Nome); //passo nome(pNome) e valore(paziente.Nome)
                SqlParameter pCognome         = new SqlParameter("pCognome", paziente.Cognome);
                SqlParameter pLuogoNascita    = new SqlParameter("pLuogoNascita", paziente.LuogoNascita);
                SqlParameter pCodiceFiscale   = new SqlParameter("pCodiceFiscale", paziente.CodiceFiscale);
                SqlParameter pResidenza       = new SqlParameter("pResidenza", paziente.Residenza);
                SqlParameter pProvincia       = new SqlParameter("pProvincia", paziente.Provincia);
                SqlParameter pIndirizzo       = new SqlParameter("pIndirizzo", paziente.Indirizzo);
                SqlParameter pTelefono        = new SqlParameter("pTelefono", paziente.Telefono);
                SqlParameter pCellulare       = new SqlParameter("pCellulare", paziente.Cellulare);
                SqlParameter pEmail           = new SqlParameter("pEmail", paziente.Email);
                SqlParameter pCodiceSanitario = new SqlParameter("pCodiceSanitario", paziente.CodiceSanitario);
                SqlParameter pCodiceMedico    = new SqlParameter("pCodiceMedico", paziente.CodiceMedico);
                SqlParameter pDataNascita     = new SqlParameter("pDataNascita", paziente.DataNascita);
                SqlParameter pDataUpdate      = new SqlParameter("pDataupdate", paziente.DataUpdate);
                SqlParameter pDataInserimento = new SqlParameter("pDataInserimento", paziente.DataInserimento);

                SqlCommand cmd = new SqlCommand(sql, cn); //Parameters struttura dinamica l'ordine non importa
                cmd.Parameters.Add(pNome);
                cmd.Parameters.Add(pCognome);
                cmd.Parameters.Add(pLuogoNascita);
                cmd.Parameters.Add(pCodiceFiscale);
                cmd.Parameters.Add(pResidenza);
                cmd.Parameters.Add(pProvincia);
                cmd.Parameters.Add(pIndirizzo);
                cmd.Parameters.Add(pTelefono);
                cmd.Parameters.Add(pCellulare);
                cmd.Parameters.Add(pEmail);
                cmd.Parameters.Add(pCodiceSanitario);
                cmd.Parameters.Add(pCodiceMedico);
                cmd.Parameters.Add(pDataNascita);
                cmd.Parameters.Add(pDataUpdate);
                cmd.Parameters.Add(pDataInserimento);

                cmd.ExecuteNonQuery();
                return(true);
            }
            catch (Exception ex)
            {
                throw new Exception("Errore durante l'inserimento di un nuovo paziente", ex);
            }
        }
示例#7
0
        public static Paziente GetPaziente(int idPaziente)
        {
            SqlDataReader dr          = null;            //informazioni formattate
            SqlConnection cn          = GetConnection(); //connessione db
            Paziente      tmpPaziente = new Paziente(idPaziente);

            try
            {
                string       sql = "SELECT [id],[nome],[cognome],[città],[paese] FROM [Pazienti] WHERE id=@pId"; //query
                SqlParameter pId = new SqlParameter("pId", idPaziente);                                          //nuovo parametro di tipo sqlparameter
                SqlCommand   cmd = new SqlCommand(sql, cn);
                cmd.Parameters.Add(pId);
                dr = cmd.ExecuteReader(); //esegui query e inserisce i dati in dr

                if (dr.Read())            //non può avere parametri in ingresso
                {
                    tmpPaziente.Id              = dr.GetInt32(0);
                    tmpPaziente.Nome            = (dr.IsDBNull(1) ? null : dr.GetString(1));//if condizionale
                    tmpPaziente.Cognome         = (dr.IsDBNull(2) ? null : dr.GetString(2));
                    tmpPaziente.LuogoNascita    = (dr.IsDBNull(3) ? null : dr.GetString(3));
                    tmpPaziente.CodiceFiscale   = (dr.IsDBNull(4) ? null : dr.GetString(4));
                    tmpPaziente.Residenza       = (dr.IsDBNull(5) ? null : dr.GetString(5));
                    tmpPaziente.Provincia       = (dr.IsDBNull(6) ? null : dr.GetString(6));
                    tmpPaziente.Indirizzo       = (dr.IsDBNull(7) ? null : dr.GetString(7));
                    tmpPaziente.Telefono        = (dr.IsDBNull(8) ? null : dr.GetString(8));
                    tmpPaziente.Cellulare       = (dr.IsDBNull(9) ? null : dr.GetString(9));
                    tmpPaziente.Email           = (dr.IsDBNull(10) ? null : dr.GetString(10));
                    tmpPaziente.CodiceSanitario = (dr.IsDBNull(11) ? null : dr.GetString(11));
                    tmpPaziente.CodiceMedico    = (dr.IsDBNull(12) ? null : dr.GetString(12));
                    tmpPaziente.DataNascita     = (dr.IsDBNull(13) ? null : dr.GetDateTime(13));
                    tmpPaziente.DataUpdate      = (dr.IsDBNull(14) ? dr.GetDateTime(14));
                    tmpPaziente.DataInserimento = (dr.IsDBNull(15) ? dr.GetDateTime(15));
                    return(tmpPaziente);
                }
                else
                {
                    tmpPaziente = null;//avendo un int in GetPaziente non posso restituire un messaggio
                }
                return(tmpPaziente);
            }
            catch (Exception ex)//eccezione la mando nello strato alto
            {
                //messaggio di errore
                throw new Exception("Errore durante la lettura dell'paziente", ex);
            }
        }
 public IndividuaPazienteView(Operatore operatore)
 {
     InitializeComponent();
     this.operatore = operatore;
     entryCodiceProvetta.Unfocused += async(object sender, FocusEventArgs e) =>
     {
         if (!String.IsNullOrEmpty(entryCodiceProvetta.Text))
         {
             provetta     = new Provetta();
             provetta.uid = entryCodiceProvetta.Text;
             if (await provetta.InviaProvetta())
             {
                 if ((paziente = await provetta.localizzaPaziente()) != default(Paziente))
                 {
                     entryCodiceProvetta.Text  = provetta.uid;
                     labelCognomePaziente.Text = paziente.cognome;
                     labelNomePaziente.Text    = paziente.nome;
                     labelRepartoPaziente.Text = paziente.reparto;
                     labelLettoPaziente.Text   = paziente.letto.ToString();
                     labelIdPaziente.Text      = paziente.uid;
                 }
                 else
                 {
                     entryCodiceProvetta.Text  = "";
                     labelCognomePaziente.Text = "";
                     labelNomePaziente.Text    = "";
                     labelRepartoPaziente.Text = "";
                     labelLettoPaziente.Text   = "";
                     labelIdPaziente.Text      = "";
                 }
             }
             else
             {
                 entryCodiceProvetta.Text  = "";
                 labelCognomePaziente.Text = "";
                 labelNomePaziente.Text    = "";
                 labelRepartoPaziente.Text = "";
                 labelLettoPaziente.Text   = "";
                 labelIdPaziente.Text      = "";
             }
         }
     };
 }
示例#9
0
        public static List <Paziente> GetListPazienti()
        {
            List <Paziente> retList = new List <Paziente>();
            string          sql     = "";
            SqlDataReader   dr      = null;
            SqlConnection   cn      = GetConnection(); //connessione db

            try
            {
                sql = "SELECT [id],[nome],[cognome],[città],[paese] FROM [Pazienti]"; //query
                SqlCommand cmd = new SqlCommand(sql, cn);
                dr = cmd.ExecuteReader();                                             //esegui query e inserisce i dati in dr
                while (dr.Read())                                                     //mi rende un booleano, quando ha finito di leggere restituisce false
                {
                    Paziente tmpPaziente = new Paziente();
                    tmpPaziente.Id              = dr.GetInt32(0);                            //essendo la chiave primaria non può essere null
                    tmpPaziente.Nome            = (dr.IsDBNull(1) ? null : dr.GetString(1)); //if condizionale può essere null
                    tmpPaziente.Cognome         = (dr.IsDBNull(2) ? null : dr.GetString(2));
                    tmpPaziente.LuogoNascita    = (dr.IsDBNull(3) ? null : dr.GetString(3));
                    tmpPaziente.CodiceFiscale   = (dr.IsDBNull(4) ? null : dr.GetString(4));
                    tmpPaziente.Residenza       = (dr.IsDBNull(5) ? null : dr.GetString(5));
                    tmpPaziente.Provincia       = (dr.IsDBNull(6) ? null : dr.GetString(6));
                    tmpPaziente.Indirizzo       = (dr.IsDBNull(7) ? null : dr.GetString(7));
                    tmpPaziente.Telefono        = (dr.IsDBNull(8) ? null : dr.GetString(8));
                    tmpPaziente.Cellulare       = (dr.IsDBNull(9) ? null : dr.GetString(9));
                    tmpPaziente.Email           = (dr.IsDBNull(10) ? null : dr.GetString(10));
                    tmpPaziente.CodiceSanitario = (dr.IsDBNull(11) ? null : dr.GetString(11));
                    tmpPaziente.CodiceMedico    = (dr.IsDBNull(12) ? null : dr.GetString(12));
                    tmpPaziente.DataNascita     = (dr.IsDBNull(13) ? dr.GetDateTime(13));
                    tmpPaziente.DataUpdate      = (dr.IsDBNull(14) ? dr.GetDateTime(14));
                    tmpPaziente.DataInserimento = (dr.IsDBNull(15) ? dr.GetDateTime(15));

                    retList.Add(tmpPaziente); //li aggiunge alla lista via via
                }
                return(retList);
            }
            catch (Exception ex)//eccezione la mando nello strato alto
            {
                //messaggio di errore
                throw new Exception("Errore durante la lettura dei pazienti", ex);
            }
        }
示例#10
0
        public static bool DeletePaziente(Paziente paziente) //elimina
        {
            SqlConnection cn = GetConnection();

            try
            {
                string sql = "DELETE FROM [Pazienti] " +
                             " WHERE [id] = @pId";
                SqlParameter pId = new SqlParameter("pId", paziente.Id);

                SqlCommand cmd = new SqlCommand(sql, cn);
                cmd.Parameters.Add(pId);
                cmd.ExecuteNonQuery();
                return(true);
            }
            catch (Exception ex)
            {
                throw new Exception("Errore durante la cancellazione dell'paziente", ex);
            }
        }
        private async void scanPaziente(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();
                    paziente             = new Paziente();
                    paziente.uid         = result.Text;
                    scanPazienteEseguita = true;
                    controllaScanPaziente();
                });
            };
            // Navigate to our scanner page
            await Navigation.PushAsync(scanPage);
        }
示例#12
0
        public async Task <IActionResult> Create(Paziente paziente)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _context.Add(paziente);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction("Index"));
                }
            }
            catch (DbUpdateException /* ex */)
            {
                //Log the error (uncomment ex variable name and write a log.
                ModelState.AddModelError("", "Unable to save changes. " +
                                         "Try again, and if the problem persists " +
                                         "see your system administrator.");
            }
            return(View(paziente));
        }
 private async void controlloscanProvetta()
 {
     if (scanEseguita)
     {
         scanEseguita = false;
         if (await provetta.InviaProvetta())
         {
             if ((paziente = await provetta.localizzaPaziente()) != default(Paziente))
             {
                 entryCodiceProvetta.Text  = provetta.uid;
                 labelCognomePaziente.Text = paziente.cognome;
                 labelNomePaziente.Text    = paziente.nome;
                 labelRepartoPaziente.Text = paziente.reparto;
                 labelLettoPaziente.Text   = paziente.letto.ToString();
                 labelIdPaziente.Text      = paziente.uid;
             }
             else
             {
                 entryCodiceProvetta.Text  = "";
                 labelCognomePaziente.Text = "";
                 labelNomePaziente.Text    = "";
                 labelRepartoPaziente.Text = "";
                 labelLettoPaziente.Text   = "";
                 labelIdPaziente.Text      = "";
             }
         }
         else
         {
             entryCodiceProvetta.Text  = "";
             labelCognomePaziente.Text = "";
             labelNomePaziente.Text    = "";
             labelRepartoPaziente.Text = "";
             labelLettoPaziente.Text   = "";
             labelIdPaziente.Text      = "";
         }
     }
 }
示例#14
0
        public static bool DeletePaziente(int idPaziente)
        {
            Paziente tmpPaziente = new Paziente(idPaziente);

            return(DeletePaziente(tmpPaziente));
        }
示例#15
0
        public static bool SalvaDati(ref Paziente paziente, ref string sMsg)
        {
            bool bResult;

            try
            {
                var sb = new StringBuilder();

                var arParams = new List <MySqlLiteParameter>
                {
                    new MySqlLiteParameter("@nome", DbType.String, paziente.Nome),
                    new MySqlLiteParameter("@cognome", DbType.String, paziente.Cognome),
                    new MySqlLiteParameter("@data_nascita", DbType.DateTime, paziente.DataNascita),
                    new MySqlLiteParameter("@professione", DbType.String, paziente.Professione),
                    new MySqlLiteParameter("@indirizzo", DbType.String, paziente.Indirizzo),
                    new MySqlLiteParameter("@citta", DbType.String, paziente.Citta),
                    new MySqlLiteParameter("@provincia", DbType.String, paziente.Provincia),
                    new MySqlLiteParameter("@cap", DbType.String, paziente.Cap),
                    new MySqlLiteParameter("@telefono", DbType.String, paziente.Telefono),
                    new MySqlLiteParameter("@cellulare", DbType.String, paziente.Cellulare),
                    new MySqlLiteParameter("@email", DbType.String, paziente.Email)
                };


                if (paziente.ID == -1)
                {
                    sb.Append("INSERT INTO ");
                    sb.Append("paziente");
                    sb.Append(
                        "( nome, cognome, data_nascita, professione, indirizzo, citta, prov, cap, telefono, cellulare, email )");
                    sb.Append(" VALUES ");
                    sb.Append(
                        "( @nome, @cognome, @data_nascita, @professione, @indirizzo, @citta, @provincia, @cap, @telefono, @cellulare, @email )");

                    int newID;
                    SqlLiteHelper.Insert(sb.ToString(), arParams, out newID);
                    paziente.ID = newID;
                }
                else
                {
                    arParams.Add(new MySqlLiteParameter("@ID", DbType.Int32, paziente.ID));

                    sb.Append("UPDATE ");
                    sb.Append("paziente");
                    sb.Append(" SET ");
                    sb.Append("nome=@nome,");
                    sb.Append("cognome=@cognome,");
                    sb.Append("data_nascita=@data_nascita,");
                    sb.Append("professione=@professione,");
                    sb.Append("indirizzo=@indirizzo,");
                    sb.Append("citta=@citta,");
                    sb.Append("prov=@provincia,");
                    sb.Append("cap=@cap,");
                    sb.Append("telefono=@telefono,");
                    sb.Append("cellulare=@cellulare,");
                    sb.Append("email=@email");

                    sb.Append(" WHERE ");
                    sb.Append("ID = @ID");

                    SqlLiteHelper.Update(sb.ToString(), arParams);
                }

                bResult = true;
            }
            catch (Exception ex)
            {
                bResult = false;
                sMsg    = ex.Message;
            }

            return(bResult);
        }
示例#16
0
        // 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();
                }
            }
        }