SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'WGP_Nacionalidades_GetInfo') )
DROP PROCEDURE WGP_Nacionalidades_GetInfo
GO

CREATE PROCEDURE WGP_Nacionalidades_GetInfo
	@id_naci  INT,
	@vEliminado BIT
AS
BEGIN

	SELECT id_naci, nacionalidad, LTRIM(RTRIM(desc_nac))desc_nac, eliminado
	INTO #TempNacionalidades
	FROM HOTENACI

	IF @id_naci  > 0 
	BEGIN 
	   DELETE #TempNacionalidades WHERE id_naci  <> @id_naci 
	END

		IF @vEliminado <> 1
	BEGIN 
	   DELETE #TempNacionalidades WHERE eliminado  <> 0
	END

	SELECT * 
	FROM   #TempNacionalidades
	ORDER BY desc_nac
	RETURN

END
GO

---------------------------------------------------------------------------------
---------------------------------------------------------------------------------

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'WGP_Nacionalidades_RepInfo') )
DROP PROCEDURE WGP_Nacionalidades_RepInfo
GO

CREATE PROCEDURE WGP_Nacionalidades_RepInfo
	@vEliminado BIT
AS
BEGIN

	SELECT id_naci, nacionalidad, LTRIM(RTRIM(desc_nac))desc_nac, eliminado
	INTO #TempNacionalidades
	FROM HOTENACI

		IF @vEliminado <> 1
	BEGIN 
	   DELETE #TempNacionalidades WHERE eliminado  <> 0
	END

	SELECT * 
	FROM   #TempNacionalidades
	ORDER BY desc_nac
	RETURN

END
GO

---------------------------------------------------------------------------------
---------------------------------------------------------------------------------

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'WGP_Nacionalidades_PutInfo') )
DROP PROCEDURE WGP_Nacionalidades_PutInfo
GO

CREATE PROCEDURE WGP_Nacionalidades_PutInfo
	@id_naci INT,
	@nacionalidad VARCHAR(3),
	@desc_nac VARCHAR(30),
	@eliminado BIT
AS
BEGIN
	DECLARE @MensajeError VARCHAR(255) = ''

	IF @eliminado = 0
	BEGIN
	
		IF (@nacionalidad = '' OR @desc_nac = '')
		BEGIN
			SET @MensajeError = 'ERR_GEN_FAL_DAT'
			--Falta datos, no deje campos vacios 
			GOTO ERROR
		END
	
		IF EXISTS(select desc_nac from HOTENACI where desc_nac=@desc_nac and id_naci!=@id_naci OR nacionalidad=@nacionalidad and id_naci!=@id_naci)
			BEGIN
				SET @MensajeError = 'ERR_GEN_REG_DUP'
				GOTO ERROR
			END

		IF @id_naci = 0
		BEGIN
		
			-- Crear 
		
			INSERT INTO HOTENACI
			(
				nacionalidad, desc_nac, eliminado
			)
			VALUES
			(
				@nacionalidad, @desc_nac, 0
			)

			SET @id_naci = @@IDENTITY
		
		END
		ELSE
		BEGIN
		
			-- Editar
		
			UPDATE HOTENACI
			SET --nacionalidad = @nacionalidad,
			    desc_nac = @desc_nac
			    --eliminado = @eliminado
			WHERE id_naci = @id_naci
			
		
		END

	END
	ELSE
	BEGIN

		IF EXISTS (SELECT id_naci FROM HOTENACI WHERE id_naci = @id_naci AND eliminado = 0)
		BEGIN
			--DELETE FROM HOTENACI WHERE id_naci = @id_naci
			UPDATE HOTENACI 
			SET    eliminado = 1
			WHERE  id_naci = @id_naci
		END
		ELSE
		BEGIN
			UPDATE HOTENACI 
			SET    eliminado = 0
			WHERE  id_naci = @id_naci
		END

	END

	SELECT @id_naci AS Id
	
	RETURN

	ERROR:
		RAISERROR (@MensajeError, 16, 1)

END
GO