+ Start a Discussion
Alex Waddell 12Alex Waddell 12 

Add an Or condition to a OldAccount Map

Hello everyone,

I have a trigger i am in the process of writing that works fine, i just want to add the stipulation that if the Fuzion_Status__c is changed from "Initial Phone Call' to "Closed" I don't want the trigger to fire and create the Case
 
trigger caseCheck on Account (After update) {
        //Get all account and cases.
  

  List<Account> allAccounts = new List<Account>([Select id,Fuzion_Status__c,(select id from cases where status in('New','On Service')) from account where id in :Trigger.new]);
   List<Case> newCases = new List<Case>();
    
    for(Account myAccount :allAccounts){
    Account oldAccount = trigger.oldMap.get(myAccount.id);
    if(oldAccount.Fuzion_Status__c == 'Initial Phone call' && myAccount.Fuzion_Status__c != 'Initial Phone call'){
        if(myAccount.cases.isEmpty()){
            Case c = new Case();
            c.Accountid = myAccount.Id;
            c.Type = 'ICM';
            c.Origin = 'SHIP';
            c.Division__c = 'Case Management';
            c.Status = 'New';
            c.RecordTypeId = '01236000000OJLq';
            newCases.add(c); 
        }
     }
        
    }
    if(!NewCases.isEmpty()){
        insert newCases;
    }
 
}

Right now i have this Map that checks to see if the Fuzion Status has been changed to any of the other pick list values, i want it to still fire on any of the picklist values EXCEPT when it is changed to "Closed"
 
if(oldAccount.Fuzion_Status__c == 'Initial Phone call' && myAccount.Fuzion_Status__c != 'Initial Phone call')

 
Daniel Zeidler (DZ)Daniel Zeidler (DZ)
Could you just change that line to the following?
 
if(oldAccount.Fuzion_Status__c == 'Initial Phone call' && myAccount.Fuzion_Status__c != 'Initial Phone call' && myAccount.Fuzion_Statuc__c != 'Closed')