use votaciones
go


DROP PROCEDURE IF EXISTS VOT_delete_elecciones_proceso_acta;
GO
CREATE PROCEDURE VOT_delete_elecciones_proceso_acta
    @varPk INT,
    @varUsuario INT,
    @varOpc INT -- 1 Borrado lógico, 2 Borrado físico
AS
BEGIN
    SET NOCOUNT ON;
    DECLARE @result NVARCHAR(200), @save INT = 0;

    IF @varOpc = 1 -- Borrado lógico
    BEGIN
        UPDATE elecciones_proceso_acta
        SET estado = 3,
            modificado_por = @varUsuario,
            fecha_hora_modificado = GETDATE()
        WHERE pk_acta = @varPk;

        SET @save = 1;
        SET @result = 'Borrado lógico realizado correctamente';
    END
    ELSE IF @varOpc = 2 -- Borrado físico
    BEGIN
        DELETE FROM elecciones_proceso_acta
        WHERE pk_acta = @varPk;

        SET @save = 1;
        SET @result = 'Borrado físico realizado correctamente';
    END
    ELSE
    BEGIN
        SET @result = 'Opción no válida';
    END

    SELECT @save AS 'save', @result AS result;
END;
GO


DROP PROCEDURE IF EXISTS VOT_delete_elecciones_proceso_acta_tipo;
GO
CREATE PROCEDURE VOT_delete_elecciones_proceso_acta_tipo
    @varPk INT,
    @varUsuario INT,
    @varOpc INT
AS
BEGIN
    SET NOCOUNT ON;
    DECLARE @result NVARCHAR(200), @save INT = 0;

    IF @varOpc = 1
    BEGIN
        UPDATE elecciones_proceso_acta_tipo
        SET estado = 3,
            modificado_por = @varUsuario,
            fecha_hora_modificado = GETDATE()
        WHERE pk_tipo = @varPk;

        SET @save = 1;
        SET @result = 'Borrado lógico realizado correctamente';
    END
    ELSE IF @varOpc = 2
    BEGIN
        DELETE FROM elecciones_proceso_acta_tipo
        WHERE pk_tipo = @varPk;

        SET @save = 1;
        SET @result = 'Borrado físico realizado correctamente';
    END
    ELSE
    BEGIN
        SET @result = 'Opción no válida';
    END

    SELECT @save AS 'save', @result AS result;
END;
GO

DROP PROCEDURE IF EXISTS VOT_delete_elecciones_proceso_acta_conteo;
GO
CREATE PROCEDURE VOT_delete_elecciones_proceso_acta_conteo
    @varPkActa INT,
    @varUsuario INT,
    @varOpc INT
AS
BEGIN
    SET NOCOUNT ON;
    DECLARE @result NVARCHAR(200), @save INT = 0;

    IF @varOpc = 1
    BEGIN
        UPDATE elecciones_proceso_acta_conteo
        SET estado = 3,
            modificado_por = @varUsuario,
            fecha_hora_modificado = GETDATE()
        WHERE pk_acta = @varPkActa;

        SET @save = 1;
        SET @result = 'Borrado lógico realizado correctamente';
    END
    ELSE IF @varOpc = 2
    BEGIN
        DELETE FROM elecciones_proceso_acta_conteo
        WHERE pk_acta = @varPkActa;

        SET @save = 1;
        SET @result = 'Borrado físico realizado correctamente';
    END
    ELSE
    BEGIN
        SET @result = 'Opción no válida';
    END

    SELECT @save AS 'save', @result AS result;
END;
GO
