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
Salesforce Admin 110Salesforce Admin 110 

convert trigger to class

i need to convert this trigger into class methos so i can call from trigger, i have only done this a couple of times so need some help
trigger oppclosedate on Easy_Opportunity__c (before update) {

 


    
    
for (easy_opportunity__c opp : trigger.new)
    
    
    if (opp.Stage__c == 'Closed Won' || opp.Stage__c == 'Closed Lost')
        {
          opp.Close_Date__c= system.today();
         }
    
    
    
    
    
}

 
Jason Curtis NBSFDGJason Curtis NBSFDG
Hi, there is a lot of good information about creating a trigger framework, take a look at the following link, there are some opensource tools to help as well:
https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigger_Best_Practices
 
JeffreyStevensJeffreyStevens
Create a class file called - like helperEasyOpp - put code in it like this...
 
public class HandlerEasyOpp{

  public void updateClosedDate(list<Easy_Opportunity__c> triggeredEasyOpps) {
    for(easy_opportunity__c easyOpp :triggeredEasyOpps) {
      if(easyOpp.Stage__c == 'Closed Won' || easyOpp.Stage__c == 'Closed Lost') {
        easyOpp.Close_Date__c = system.today();
      }
    }
  }

}

Change your trigger to look like this...
trigger oppCloseDate on Easy_Opportunity__c (before update) {

  HandlerEasyOpp.updateClosedDate(trigger.new);

}

the triggered records will be passed to the helper class, and as it updates the list that came in - the changes will be committed at the close of the trigger. 
 
Salesforce Admin 110Salesforce Admin 110
ive truied to follow and come up with this class,  but i can't save as there is error - unexpected token 'override':
public class oppclosedate extends triggerhandler{

  public  oppclosedate() {}
  
    protected void override beforeUpdate() {
    oppclosedate();
    }
    private void oppclosedate(List){
        for (easy_opportunity__c opp : (List<easy_opportunity__c>) trigger.new)
    
    
    if (opp.Stage__c == 'Closed Won' || opp.Stage__c == 'Closed Lost')
        {
          opp.Close_Date__c= system.today();
         }
        
    }
    
    
}