top of page

Trigger should not contain logic, it should delegate to handler class

Eg:

trigger trgOp on Opportunity (before delete, before insert, before update, after delete, after insert, after update){

OpTrgHandler opphdler = new OpTrgHandler();

if(Trigger.isBefore){

if(Trigger.isInsert){

opphdler.beforeInsert(Trigger.New);

}else if(Trigger.isUpdate){

opphdler.beforeUpdate(Trigger.New, Trigger.Old);

}else if(Trigger.isDelete){

opphdler.beforeDelete(Trigger.Old);

}

}else if (Trigger.isAfter){

if(Trigger.isInsert){

opphdler.afterInsert(Trigger.New);

}

}else if(Trigger.isUpdate){

opphdler.afterUpdate(Trigger.New, Trigger.Old);

}


}


public class OpTrgHandler{

public void beforeInsert(List<sObject> so){

List<Opportunity> opp = (List<Opportunity>)so;

//add logic code

}


public void afterInsert(List<sObject> so){

List<Opportunity> opp = (List<Opportunity>)so;

//add logic code

}


public void beforeUpdate(List<sObject> so, List<sObject> soOld){

List<Opportunity> opp = (List<Opportunity>)so;

List<Opportunity> oldOpp = (List<Opportunity>)soOld;

//add logic code

}


//handlers for other events





}

Recent Posts

See All

Comments


Post: Blog2_Post

©2020 by SalesforceDemystified. Proudly created with Wix.com

bottom of page