USE votaciones;
GO

DECLARE @pkTipoRegionPais INT, @pkTipoRegionDepartamento INT, @pkTipoRegionMunicipio INT;

DECLARE @pkRegionHonduras INT;

DECLARE @pkRegionAtlantida INT,
@pkRegionCholuteca INT,
@pkRegionColon INT,
@pkRegionComayagua INT,
@pkRegionCopan INT,
@pkRegionCortes INT,
@pkRegionElParaiso INT,
@pkRegionFranciscoMorazan INT,
@pkRegionGraciasADios INT,
@pkRegionIntibuca INT,
@pkRegionIslasDeLaBahia INT,
@pkRegionLaPaz INT,
@pkRegionLempira INT,
@pkRegionOcotepeque INT,
@pkRegionOlancho INT,
@pkRegionSantaBarbara INT,
@pkRegionValle INT,
@pkRegionYoro INT;

DECLARE @pkTipoCandidatoDiputado INT, @pkTipoCandidatoAlcalde INT;

DECLARE @pkTipoEleccionInternas INT;

DECLARE @pkEleccionHondurasInternas INT;

-- 1. Insertar los tipos de región
EXEC CAT_insert_update_regiones_tipo @varPkTipo = @pkTipoRegionPais OUTPUT,
@varNombre = 'País',
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones_tipo @varPkTipo = @pkTipoRegionDepartamento OUTPUT,
@varNombre = 'Departamento',
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones_tipo @varPkTipo = @pkTipoRegionMunicipio OUTPUT,
@varNombre = 'Municipio',
@varUsuario = 0,
@varOpc = 1;

-- 2. Insertar las regiones
-- Países
EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionHonduras OUTPUT,
@varNombre = 'Honduras',
@varPkTipo = @pkTipoRegionPais,
@varPkRegionMayor = 0,
@varUsuario = 0,
@varOpc = 1;

-- Departamentos
EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionAtlantida OUTPUT,
@varNombre = 'Atlántida',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionCholuteca OUTPUT,
@varNombre = 'Choluteca',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionColon OUTPUT,
@varNombre = 'Colón',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionComayagua OUTPUT,
@varNombre = 'Comayagua',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionCopan OUTPUT,
@varNombre = 'Copán',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionCortes OUTPUT,
@varNombre = 'Cortés',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionElParaiso OUTPUT,
@varNombre = 'El Paraíso',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionFranciscoMorazan OUTPUT,
@varNombre = 'Francisco Morazán',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionGraciasADios OUTPUT,
@varNombre = 'Gracias a Dios',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionIntibuca OUTPUT,
@varNombre = 'Intibucá',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionIslasDeLaBahia OUTPUT,
@varNombre = 'Islas de la Bahía',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionLaPaz OUTPUT,
@varNombre = 'La Paz',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionLempira OUTPUT,
@varNombre = 'Lempira',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionOcotepeque OUTPUT,
@varNombre = 'Ocotepeque',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionOlancho OUTPUT,
@varNombre = 'Olancho',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionSantaBarbara OUTPUT,
@varNombre = 'Santa Bárbara',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionValle OUTPUT,
@varNombre = 'Valle',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

EXEC CAT_insert_update_regiones @varPkRegion = @pkRegionYoro OUTPUT,
@varNombre = 'Yoro',
@varPkTipo = @pkTipoRegionDepartamento,
@varPkRegionMayor = @pkRegionHonduras,
@varUsuario = 0,
@varOpc = 1;

-- 3. Insertar los tipos de candidato
EXEC VOT_insert_update_candidatos_tipo @varPkTipo = 0,
@varNombre = 'Presidente',
@varPkRegionTipo = @pkTipoRegionPais,
@varPkTipoMayor = 0,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_candidatos_tipo @varPkTipo = @pkTipoCandidatoDiputado OUTPUT,
@varNombre = 'Diputado',
@varPkRegionTipo = @pkTipoRegionDepartamento,
@varPkTipoMayor = 0,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_candidatos_tipo @varPkTipo = 0,
@varNombre = 'Diputado Suplente',
@varPkRegionTipo = @pkTipoRegionDepartamento,
@varPkTipoMayor = @pkTipoCandidatoDiputado,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_candidatos_tipo @varPkTipo = @pkTipoCandidatoAlcalde OUTPUT,
@varNombre = 'Alcalde',
@varPkRegionTipo = @pkTipoRegionMunicipio,
@varPkTipoMayor = 0,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_candidatos_tipo @varPkTipo = 0,
@varNombre = 'Vicealcalde',
@varPkRegionTipo = @pkTipoRegionMunicipio,
@varPkTipoMayor = @pkTipoCandidatoAlcalde,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_candidatos_tipo @varPkTipo = 0,
@varNombre = 'Regidor',
@varPkRegionTipo = @pkTipoRegionMunicipio,
@varPkTipoMayor = @pkTipoCandidatoAlcalde,
@varUsuario = 0,
@varOpc = 1;

-- 4. Insertar los tipos de elecciones
EXEC VOT_insert_update_elecciones_tipo @varPkTipo = @pkTipoEleccionInternas OUTPUT,
@varNombre = 'Internas',
@varUsuario = 0,
@varOpc = 1;

-- 5. Insertar las elecciones
EXEC VOT_insert_update_elecciones @varPkEleccion = @pkEleccionHondurasInternas OUTPUT,
@varPkRegion = @pkRegionHonduras,
@varPkTipo = @pkTipoEleccionInternas,
@varUsuario = 0,
@varOpc = 1;

-- 6. Insertar los candidatos x region
-- https://www.tunota.com/honduras-hoy/cuantos-diputados-hay-en-el-congreso-nacional-lo-que-establece-la-legislacion-2022-08-30?utm_source=chatgpt.com
EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionAtlantida,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 8,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionCholuteca,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 9,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionColon,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 5,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionComayagua,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 7,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionCopan,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 7,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionCortes,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 20,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionElParaiso,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 6,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionFranciscoMorazan,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 23,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionGraciasADios,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 1,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionIntibuca,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 3,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionIslasDeLaBahia,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 1,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionLaPaz,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 3,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionLempira,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 5,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionOcotepeque,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 2,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionOlancho,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 7,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionSantaBarbara,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 9,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionValle,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 4,
@varUsuario = 0,
@varOpc = 1;

EXEC VOT_insert_update_elecciones_candidatos_x_region @varPkConfiguracion = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varPkRegion = @pkRegionYoro,
@varPkCandidatoTipo = @pkTipoCandidatoDiputado,
@varCantidad = 9,
@varUsuario = 0,
@varOpc = 1;

-- 7. Insertar los procesos electorales
EXEC VOT_insert_update_elecciones_proceso @varPkProceso = 0,
@varPkEleccion = @pkEleccionHondurasInternas,
@varAnio = 2025,
@varMes = 3,
@varDia = 19,
@varUsuario = 0,
@varOpc = 1;

-- 8. Insertar los sexos
EXEC CAT_insert_update_sexos @varPkSexo = 0, @varNombre = 'Masculino', @varUsuario = 0, @varOpc = 1;
EXEC CAT_insert_update_sexos @varPkSexo = 0, @varNombre = 'Femenino', @varUsuario = 0, @varOpc = 1;


-- 9. Insertar las nacionalidades
EXEC CAT_insert_update_nacionalidades @varPkNacionalidad = 0, @varNombre = 'Hondureño (a)', @varUsuario = 0, @varOpc = 1;