﻿SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

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

CREATE PROCEDURE [dbo].[sp_GetJsonForMobileTanuloLista]
	@tanarId INT,
	@foglalkozasId INT = NULL
AS
BEGIN
SET NOCOUNT ON;	

	SELECT 
		osztalycsoport.ID AS        'osztalycsoportId'
		,osztalycsoport.C_NEV AS    'osztalycsoportNev'
		,tantargy.ID AS             'tantargyId'
		,tantargy.C_NEV AS          'tantargyNev'
		,dic.C_NAME AS				'tantargyKategoria'
		,'tanulok' = 
			(
				SELECT 
						tanulo.ID AS 'tanuloid'
						,tanulo.C_NYOMTATASINEV AS 'tanuloNev'
						,tanulo.C_ANYJANEVE AS 'tanuloAnyjaNev'
						,tanulo.C_SZULETESIDATUM AS 'tanuloSzuletesiDatum'
						,'ertekelesek' = 
						(
							SELECT
								 te.ID AS 'Id'
								,te.C_ERTEKELESOSZTALYZATID AS 'ertekelesOsztalyzatEnumId'
								,te.C_ERTEKELESSZAZALEK AS 'ertekelesSzazalek'
								,ISNULL(te.C_ERTEKELESSZOVEG, '') AS 'ertekelesSzoveg'
								,ISNULL(te.C_ERTEKELESTEMA, '') AS 'ertekelesTema'
								,te.C_TIPUSID AS 'ertekelesTipusEnumId'
								,te.C_ERTEKELESMODID AS 'ertekelesModEnumId'
								,te.C_DATUM AS 'ertekelesDatum'
							FROM T_TANULOERTEKELES te
							WHERE
								te.C_TANULOID = tanulo.ID AND te.TOROLT = 'F' AND te.C_TANTARGYID = tantargy.ID
							FOR JSON PATH
						)
				FROM T_TANULOCSOPORT tcs 
					INNER JOIN T_FELHASZNALO tanulo ON tanulo.TOROLT = 'F' AND tcs.C_TANULOID = tanulo.ID
				WHERE
					tcs.TOROLT = 'F' AND tcs.C_OSZTALYCSOPORTID = osztalycsoport.ID AND
					tcs.C_BELEPESDATUM < GETDATE() AND (tcs.C_KILEPESDATUM > GETDATE() OR tcs.C_KILEPESDATUM IS NULL)
				FOR JSON PATH
			)
	FROM T_OSZTALYCSOPORT osztalycsoport
		JOIN T_FOGLALKOZAS foglalkozas ON foglalkozas.TOROLT = 'F' AND foglalkozas.C_OSZTALYCSOPORTID = osztalycsoport.ID
		JOIN T_TANTARGY tantargy ON tantargy.TOROLT = 'F' AND foglalkozas.C_TANTARGYID = tantargy.ID
		JOIN T_FELHASZNALO felhasznalo ON felhasznalo.TOROLT = 'F' AND foglalkozas.C_TANARID = felhasznalo.ID
		JOIN T_DICTIONARYITEMBASE dic on dic.ID = tantargy.C_TARGYKATEGORIA AND dic.C_TANEVID = tantargy.C_TANEVID AND dic.C_INTEZMENYID = tantargy.C_INTEZMENYID
	WHERE
		osztalycsoport.TOROLT = 'F' AND
		felhasznalo.ID = @tanarId AND
		((foglalkozas.ID = @foglalkozasId) OR (@foglalkozasId IS NULL))
	FOR JSON PATH

END