Comission rate object
CategoryRatesStart periodEnd periodhardware2.51/1/202112/31/2021Software41/1/202112/31/2021SMA31/1/202112/31/2021hardware2.51/1/202212/31/2022
based on "Commission_line.Category" and "Commission_line.closedate", I want to poulate the Commission_line.rate from the Rate value form the Commmission rate object. in this case, rate = 2.5. category falls within the date rangeHi,
I can writte trigger like this.
public class PopulateData{
public static void changeData(List<Commission_line__c> comList){
set<id> commissionRateSet=new set<id>();
for(Commission_line__c com:comList){
commissionRateSet.add(con.account__c);
}
List<Commission_rate__c> commissionRateList=new List<Commission_rate__c>([select id,Rate__c from Commission_rate__c where id in: commissionRateSet]);
List<Commission_line__c> CommissionlineList=new List<Commission_line__c>();
for(Commission_rate__c cmr:commissionRateList){
for(Commission_line__c com:comList){
if(cmr.id==com.account__c){
if(com.category__c=='hardware' && com.CloseDate__c==date.newinstance(2021, 4, 15)){
Commission_line__c comInstance=new Commission_line__c();
comInstance.id=com.id;
comInstance.Rate__c=cmr.Rate__c;
CommissionlineList.add(comInstance);
}
}
}
}
update CommissionlineList;
}
}
trigger
here is the case Commission_line__c is a child and Commission_rate__c is a parent.If it helps you please mark it as The Best Answer.trigger ContactTrigger on Commission_line__c (after undelete, before delete,After Insert,before insert,before update) {
if(trigger.isAfter && trigger.isInsert){
PopulateData.changeData(trigger.new);
}
Thank You