DROP PROCEDURE  IF EXISTS uspUpdateTTFFoglalkozasTipusByCsoportTipus 
GO

CREATE PROCEDURE uspUpdateTTFFoglalkozasTipusByCsoportTipus
   @pTanevId INT
  ,@pCsoportTipusId INT
  ,@pIsBontott CHAR(1)
  ,@pCsoportId INT
  ,@pModifierId INT
AS
BEGIN
  SET NOCOUNT ON;

  UPDATE f
  SET C_FOGLALKOZASTIPUSA = csf.C_FOGLALKOZASTIPUSID
    ,MODIFIER = @pModifierId
    ,LASTCHANGED = GETDATE()
    ,SERIAL += 1
  FROM T_FOGLALKOZAS_OSSZES f
  INNER JOIN T_CSOPORT_OSSZES cs ON cs.ID = f.C_OSZTALYCSOPORTID AND cs.TOROLT = 'F'
  INNER JOIN T_CSOPORTTIPUS_FOGLALKOZASTIPU_OSSZES csf ON csf.C_CSOPORTTIPUSID = cs.C_TIPUSA AND csf.TOROLT = 'F'
    AND cs.C_ALTANEVID = csf.C_TANEVID
  WHERE cs.ID = @pCsoportId
    AND f.C_TANEVID = @pTanevId
    AND C_CSOPORTTIPUSID = @pCsoportTipusId
    AND (
      csf.C_CSOPORTBONTOTT = @pIsBontott
      OR (
        csf.C_CSOPORTBONTOTT IS NULL
        AND @pIsBontott = 'F'
        )
      )
      AND f.TOROLT = 'F'
END
GO


