CREATE TRIGGER [dbo].[TUH_Mojodi_Anbar] ON [dbo].[Havaleh]
FOR  Update
AS 
Declare @Sender varchar(8)
Declare @Reciver varchar(8)
Declare @KQtyIns money
Declare @KQtyDel Money
Declare @KCode varchar(20)
Declare @IdHavaleh Bigint
Declare @Tot_kharid Money
Declare @Tot_Forosh Money
Declare @Tot_Omdeh Money


IF Update(K_Qty1) Or UPDATE(Price_Kharid) Or UPDATE(Price_Forosh) Or UPDATE(Price_Omdeh)
Begin
 Declare Cursor_Insert Cursor For
 Select  Inserted.Sender, Inserted.Reciver, Inserted.K_Code, Inserted.K_Qty1, Deleted.K_Qty1  From Inserted
  Inner Join Deleted On Inserted.K_Code = Deleted.K_Code And Inserted.Sender = Deleted.Sender
  Open Cursor_Insert
  Fetch Next From  Cursor_Insert into @Sender, @Reciver, @KCode, @KQtyIns, @KQtyDel 
  While @@Fetch_Status = 0 
  Begin
      IF Len(@Sender) = 3
          Update Anbar Set Mojodi = Mojodi - (@KQtyIns - @KQtyDel) , Exit_Fa = Exit_Fa +  (@KQtyIns - @KQtyDel) Where K_Code = @KCode And  A_Code  = @Sender
      IF Len(@Reciver) = 3
          Update Anbar Set Mojodi = Mojodi +   (@KQtyIns - @KQtyDel) , Resive_Fa = Resive_Fa +  (@KQtyIns - @KQtyDel) Where K_Code = @KCode And  A_Code  = @Reciver
     Fetch Next From  Cursor_Insert into @Sender, @Reciver, @KCode, @KQtyIns, @KQtyDel 
  End
  Close Cursor_Insert
  Deallocate Cursor_Insert


---------------------------------------------------------------------(     ѐ )--------------------------------------------------------------
   Select @IdHavaleh = Id_Havaleh  From Inserted 
   Update HeadH Set 
                Tot_Price_Kharid = T.Totkharid,  
                Tot_Price_Forosh =T.TotForosh,
                Tot_Price_Omdeh =T.TotOmdeh
  From HeadH  
  Inner Join 
   (
     Select Id_Havaleh , Sum(Round(K_Qty1 * Price_Kharid,0)) Totkharid , 
                                        Sum(Round(K_Qty1 * Price_Forosh,0))  TotForosh, 
                                        Sum(Round(K_Qty1 * Price_Omdeh,0)) TotOmdeh From Havaleh
     Where Id_Havaleh = @IdHavaleh 
     Group By Id_Havaleh
   ) As T
  On (T.Id_Havaleh = Headh.Id_Havaleh)
  
End
