package pfc.android.gestormensajeria.dao;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * Clase encargada de la creación de la BD la primera vez que se accede a la aplicación
 * @author Francisco José Lamela Rincón
 *
 */
public class GestorMensajeriaDBHelper extends SQLiteOpenHelper {
	
	/**
	 * Nombre de la BD
	 */
	private static String NOMBRE_BD = "GestorSMSDB" ;
	
	/**
	 * Version de la BD
	 */
	private static int version = 1;
	
	/**
	 * CursorFactory
	 */
	private static CursorFactory factory = null;

	/**
	 * Constructor
	 * @param context
	 */
	public GestorMensajeriaDBHelper(Context context){
		super(context, NOMBRE_BD, factory, version);
	}
 
	@Override
	public void onCreate(SQLiteDatabase db)
	{
		//Creamos la tabla de configuracion
		db.execSQL( "CREATE TABLE CONFIGURACION(" +
		          " _id INTEGER PRIMARY KEY," +
		          " _codigo TEXT NOT NULL, " +
		          " _valor TEXT, " +
		          " _descripcion TEXT)" );
		db.execSQL( "CREATE UNIQUE INDEX codigo_index ON CONFIGURACION(_codigo ASC)" );
		
		//Creamos la tabla para las plantillas
		db.execSQL( "CREATE TABLE PLANTILLAS(" +
		          " _id INTEGER PRIMARY KEY," +
		          " _nombre TEXT NOT NULL, " +
		          " _contenido TEXT)" );
		db.execSQL( "CREATE UNIQUE INDEX nombre_index ON PLANTILLAS(_nombre ASC)" );
		
		 
		//Creamos la tabla para los grupos
		db.execSQL( "CREATE TABLE GRUPOS(" +
		          " _id INTEGER PRIMARY KEY," +
		          " _nombre TEXT NOT NULL, " +
		          " _id_contacto INTEGER, " +
		          " _nombre_contacto TEXT NOT NULL)");
		db.execSQL( "CREATE UNIQUE INDEX nombre_contacto_index ON GRUPOS(_nombre, _id_contacto)" );
		 
		/*
		 * Insertamos datos iniciales
		 */
		db.execSQL("INSERT INTO CONFIGURACION(_id, _codigo, _valor, _descripcion) VALUES(1, 'EMAILORIGEN', 'pfc2012septiembre@gmail.com', 'Email que se usará como remitente en las copias de seguridad')");
		db.execSQL("INSERT INTO CONFIGURACION(_id, _codigo, _valor, _descripcion) VALUES(2, 'PWDEMAILORIGEN', 'pfc2012Septiembre', 'Contraseña para el mail que se usará como destino de las copias de seguridad')");
		db.execSQL("INSERT INTO CONFIGURACION(_id, _codigo, _valor, _descripcion) VALUES(3, 'EMAILDESTINO', 'fjlamela@gmail.com', 'Email que se usará como destino de las copias de seguridad')");
		db.execSQL("INSERT INTO CONFIGURACION(_id, _codigo, _valor, _descripcion) VALUES(4, 'CONTACTOALERTA', '652408021', 'Número de telefono al que se enviará la alerta')");
		db.execSQL("INSERT INTO CONFIGURACION(_id, _codigo, _valor, _descripcion) VALUES(5, 'MENSAJEALERTA', 'Necesito tu ayuda, ponte en contacto conmigo lo antes posible', 'Mensaje que se usará para la alerta')");
	}
	 
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
	{
	
	}
}
