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

CREATE PROCEDURE [dbo].[sp_CheckTanarOra]
	@tanarId		int,
	@start			datetime,
	@end			datetime,
	@IntezmenyId	int,
	@TanevId		int,
	@oraszam		int = null
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	
	DECLARE @CsakOrarendiOrak BIT = 0; --tan�r�k is
	DECLARE @IsNapirend BIT = 0; --csak �rarendi (csenget�si rendhez k�t�tt) �ra
	DECLARE @IdoszakKezdete DATETIME = CAST(@start AS DATE);
	DECLARE @IdoszakVege DATETIME = CAST(DATEADD(DAY, 1, @end) AS DATE);
	CREATE TABLE #OrarendTable (
		 Id int
		,ORARENDIID int
		,Datum datetime
		,Bontott char(1)
		,Hetirend int
		,HetNapja int
		,HetSorszam int
		,ErvenyessegKezdete datetime
		,ErvenyessegVege datetime
		,OraKezdete datetime
		,OraVege datetime
		,Oraszam int
		,TargyNev nvarchar(300)
		,TargyNevForMobile nvarchar(300)
		,TargykategoriaID int
		,Megtartott char(1)
		,CsengetesiRendOraID int
		,CsengetesiRendID int
		,MaxNapiOraszam int
		,OsztalyNev nvarchar(255)
		,TanevRendOsztalyCsoportId int
		,MegjelenesOka nvarchar(300)
		,TanarNev nvarchar(255)
		,TeremNev nvarchar(255)
		,TeremId int
		,OraTipus nvarchar(200)
		,Hianyzas char(1)
		,Keses char(1)
		,Ures char(1)
		,HelyettesitoTanarID int
		,HelyettesitoTanarNev nvarchar(255)
		,HelyettesitesId int
		,TanarID int
		,AdminAltalKiirt  char(1)
		,GroupId int
		,Tema nvarchar(max)
		,TantargyId int
		,OsztCsopId int
    ,INDEX IX01 CLUSTERED (OraTipus, OraKezdete, OraVege)
  )
	
	INSERT INTO #OrarendTable (
		Id,ORARENDIID,Datum,Bontott,Hetirend,HetNapja,HetSorszam,ErvenyessegKezdete,ErvenyessegVege,OraKezdete,OraVege,Oraszam,
		TargyNev,TargyNevForMobile,TargykategoriaID,Megtartott,CsengetesiRendOraID,CsengetesiRendID,MaxNapiOraszam,OsztalyNev,TanevRendOsztalyCsoportId,
		MegjelenesOka,TanarNev,TeremNev,TeremId,OraTipus,Hianyzas,Keses,Ures,HelyettesitoTanarID,HelyettesitoTanarNev,HelyettesitesId,TanarID,AdminAltalKiirt,GroupId,Tema,TantargyId,OsztCsopId)
	EXEC sp_GetOrarend 
     @pIntezmenyId = @IntezmenyId
    ,@pTanevId = @TanevId
    ,@pIdoszakKezdete = @IdoszakKezdete
    ,@pIdoszakVege = @IdoszakVege
    ,@pTanarId = @tanarId
    ,@pIsHelyettesitesNelkul  = 0
    ,@pOsztalyCsoportId  =  NULL
    ,@pTanuloId = NULL
    ,@pTantargyId  = NULL
    ,@pTeremId = NULL
    ,@pCsakOrarendiOrak  = @CsakOrarendiOrak
    ,@pIsNapirend = @IsNapirend
    
	IF(@oraszam IS NULL)
		BEGIN
			SELECT ORARENDIID AS C_ORARENDIORAID
			FROM #OrarendTable
			WHERE
				OraTipus = 'OrarendiOra'
				AND OraKezdete = @start
				AND OraVege = @end
		END
	ELSE
		BEGIN
			SELECT ORARENDIID AS C_ORARENDIORAID
			FROM #OrarendTable
			WHERE
				OraTipus = 'OrarendiOra'
				AND Oraszam = @oraszam
		END

END
