-- =============================================
-- Description:	<Előszedjük a tanuló osztályát(Jó lenne a jövőben ezt használni egységesen, ezért ésszerűen ezt ki lehet egészíteni, egyelőre csak azzal tér vissza, ami épp most kell)>
-- =============================================

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

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

CREATE FUNCTION [dbo].[fnGetTanuloOsztaly](
	 @pTanuloId			INT
	,@pDatum			DATE = NULL
)
RETURNS @ResultTable TABLE(
	 ID					INT
	,EvfolyamTipusId	INT
)
AS
BEGIN

	IF @pDatum IS NULL
		SET @pDatum = CONVERT(DATE, GETDATE())

	INSERT @ResultTable
	SELECT TOP 1
		 OsztalyCsoport.ID					ID
		,OsztalyCsoport.C_EVFOLYAMTIPUSA	EvfolyamTipusId
	FROM
		T_TANULOCSOPORT_OSSZES TanuloCsoport
	INNER JOIN
		T_OSZTALY_OSSZES Osztaly ON
				Osztaly.ID					= TanuloCsoport.C_OSZTALYCSOPORTID
			AND	Osztaly.TOROLT				= 'F'
	INNER JOIN
		T_OSZTALYCSOPORT_OSSZES OsztalyCsoport ON
				OsztalyCsoport.ID			= Osztaly.ID
			AND	OsztalyCsoport.TOROLT		= 'F'
	WHERE
			TanuloCsoport.C_TANULOID		= @pTanuloId
		AND	TanuloCsoport.TOROLT			= 'F'
		--TODO: Aktuális tanév első napja előtt és utolsó napja után valszeg nem lesz jó!
		AND TanuloCsoport.C_BELEPESDATUM <= @pDatum
		AND (TanuloCsoport.C_KILEPESDATUM IS NULL OR 
			 TanuloCsoport.C_KILEPESDATUM > @pDatum)
	
	RETURN

END


GO

