You need to sign in to do that
Don't have an account?

stopping trigger helper class firing twice
i have a trigger and trigger helper class to create opportunity on contact after insert and afetr update. it works great but if i edit contact record it creates opportunity again
i have created recursive class below
how do i write into trigger helper class or trigger or both to run the recursive class? i'm trying to use if(checkRecursive.runOnce()) but i dont know where to add it?
part of thehelper class below:
i have created recursive class below
how do i write into trigger helper class or trigger or both to run the recursive class? i'm trying to use if(checkRecursive.runOnce()) but i dont know where to add it?
public Class checkRecursive{ private static boolean run = true; public static boolean runOnce(){ if(run){ run=false; return true; }else{ return run; } } }
trigger easycontacttrigger on Contact (before insert, after insert, before update, after update, before delete, after delete, after undelete){ if(Trigger.isUpdate && Trigger.isAfter){ easycontacttriggerhelper.sellercon(Trigger.new); easycontacttriggerhelper.buyerconConveyancy(Trigger.new); easycontacttriggerhelper.buyerconMortgage(Trigger.new); easycontacttriggerhelper.buyerconhomebuyerreport(Trigger.new); easycontacttriggerhelper.buyerconutilityswitchgas(Trigger.new); easycontacttriggerhelper.buyerconutilityswitchwater(Trigger.new); easycontacttriggerhelper.buyerconutilityswitchelec(Trigger.new); easycontacttriggerhelper.buyerconremovals(Trigger.new); easycontacttriggerhelper.buyercongassafetycheck(Trigger.new); easycontacttriggerhelper.buyerconpattest(Trigger.new); easycontacttriggerhelper.buyerconaffiliates(Trigger.new); } else if(Trigger.isinsert && Trigger.isafter){ easycontacttriggerhelper.sellercon(Trigger.new); easycontacttriggerhelper.buyerconConveyancy(Trigger.new); easycontacttriggerhelper.buyerconMortgage(Trigger.new); easycontacttriggerhelper.buyerconhomebuyerreport(Trigger.new); easycontacttriggerhelper.buyerconutilityswitchgas(Trigger.new); easycontacttriggerhelper.buyerconutilityswitchwater(Trigger.new); easycontacttriggerhelper.buyerconutilityswitchelec(Trigger.new); easycontacttriggerhelper.buyerconremovals(Trigger.new); easycontacttriggerhelper.buyercongassafetycheck(Trigger.new); easycontacttriggerhelper.buyerconpattest(Trigger.new); easycontacttriggerhelper.buyerconaffiliates(Trigger.new); } if(Trigger.isinsert && Trigger.isbefore){ easycontacttriggerhelper.contactuserfields(Trigger.new); } if(Trigger.isupdate && Trigger.isbefore){ easycontacttriggerhelper.contactuserfields(Trigger.new); } }
part of thehelper class below:
public static void sellercon(list<Contact> cons) { list<Easy_Opportunity__c> opplist = new list <Easy_Opportunity__c>(); recordtype[] tt = [Select r.Id, r.SobjectType, r.Name From RecordType r where sobjecttype ='Easy_Opportunity__c' and Name = 'Residential Sales']; for(Contact con : cons){ if( con.Stage__c == 'Lead' && con.contacttype__c != null && con.contacttype__C.contains('Seller' ) ){ Easy_Opportunity__c newopp = new Easy_Opportunity__c (); newopp.ownerid = con.allocated_user__c; newopp.name = 'Market Appraisal'; newopp.account_name__c = con.accountid; newopp.CurrencyIsoCode = con.currencyisocode; newopp.stage__c = 'New'; newopp.recordtypeid = tt[0].Id; newopp.Contact_Name__c = con.id; newopp.Close_Date__c = Date.today().addDays(2); opplist.add(newopp); insert opplist; List<Product__c> Pd = (List<Product__c>) System.Json.deserialize('[{"attributes":{"type":"Product__c"},"Recordtype.name":"Residential Sales","Name":"Market Appraisal","Sale_Price__c":"111.00"}]', List<Product__c>.class); for (Product__c eachProd : Pd) eachProd.Easy_Opportunity__c = opplist[0].id; insert Pd; } } }
now somehow i need to close off trigger by
but i dont know where to write this
http://amitsalesforce.blogspot.in/2015/03/how-to-stop-recursive-trigger-in.html
Apex Class with Static Variable Trigger Code Please let us know if this will help you