/*
* @author: Sumitkumar Shingavi (sumi.shingavi@gmail.com)
* @created_date: 04/18/2015
* @description: Trigger on the Account object - For All DML Events
*/
trigger AccountTrigger on Account (before insert, before update, before delete,
after insert, after update, after delete, after undelete) {
Trigger_Controls__c CS = Trigger_Controls__c.getOrgDefaults();
if(CS.Account_Trigger__c) {
AccountTriggerHandler handler = new AccountTriggerHandler();
//Checking if isBefore
if(Trigger.isBefore) {
if(Trigger.isInsert) {
handler.OnBeforeInsert(Trigger.new, Trigger.NewMap);
}
if(Trigger.isUpdate) {
handler.OnBeforeUpdate(Trigger.new, Trigger.NewMap, Trigger.oldMap);
}
if(Trigger.isDelete) {
handler.OnBeforeDelete(Trigger.old,Trigger.oldMap);
}
}
//Checking if isAfter
if(Trigger.isAfter) {
if(Trigger.isInsert) {
handler.OnAfterInsert(Trigger.new, Trigger.NewMap);
}
if(Trigger.isUpdate) {
handler.OnAfterUpdate(Trigger.new, Trigger.NewMap, Trigger.oldMap);
}
if(Trigger.isDelete) {
handler.OnAfterDelete(Trigger.old,Trigger.oldMap);
}
else if(Trigger.isUndelete) {
handler.OnAfterDelete(Trigger.old,Trigger.oldMap);
}
}
}
}