public void HandlePositiveButtonClick(object sender, DialogClickEventArgs e)
        {
            try
            {
                //signature = Activity.FindViewById<SignaturePadView>(Resource.Id.signatureFrame);
                Bitmap       imagen = signature.GetImage();
                MemoryStream ms     = new MemoryStream();
                //ByteArrayOutputStream bos = new ByteArrayOutputStream();
                imagen.Compress(Bitmap.CompressFormat.Png, 100, ms);
                byte[] bArray = ms.ToArray();

                //string id = Guid.NewGuid().ToString();
                System.Console.WriteLine("GUID: " + guid);
                loadConnection();
                db.BeginTransaction();
                //Se almacena en base de datos el BLOB con su respectivo GUID
                try
                {
                    string          sql        = "INSERT INTO IMAGENES (Nombre,Imagen) VALUES(?,?)";
                    SQLiteStatement insertStmt = db.CompileStatement(sql);
                    insertStmt.ClearBindings();
                    insertStmt.BindString(1, guid);
                    insertStmt.BindBlob(2, bArray);
                    insertStmt.ExecuteInsert();
                    db.SetTransactionSuccessful();
                    db.EndTransaction();
                    db.Close();
                    try
                    {
                        if (actor.Equals("notificando", StringComparison.Ordinal))
                        {
                            ManejoBaseDatos.Abrir();
                            ManejoBaseDatos.Actualizar("Notificaciones", "ValidacionNotificando", "S", "CodigoNotificacion=" + codigo + "");
                            ManejoBaseDatos.Cerrar();
                        }
                        if (actor.Equals("testigo", StringComparison.Ordinal))
                        {
                            ManejoBaseDatos.Abrir();
                            ManejoBaseDatos.Actualizar("Notificaciones", "ValidacionTestigo", "S", "CodigoNotificacion=" + codigo + "");
                            ManejoBaseDatos.Cerrar();
                        }
                    }
                    catch (Exception ex)
                    {
                        System.Console.WriteLine("Error almacenando confirmacion de firma: " + ex.ToString());
                        Toast.MakeText(this.Activity, "Error guardando confirmacion", ToastLength.Short).Show();
                    }
                }
                catch (Exception ex) { System.Console.WriteLine("Error guardando imagen en db: " + ex.ToString()); }

                Toast.MakeText(this.Activity, "Firma capturada de forma exitosa", ToastLength.Short).Show();
            }
            catch (Exception ex) { System.Console.WriteLine("ERROR guardando la imagen: " + ex.ToString()); }
        }
        public void insertMaps(List <MapDownloadResource> maps, Dictionary <string, string> mapsItemsCodes, Dictionary <string, string> regionItemsCodes, Context applicationContext)
        {
            try
            {
                if ((maps != null) && (mapsItemsCodes != null) && (regionItemsCodes != null))
                {
                    // create a compile statement for inserting the maps using transactions
                    StringBuilder insertCommand = new StringBuilder("INSERT INTO ");
                    insertCommand.Append(MAPS_TABLE).Append(" VALUES (?");
                    // the number of columns in maps table is 20
                    for (int i = 0; i < 20; i++)
                    {
                        insertCommand.Append(",?");
                    }
                    insertCommand.Append(");");
                    resourcesDAO.getDatabase().BeginTransaction();
                    SQLiteStatement insertStatement = resourcesDAO.getDatabase().CompileStatement(insertCommand.ToString());
                    int             columnIndex, lineIndex = 0;
                    foreach (MapDownloadResource map in maps)
                    {
                        columnIndex = 1;
                        lineIndex++;
                        insertStatement.ClearBindings();
                        insertStatement.BindLong(columnIndex++, lineIndex);
                        insertStatement.BindString(columnIndex++, map.Code);
                        insertStatement.BindString(columnIndex++, mapsItemsCodes[map.Code]);
                        if ((map.getSubType() != null) && map.getSubType().Equals(STATE_TYPE)) //ignorecode
                        {
                            insertStatement.BindString(columnIndex++, regionItemsCodes[map.Code]);
                        }
                        else
                        {
                            insertStatement.BindString(columnIndex++, "");
                        }

                        // compute the string that contains all the name translations
                        StringBuilder nameInAllSpecifiedLanguages = new StringBuilder();

                        if (map.getNames() != null)
                        {
                            foreach (var currentEntry in map.getNames())
                            {
                                nameInAllSpecifiedLanguages.Append(currentEntry.Key).Append("=").Append(currentEntry.Value).Append(";");
                            }
                        }

                        if (nameInAllSpecifiedLanguages.Length > 1)
                        {
                            insertStatement.BindString(columnIndex++, nameInAllSpecifiedLanguages.ToString().Substring(0, nameInAllSpecifiedLanguages.Length - 1));
                        }
                        else
                        {
                            insertStatement.BindString(columnIndex++, "");
                        }
                        insertStatement.BindString(columnIndex++, map.getSKMFilePath());
                        insertStatement.BindString(columnIndex++, map.getZipFilePath());
                        insertStatement.BindString(columnIndex++, map.getTXGFilePath());
                        insertStatement.BindLong(columnIndex++, (int)map.getTXGFileSize());
                        insertStatement.BindLong(columnIndex++, (int)map.getSkmAndZipFilesSize());
                        insertStatement.BindLong(columnIndex++, (int)map.getSkmFileSize());
                        insertStatement.BindLong(columnIndex++, (int)map.getUnzippedFileSize());
                        insertStatement.BindDouble(columnIndex++, map.getBbLatMax());
                        insertStatement.BindDouble(columnIndex++, map.getBbLatMin());
                        insertStatement.BindDouble(columnIndex++, map.getBbLongMax());
                        insertStatement.BindDouble(columnIndex++, map.getBbLongMin());
                        insertStatement.BindString(columnIndex++, map.getSubType());
                        insertStatement.BindLong(columnIndex++, map.DownloadState);
                        insertStatement.BindLong(columnIndex++, map.NoDownloadedBytes);
                        insertStatement.BindLong(columnIndex++, 0);
                        insertStatement.BindString(columnIndex, map.DownloadPath);

                        insertStatement.Execute();
                    }
                }
            }
            finally
            {
                if ((maps != null) && (mapsItemsCodes != null))
                {
                    SKLogging.WriteLog(TAG, "Maps were inserted into database !!!", SKLogging.LogDebug);
                    // close the GENERAL transaction
                    resourcesDAO.getDatabase().SetTransactionSuccessful();
                    resourcesDAO.getDatabase().EndTransaction();
                }
            }
        }