USE [CDN_VIP_08]
GO
/****** Object:  Trigger [dbo].[Wymiana_danych_insert_trigger]    Script Date: 10/14/2013 23:43:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
alter TRIGGER [dbo].[Wymiana_danych_insert_trigger] ON [dbo].[Wymiana_danych] FOR INSERT AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for trigger here    
    declare @NazwaObiektu NVARCHAR(40);
    declare @ObiektId int;
	declare @SubObiektId int;

    
    select @ObiektId=i.Id_obiektu,
		   @NazwaObiektu=i.Typ_obiektu
	from inserted i;	  
      
	BEGIN TRANSACTION
	  -- Produkt
	  if @NazwaObiektu = 'PRODUKT'  
	  BEGIN
			EXEC dbo.s4rProduct @ObiektId;
	  END;
	  if @NazwaObiektu = 'CENNIK'  
	  BEGIN
			EXEC dbo.s4rProduct @ObiektId;
	  END;

	  -- klient
	  if @NazwaObiektu = 'KONTRAHENT'  
	  BEGIN
			EXEC dbo.s4rKlient @ObiektId;
	  END;

	  -- faktury
	  if @NazwaObiektu = 'FAKTURA'  
	  BEGIN
			EXEC dbo.s4rNaleznosc @ObiektId;
	  END;
	  
	  if @NazwaObiektu = 'KOREKTA'  
	  BEGIN
		-- znajdz fakturę do której korekta jest wystawiona i ją odswierz
	  	Select @SubObiektId = TrN_TrNID
			FROM CDN.TraNag WHERE TrN_ZwrId = @ObiektId;
		EXEC dbo.s4rNaleznosc @SubObiektId;
	  END;

	  if @NazwaObiektu = 'ROZLICZONA'  
	  BEGIN
		EXEC dbo.s4rRozliczenie @ObiektId;
	  END;

	  -- MM


      --delete from dbo.Wymiana_danych
	  --where Id_obiektu = @ObiektId	
	  
    IF @@Error <> 0
		ROLLBACK TRAN
    ELSE
        COMMIT TRAN			     	      
END
