You need to sign in to do that
Don't have an account?
Ramana123
The Highlighted lines Getting array index out of bound exception
and hoe to update map last line
public class CampaignAccountHelper {
public void updateAndInsertOpportunity(List<CampaignAccount__c> campaignList)
{
List<CampaignAccount__c> records = new List<CampaignAccount__c>();
Map<Id,List<Opportunity>> mapList = new Map<Id,List<Opportunity>>();
List<Opportunity> newOpp = new List<Opportunity>();
For(Account acc :[SELECT id,(SELECT id,Name,CampaignCount__c FROM Opportunities)FROM Account]){
mapList.put(acc.Id,acc.Opportunities);
}
System.debug('aaaaaaaaaaaaaa'+mapList);
for(CampaignAccount__c camp :campaignList){
if(camp.Account__c != NULL){
records.add(camp);
}
}
Integer i = 0;
System.debug('bbbbbbbbbbbb'+records);
if(mapList.size() > 0)
{
for(CampaignAccount__c acc : records){
if(mapList.containskey(acc.Account__c) && acc.Name == mapList.get(acc.Account__c)[i].Name)
{
mapList.get(acc.Account__c)[i].CampaignCount__c = mapList.get(acc.Account__c)[i].CampaignCount__c + 1 ;
}
i = i+1;
}
}
update mapList.values();
}
}
How to solve the array index out of bound exception .
The Highlighted lines Getting array index out of bound exception
and hoe to update map last line
public class CampaignAccountHelper {
public void updateAndInsertOpportunity(List<CampaignAccount__c> campaignList)
{
List<CampaignAccount__c> records = new List<CampaignAccount__c>();
Map<Id,List<Opportunity>> mapList = new Map<Id,List<Opportunity>>();
List<Opportunity> newOpp = new List<Opportunity>();
For(Account acc :[SELECT id,(SELECT id,Name,CampaignCount__c FROM Opportunities)FROM Account]){
mapList.put(acc.Id,acc.Opportunities);
}
System.debug('aaaaaaaaaaaaaa'+mapList);
for(CampaignAccount__c camp :campaignList){
if(camp.Account__c != NULL){
records.add(camp);
}
}
Integer i = 0;
System.debug('bbbbbbbbbbbb'+records);
if(mapList.size() > 0)
{
for(CampaignAccount__c acc : records){
if(mapList.containskey(acc.Account__c) && acc.Name == mapList.get(acc.Account__c)[i].Name)
{
mapList.get(acc.Account__c)[i].CampaignCount__c = mapList.get(acc.Account__c)[i].CampaignCount__c + 1 ;
}
i = i+1;
}
}
update mapList.values();
}
}
replace your main class with my class.
let me know if it helps you and mark it as best.
Thank you