USE [SevenSIO]
GO
/****** Object:  StoredProcedure [dbo].[SIO_ReservaDetalle_PutInfo]    Script Date: 04/19/2016 10:23:14 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[SIO_ReservaDetalle_PutInfo]
	@id_lres   INT,
	@id_rese   INT,
	@tipo      VARCHAR(50),
	@cantidad  TINYINT,
	@adultos   TINYINT,
	@ninos     TINYINT,
	@precio    NUMERIC(18, 2),
	@impuesto  NUMERIC(18, 2),
	@descuento NUMERIC(18, 2)
AS
BEGIN
	DECLARE @MensajeError VARCHAR(255) = ''

	IF @id_lres = 0
	BEGIN
	
		-- Crear
		
		DECLARE @id_uhab INT = (SELECT TOP 1 u.id_uhab 
		                        FROM       HOTEUHAB u 
		                        INNER JOIN HOTETHAB t ON u.id_thab = t.id_thab 
		                        WHERE  u.max_adultos = @adultos 
		                          AND  u.max_ninos = @ninos 
		                          AND  LTRIM(RTRIM(UPPER(t.tipo_hab))) = LTRIM(RTRIM(UPPER(@tipo)))
		                        ORDER BY u.id_uhab ASC)
		                          
		IF ISNULL(@id_uhab, 0) = 0
		BEGIN
			SET @MensajeError = 'No está definido el uso de habitación ' 
				+ @tipo + ' (' + CAST(@adultos AS VARCHAR) + 'A ' + CAST(@ninos AS VARCHAR) + 'N) en Seven Front Desk'
			GOTO ERROR
		END
	
		INSERT INTO ORBELRES
		(
			id_rese, id_uhab, cantidad, adultos, ninos, precio, impuesto, descuento
		)
		VALUES
		(
			@id_rese, @id_uhab, @cantidad, @adultos, @ninos, @precio, @impuesto, @descuento
		)

		SET @id_lres = @@IDENTITY
	
	END

	SELECT @id_lres AS Id
	
	RETURN

	ERROR:
		RAISERROR (@MensajeError, 16, 1)

END
