﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

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

-- =============================================
-- Description:	<Ellenőrizzuk, hogy a tanulónak van-e már egyszer adható tanuló értékelése, ha nincs akkor true, ha van akkor false>
-- =============================================
CREATE PROCEDURE [dbo].[sp_CheckTanuloEgyszerAdhatoTanuloErtekelesValidation]
	 @pId		INT
	,@pTipusId	INT
AS
BEGIN

	-- SET NOCOUNT ON added to prevent extra result sets frominterfering with SELECT statements.
	SET NOCOUNT ON;

	DECLARE @TanuloId	INT
	DECLARE @TantargyId	INT

	SELECT
		 @TanuloId = T_TANULOERTEKELES_OSSZES.C_TANULOID
		,@TantargyId = T_TANULOERTEKELES_OSSZES.C_TANTARGYID
	FROM
		T_TANULOERTEKELES_OSSZES
	WHERE
		T_TANULOERTEKELES_OSSZES.ID = @pId

	SET @TanuloId = (
		SELECT
			T_TANULOERTEKELES_OSSZES.C_TANULOID
		FROM
			T_TANULOERTEKELES_OSSZES
		WHERE
			T_TANULOERTEKELES_OSSZES.ID = @pId
	)

	IF EXISTS (
		SELECT 1
		FROM
			T_TANULOERTEKELES_OSSZES
		WHERE
				T_TANULOERTEKELES_OSSZES.TOROLT = 'F'
			AND T_TANULOERTEKELES_OSSZES.C_TIPUSID = @pTipusId
			AND T_TANULOERTEKELES_OSSZES.C_TANULOID = @TanuloId
			AND ((@TantargyId IS NOT NULL AND T_TANULOERTEKELES_OSSZES.C_TANTARGYID = @TantargyId) OR (@TantargyId IS NULL AND T_TANULOERTEKELES_OSSZES.C_TANTARGYID IS NULL))
			AND T_TANULOERTEKELES_OSSZES.ID != @pId
	)
        SELECT 1
    ELSE
        SELECT 0

END


GO

