• Neck
  • NEWBIE
  • 10 Points
  • Member since 2021

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 3
    Replies
Good day. In my first tab the if statement is not running while in the second tab the if statement runs well.
 
FIRST TAB  
Trigger CaseUpdate on Case(Before Insert, Before Update, Before Delete, After Insert,
                             After Update, After Delete, After Undelete){
    if(Trigger.isAfter){
        if(Trigger.isUpdate){
            Set<Id> newIds = new Set<Id>();
            Set<Id> oldIds = new Set<Id>();
            for(Case newLooper : Trigger.new){
                newIds.add(newLooper.AccountId);
            }
            for(Case oldLooper : Trigger.old){
                oldIds.add(oldLooper.AccountId);
            }
            List<Case> newList = new List<Case>([Select Id, CaseNumber, Status from Case where AccountId=:newIds]);
            List<Case> oldList = new List<Case>([Select Id, Status from Case where AccountId=:oldIds]);
            List<Account> accList = new List<Account>([Select Id, Last_Updated_Cases__c from Account where Id=:newIds]);
            Case newCase = new Case();
            Case oldCase = new Case();
            Account accountObject = new Account();
            for(Case oldCaseLooper : oldList){
                oldCase = oldCaseLooper;
            }
                //System.debug('ID 1: ' + oldCase.Id);
            for(Account accountLooper : accList){
                accountObject = accountLooper;
            }
                //System.debug('ID 2: ' + accountObject.Id);
            for(Case newCaseLooper : newList){
                newCase = newCaseLooper;
                if(oldCase.Id == newCase.Id &&
                 oldCase.Status != newCase.Status){
                    accountObject.Last_Updated_Cases__c = newCase.CaseNumber;
                    update accountObject;
                }
            }
        }
    }                                
}
 
 
SECOND TAB
Trigger CaseUpdate on Case(Before Insert, Before Update, Before Delete, After Insert,
                             After Update, After Delete, After Undelete){
    if(Trigger.isAfter){
        if(Trigger.isUpdate){
            Set<Id> caseId = new Set<Id>();    
       
        for(Case caseIdLooper : Trigger.new){
            caseId.add(caseIdLooper.AccountId);
        }      
     
        //Calling the Account Obj to get the Last updated cases field
        List<Account> accountObject = new List<Account>([Select Id, Last_Updated_Cases__c from Account
                                                       where Id=:caseId]);
       
        Case oldListOfcase = new Case();
        Case newListOfCase = new Case();
        Account accObject = new Account();
       
        for(Account accLooper : accountObject){
            accObject = accLooper;
        }
       
        for(Case oldCaseLooper : Trigger.old){
            oldListOfCase = oldCaseLooper;
        }
        System.debug('ID: ' + oldListOfCase.Id);
        for(Case newCaseLooper : Trigger.new){
            newListOfCase = newCaseLooper;
            if(oldListOfCase.Id == newListOfCase.Id &&
               oldListOfCase.Status != newListOfCase.Status){
               accObject.Last_Updated_Cases__c = newListOfCase.CaseNumber;
                   update accObject;
            }
        }
    }
  }                                
}
  • October 18, 2021
  • Like
  • 0
Good day. In my first tab the if statement is not running while in the second tab the if statement runs well.
 
FIRST TAB  
Trigger CaseUpdate on Case(Before Insert, Before Update, Before Delete, After Insert,
                             After Update, After Delete, After Undelete){
    if(Trigger.isAfter){
        if(Trigger.isUpdate){
            Set<Id> newIds = new Set<Id>();
            Set<Id> oldIds = new Set<Id>();
            for(Case newLooper : Trigger.new){
                newIds.add(newLooper.AccountId);
            }
            for(Case oldLooper : Trigger.old){
                oldIds.add(oldLooper.AccountId);
            }
            List<Case> newList = new List<Case>([Select Id, CaseNumber, Status from Case where AccountId=:newIds]);
            List<Case> oldList = new List<Case>([Select Id, Status from Case where AccountId=:oldIds]);
            List<Account> accList = new List<Account>([Select Id, Last_Updated_Cases__c from Account where Id=:newIds]);
            Case newCase = new Case();
            Case oldCase = new Case();
            Account accountObject = new Account();
            for(Case oldCaseLooper : oldList){
                oldCase = oldCaseLooper;
            }
                //System.debug('ID 1: ' + oldCase.Id);
            for(Account accountLooper : accList){
                accountObject = accountLooper;
            }
                //System.debug('ID 2: ' + accountObject.Id);
            for(Case newCaseLooper : newList){
                newCase = newCaseLooper;
                if(oldCase.Id == newCase.Id &&
                 oldCase.Status != newCase.Status){
                    accountObject.Last_Updated_Cases__c = newCase.CaseNumber;
                    update accountObject;
                }
            }
        }
    }                                
}
 
 
SECOND TAB
Trigger CaseUpdate on Case(Before Insert, Before Update, Before Delete, After Insert,
                             After Update, After Delete, After Undelete){
    if(Trigger.isAfter){
        if(Trigger.isUpdate){
            Set<Id> caseId = new Set<Id>();    
       
        for(Case caseIdLooper : Trigger.new){
            caseId.add(caseIdLooper.AccountId);
        }      
     
        //Calling the Account Obj to get the Last updated cases field
        List<Account> accountObject = new List<Account>([Select Id, Last_Updated_Cases__c from Account
                                                       where Id=:caseId]);
       
        Case oldListOfcase = new Case();
        Case newListOfCase = new Case();
        Account accObject = new Account();
       
        for(Account accLooper : accountObject){
            accObject = accLooper;
        }
       
        for(Case oldCaseLooper : Trigger.old){
            oldListOfCase = oldCaseLooper;
        }
        System.debug('ID: ' + oldListOfCase.Id);
        for(Case newCaseLooper : Trigger.new){
            newListOfCase = newCaseLooper;
            if(oldListOfCase.Id == newListOfCase.Id &&
               oldListOfCase.Status != newListOfCase.Status){
               accObject.Last_Updated_Cases__c = newListOfCase.CaseNumber;
                   update accObject;
            }
        }
    }
  }                                
}
  • October 18, 2021
  • Like
  • 0