function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
NandiniNandini 

Trigger handler class method for After update or delete.

Hi Team,

Rollup summary for lookup.
We need to create only one method for After update and Delete operations or We need to Created seperate methods for both update and delete operations.
Scenario : 1
-----------------
     if(Trigger.isUpdate || Trigger.isDelete){
        if(Trigger.isAfter){
            if(AccountHandlerCls.firstRun){
                AccountHandlerCls.firstRun = false;
                AccountHandlerCls.rollupSum(Trigger.Old);
            }
        }
    }
	
Scenario : 2	
------------------------
	 if(Trigger.isUpdate){
        if(Trigger.isAfter){
            if(AccountHandlerCls.firstRun){
                AccountHandlerCls.firstRun = false;
                AccountHandlerCls.rollupSumUpdate(Trigger.Old);
            }
        }
    }
	 if(Trigger.isDelete){
        if(Trigger.isAfter){
            if(AccountHandlerCls.firstRun){
                AccountHandlerCls.firstRun = false;
                AccountHandlerCls.rollupSumDelete(Trigger.Old);
            }
        }
    }
Please let me know...
Thanks
Nandu.
 
NandiniNandini
Scenario 3:
-----------------------
if(AccountHandlerCls.firstRun){
        AccountHandlerCls.firstRun = false;
        if(Trigger.isInsert || Trigger.isUndelete || Trigger.isUpdate){
            if(Trigger.isAfter){
                 AccountHandlerCls.rollupNew(Trigger.New);
            }
            
        }
        if(Trigger.isDelete || Trigger.isUpdate){
            if(Trigger.isAfter){
                 AccountHandlerCls.rollupUpdate(Trigger.Old);
            }
            
        }
}
Please let me know....

Thanks,
Nandu.
 
Raj VakatiRaj Vakati
I will recoment to have two speare methods so we can reuse them 

try this
 
if(AccountHandlerCls.firstRun){
       
        if(Trigger.isInsert || Trigger.isUndelete || Trigger.isUpdate){
            if(Trigger.isAfter){
                 AccountHandlerCls.rollupNew(Trigger.New);
            }
            
        }
        if(Trigger.isDelete || Trigger.isUpdate){
            if(Trigger.isAfter){
                 AccountHandlerCls.rollupUpdate(Trigger.Old);
            }
            
        }
		 AccountHandlerCls.firstRun = false;
}

 
NandiniNandini
Hi Raj Vakati,

Thanks for your reply.

Thanks,
Nandu
Ajay K DubediAjay K Dubedi
Hi Nandu, 

Below code can fullfill your requirements. Hope this will work for you.

trigger newAccountTrigger on Account (after insert , after update, after delete , after undelete) {

    if(trigger.isAfter && (trigger.isInsert || trigger.isUpdate || trigger.isUndelete)){
         if(AccountHandlerCls.firstRun){
         AccountHandlerCls.firstRun = false;
         AccountHandlerCls.rollupSumUpdate(Trigger.New);
    }
    }

    if(Trigger.isDelete)
    {
     if(AccountHandlerCls.firstRun){
        AccountHandlerCls.firstRun = false;
        AccountHandlerCls.rollupSumDelete(Trigger.old);
    }
    }
}

Please mark this as best answer if this solves your problem.

Thank you
Ajay Dubedi