-- =============================================
-- Description:	<A tantárgyfelosztás módosításával az órarendi órák, a tanítási órák és az értékelések átállítása is történjen meg>
-- =============================================

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

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

CREATE PROCEDURE [dbo].[sp_UpdateTantargyfelosztasVisszamenoleges]
	 @pIntezmenyId				INT
	,@pTanevId					INT
	,@pUserId					INT
	,@pEredetiTanarId			INT
	,@pModosultTanarId			INT
	,@pEredetiTantargyId		INT
	,@pModosultTantargyId		INT
	,@pEredetiOsztalyCsoportId	INT
	,@pModosultOsztalyCsoportId	INT

AS
BEGIN

    BEGIN TRY
    SET NOCOUNT ON
    SET XACT_ABORT ON

    BEGIN TRANSACTION
	
	UPDATE T_TANITASIORA SET
		 C_TANTARGYID 			=	@pModosultTantargyId
		,C_OSZTALYCSOPORTID 	=	@pModosultOsztalyCsoportId
		,C_TANARID 				=	@pModosultTanarId
		,SERIAL					+=	1
		,LASTCHANGED			=   GETDATE()
		,MODIFIER				=   @pUserId
	FROM
		T_TANITASIORA
	WHERE
			C_INTEZMENYID 		= 	@pIntezmenyId
		AND C_TANEVID 			= 	@pTanevId
		AND C_TANTARGYID 		= 	@pEredetiTantargyId
		AND C_OSZTALYCSOPORTID	= 	@pEredetiOsztalyCsoportId
		AND C_TANARID			=   @pEredetiTanarId

	UPDATE T_TANULOERTEKELES SET
		 C_TANTARGYID 			=	@pModosultTantargyId
		,C_OSZTALYCSOPORTID 	=	@pModosultOsztalyCsoportId
		,C_ERTEKELOID 			=	@pModosultTanarId
		,SERIAL					+=  1
		,LASTCHANGED			=   GETDATE()
		,MODIFIER				=   @pUserId
	FROM
		T_TANULOERTEKELES
	WHERE
			C_INTEZMENYID 		= 	@pIntezmenyId
		AND C_TANEVID 			= 	@pTanevId
		AND C_TANTARGYID 		= 	@pEredetiTantargyId
		AND C_OSZTALYCSOPORTID	= 	@pEredetiOsztalyCsoportId
		AND C_ERTEKELOID		=   @pEredetiTanarId

	UPDATE T_TANMENET SET
		 C_TANTARGYID 			=	@pModosultTantargyId
		,C_OSZTALYCSOPORTID 	=	@pModosultOsztalyCsoportId
		,C_FELTOLTOID 			=	@pModosultTanarId
		,SERIAL					+=  1
		,LASTCHANGED			=   GETDATE()
		,MODIFIER				=   @pUserId
	FROM
		T_TANMENET
	WHERE
			C_INTEZMENYID 		= 	@pIntezmenyId
		AND C_TANEVID 			= 	@pTanevId
		AND C_TANTARGYID 		= 	@pEredetiTantargyId
		AND C_OSZTALYCSOPORTID	= 	@pEredetiOsztalyCsoportId
		AND C_FELTOLTOID		=   @pEredetiTanarId
   

    COMMIT TRANSACTION
       END TRY
       BEGIN CATCH
       IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0 
             ROLLBACK TRAN;
             THROW
       END CATCH
		
END


GO

