-- Seleccionar base de datos
USE data_nexapps;
GO


DECLARE
    @ID_TIPO_REGION_PAIS INT
    ;

DECLARE
    @ID_PAIS_HONDURAS INT
    ;

DECLARE @TABLE_BANCOS TABLE (nombre NVARCHAR(100), direccion NVARCHAR(255));
DECLARE
    @TABLE_BANCOS__NOMBRE NVARCHAR(100),
    @TABLE_BANCOS__DIRECCION NVARCHAR(255)
    ;

DECLARE @TABLE_PRESUPUESTOS_RECIPIENTES_TIPOS TABLE (nombre NVARCHAR(100));
DECLARE
    @TABLE_PRESUPUESTOS_RECIPIENTES_TIPOS__NOMBRE NVARCHAR(100)
    ;

DECLARE @TABLE_TARJETAS_PROPIETARIOS_TIPOS TABLE (nombre NVARCHAR(100));
DECLARE
    @TABLE_TARJETAS_PROPIETARIOS_TIPOS__NOMBRE NVARCHAR(100)
    ;

DECLARE @TABLE_TARJETAS_TIPOS TABLE (nombre NVARCHAR(100));
DECLARE
    @TABLE_TARJETAS_TIPOS__NOMBRE NVARCHAR(100)
    ;


-- 1: INSERTAR TJT.BANCOS
EXEC dbo.CAT_insert_update_regiones_tipo
    @varPkTipo = @ID_TIPO_REGION_PAIS OUTPUT,
    @varNombre = 'PAÍS',
    @varUsuario = 4,
    @varOpc = 1;

EXEC dbo.CAT_insert_update_regiones
    @varPkRegion = @ID_PAIS_HONDURAS OUTPUT,
    @varNombre = 'HONDURAS',
    @varPkTipo = @ID_TIPO_REGION_PAIS,
    @varEsUrbana = 0,
    @varPkRegionMayor = NULL,
    @varUsuario = 4,
    @varOpc = 1;

INSERT INTO @TABLE_BANCOS (nombre, direccion)
VALUES
    ('Banco Atlántida', 'Tegucigalpa, Honduras'),
    ('Banco de Occidente', 'Santa Rosa de Copán, Honduras'),
    ('Banco Ficohsa', 'Tegucigalpa, Honduras'),
    ('Banco Davivienda', 'Tegucigalpa, Honduras'),
    ('Banco del País', 'San Pedro Sula, Honduras'),
    ('Banco Lafise', 'Tegucigalpa, Honduras'),
    ('Banco Azteca', 'San Pedro Sula, Honduras'),
    ('Banco Promerica', 'Tegucigalpa, Honduras'),
    ('BAC Credomatic', 'Tegucigalpa, Honduras'),
    ('Banco Popular', 'San Pedro Sula, Honduras'),
    ('Banrural Honduras', 'Tegucigalpa, Honduras');

WHILE EXISTS (SELECT 1 FROM @TABLE_BANCOS)
BEGIN
    SELECT TOP 1
        @TABLE_BANCOS__NOMBRE = nombre,
        @TABLE_BANCOS__DIRECCION = direccion
    FROM @TABLE_BANCOS;

    EXEC TJT.insert_update_bancos
        @varPkBanco = NULL,
        @varNombre = @TABLE_BANCOS__NOMBRE,
        @varIdRegion = @ID_PAIS_HONDURAS,
        @varDireccion = @TABLE_BANCOS__DIRECCION,
        @varUsuario = 'SERGICAST02',
        @varOpc = 1;

    DELETE FROM @TABLE_BANCOS WHERE nombre = @TABLE_BANCOS__NOMBRE;
END;


-- 2: INSERTAR TJT.PRESUPUESTOS_RECIPIENTES_TIPOS
INSERT INTO @TABLE_PRESUPUESTOS_RECIPIENTES_TIPOS (nombre)
VALUES 
    ('TARJETA'),
    ('CATEGORIA'),
    ('CUENTA');

WHILE EXISTS (SELECT 1 FROM @TABLE_PRESUPUESTOS_RECIPIENTES_TIPOS)
BEGIN
    SELECT TOP 1 
        @TABLE_PRESUPUESTOS_RECIPIENTES_TIPOS__NOMBRE = nombre
    FROM @TABLE_PRESUPUESTOS_RECIPIENTES_TIPOS;

    EXEC TJT.insert_update_presupuestos_recipientes_tipos
        @varPkTipo = NULL,
        @varNombre = @TABLE_PRESUPUESTOS_RECIPIENTES_TIPOS__NOMBRE,
        @varDescripcion = NULL,
        @varUsuario = 'SERGICAST02',
        @varOpc = 1;

    DELETE FROM @TABLE_PRESUPUESTOS_RECIPIENTES_TIPOS WHERE nombre = @TABLE_PRESUPUESTOS_RECIPIENTES_TIPOS__NOMBRE;
END;


-- 3: INSERTAR TIPOS DE PROPIETARIOS DE TARJETAS
INSERT INTO @TABLE_TARJETAS_PROPIETARIOS_TIPOS (nombre)
VALUES 
    ('USUARIO'),
    ('EMPLEADO'),
    ('DEPARTAMENTO DE EMPRESA');

WHILE EXISTS (SELECT 1 FROM @TABLE_TARJETAS_PROPIETARIOS_TIPOS)
BEGIN
    SELECT TOP 1 
        @TABLE_TARJETAS_PROPIETARIOS_TIPOS__NOMBRE = nombre
    FROM @TABLE_TARJETAS_PROPIETARIOS_TIPOS;

    EXEC TJT.insert_update_tarjetas_propietarios_tipos
        @varPkTipo = NULL,
        @varNombre = @TABLE_TARJETAS_PROPIETARIOS_TIPOS__NOMBRE,
        @varDescripcion = NULL,
        @varUsuario = 'SERGICAST02',
        @varOpc = 1;

    DELETE FROM @TABLE_TARJETAS_PROPIETARIOS_TIPOS WHERE nombre = @TABLE_TARJETAS_PROPIETARIOS_TIPOS__NOMBRE;
END;


-- 4: INSERTAR TIPOS DE TARJETAS
INSERT INTO @TABLE_TARJETAS_TIPOS (nombre)
VALUES 
    ('DÉBITO'),
    ('CRÉDITO');

WHILE EXISTS (SELECT 1 FROM @TABLE_TARJETAS_TIPOS)
BEGIN
    SELECT TOP 1 
        @TABLE_TARJETAS_TIPOS__NOMBRE = nombre
    FROM @TABLE_TARJETAS_TIPOS;

    EXEC TJT.insert_update_tarjetas_tipos
        @varPkTipo = NULL,
        @varNombre = @TABLE_TARJETAS_TIPOS__NOMBRE,
        @varDescripcion = NULL,
        @varUsuario = 'SERGICAST02',
        @varOpc = 1;

    DELETE FROM @TABLE_TARJETAS_TIPOS WHERE nombre = @TABLE_TARJETAS_TIPOS__NOMBRE;
END;
