DROP PROCEDURE IF EXISTS dev.uspIntezmenyRemove
GO

CREATE PROCEDURE dev.uspIntezmenyRemove
   @pIntezmenyIds nvarchar(255) -- törlendő intézmények ID-ja vesszővel elválasztva, NULL esetén 
  ,@pIsArchivTanevTorles bit = 0 -- Ha 1, akkor nem a teljes intézmény törlődik, csak az archivált tanévek adatai
  ,@pDebugMode bit = 0  -- Ha 1, akkor kiírja a futtatott scriptet is
AS
BEGIN
  SET NOCOUNT ON;
  DECLARE
    @message nvarchar(MAX)

  SELECT @message = ISNULL(@message + ', ', '') + ss.value  
  FROM T_INTEZMENY i 
    INNER JOIN STRING_SPLIT(@pIntezmenyIds, ',') ss ON LTRIM(RTRIM(ss.value)) = i.ID
  WHERE i.TOROLT = 'F'

  IF @message IS NOT NULL BEGIN
    PRINT 'Az alábbi intézmények nincsenek töröltre állítva: ' + @message
    RETURN
  END

  -- ============================================================== --
  -- CONSTRAINT, TRIGGER   kikapcsolás                             --
  -- ============================================================== --   
  EXEC dev.uspIntezmenyDisableObjects 0, 1, 1

  EXEC dev.uspIntezmenyRemoveDelete
     @pIntezmenyIds = @pIntezmenyIds
    ,@pIsArchivTanevTorles = @pIsArchivTanevTorles
    ,@pDebugMode = @pDebugMode

  -- ============================================================== --
  -- CONSTRAINT, TRIGGER   visszakapcsolás                          --
  -- ============================================================== --   
  EXEC dev.uspIntezmenyEnableObjects 0, 1, 1

END
GO

