﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

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

-- =============================================
-- Description:	<Megvizsgáljuk, hogy a módosítandó értékelés tanulójának az adott időpontra van-e tanuló mentessége>
-- =============================================
CREATE PROCEDURE [dbo].[sp_ValidateTanuloTanuloMenessegToErtekeles]
	 @pErtekelesId		INT
	,@pErtekelesDatum	DATE
AS
BEGIN

	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	
	DECLARE @TanuloId AS INT
	DECLARE @TantargyId AS INT

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

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

	SELECT 
		 felhasznalo.ID								ID
		,felhasznalo.C_NYOMTATASINEV				Nev
		,tanuloMentesseg.C_ERTEKELESMENTESITES		ErtkelesMentesseg
		,tanuloMentesseg.C_SZOVEGESENERTEKELHETO	SzovegesenErtekelheto
	FROM 
		T_FELHASZNALO felhasznalo
	LEFT JOIN 
		T_TANULOMENTESSEG tanuloMentesseg ON 
				tanuloMentesseg.C_TANULOID = felhasznalo.ID
			AND tanuloMentesseg.TOROLT = 'F'
			AND tanuloMentesseg.C_TANTARGYID = @TantargyId
			AND (tanuloMentesseg.C_KEZDETE IS NULL OR tanuloMentesseg.C_KEZDETE <= @pErtekelesDatum)
			AND	(tanuloMentesseg.C_VEGE IS NULL OR tanuloMentesseg.C_VEGE >= @pErtekelesDatum)
	WHERE 
			felhasznalo.ID = @TanuloId
		AND felhasznalo.TOROLT = 'F'

END


GO

