@Override
    //Esta metodo permite dar de alta un producto en BBDD comprobando que este no exista ya en ella
    public int altaProducto(TProducto producto) 
    {
        int id_producto;
        
        TransactionManager.obtenerInstanacia().nuevaTransaccion();
        try
        {
            TransactionManager.obtenerInstanacia().getTransaccion().start();
        
            
            //Si el producto no existe lo insertamos
            
                id_producto = FactoriaDAO.obtenerInstancia().getDAOProducto().altaProducto(producto);
                
                // Se hizo la insercion con exito.
                if(id_producto > 0)
                {
                    // Se hace el commit.
                        try
                        {
                            TransactionManager.obtenerInstanacia().getTransaccion().commit();
                        }
                        // Si falla el commit.
                        catch(Exception e)
                        {
                           id_producto = -1;
                           TransactionManager.obtenerInstanacia().getTransaccion().rollback(); 
                        }
                    
                }                                
            
            
            // Eliminamos la transaccion.
            TransactionManager.obtenerInstanacia().eliminaTransaccion();
        }
        catch(Exception e)
        {
            id_producto = -1;
            try 
             {
                 TransactionManager.obtenerInstanacia().getTransaccion().rollback();
             } catch (Exception ex) 
             {
                 ex.printStackTrace();
             }
            TransactionManager.obtenerInstanacia().eliminaTransaccion();
        }
        return id_producto;     
    }