﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF OBJECT_ID('[dbo].[sp_Check4TValidation]') IS NOT NULL
BEGIN
	DROP PROCEDURE [dbo].[sp_Check4TValidation]
END
GO

-- =============================================
-- Description:	<Ellenőrizzuk, hogy a megadott 4T alapján szerepel-e az adatbázisban>
-- =============================================
CREATE PROCEDURE [dbo].[sp_Check4TValidation]
	@pCheckValidationType			int,
	@pVezeteknev					nvarchar(255),
	@pUtonev						nvarchar(255),
	@pAnyjaNeve						nvarchar(255) = null,
	@pAnyjaVezeteknev				nvarchar(255) = null,
	@pAnyjaUtonev					nvarchar(255) = null,
	@pSzuletesiHely					nvarchar(255),
	@pSzuletesiDatum				datetime,
	@pTanevId						int = null,
	@pUserId						int = null,
	@pFelvetelStatuszaFelveve		int = null
AS
BEGIN
	SET NOCOUNT ON;
	
	IF (@pCheckValidationType = 1)			--Tanuló
		BEGIN
			IF (@pUserId != NULL)
				SELECT f.ID FROM T_FELHASZNALO_OSSZES f
					JOIN T_TANULO_OSSZES t on t.ID = f.ID
				WHERE
					f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
					AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum AND f.ID != @pUserId
					AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F'
			ELSE
				SELECT f.ID FROM T_FELHASZNALO_OSSZES f
					JOIN T_TANULO_OSSZES t on t.ID = f.ID
				WHERE
					f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
					AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum
					AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F'
		END
	ELSE IF (@pCheckValidationType = 2)		--Alkalmazott
		BEGIN
			IF (@pUserId != NULL)
				SELECT f.ID FROM T_FELHASZNALO_OSSZES f
					JOIN T_ALKALMAZOTT a on a.ID = f.ID
				WHERE
					f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
					AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum AND f.ID != @pUserId
					AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F'
			ELSE
				SELECT f.ID FROM T_FELHASZNALO_OSSZES f
					JOIN T_ALKALMAZOTT a on a.ID = f.ID
				WHERE
					f.C_VEZETEKNEV = @pVezeteknev AND f.C_UTONEV = @pUtonev AND f.C_ANYJANEVE = @pAnyjaNeve
					AND f.C_SZULETESIHELY = @pSzuletesiHely AND f.C_SZULETESIDATUM = @pSzuletesiDatum
					AND f.C_TANEVID = @pTanevId AND f.TOROLT = 'F'
		END
	ELSE IF (@pCheckValidationType = 3)		--Nebuló
		BEGIN
			IF EXISTS (SELECT 1 FROM T_NEBULO n
						WHERE
							n.C_TANULOCSALADINEVE = @pVezeteknev AND n.C_TANULOUTONEVE = @pUtonev
							AND n.C_EDESANYJASZULETESICSALADINEV = @pAnyjaVezeteknev AND n.C_EDESANYJASZULETESIUTONEVE = @pAnyjaUtonev
							AND n.C_SZULETESIHELY = @pSzuletesiHely AND n.C_SZULETESIIDO = @pSzuletesiDatum
							AND (@pUserId IS NULL OR ID != @pUserId) AND n.C_FELVETELSTATUSZA = @pFelvetelStatuszaFelveve AND n.TOROLT = 'F'
			)
			SELECT 1
		ELSE
			SELECT 0
		END

END