function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
CodeBeginnerCodeBeginner 

Hi i have a class in which im calling parentchildcheck and parentupdate method in another method. iam not sure why iam getting the errors at line 42 to 56. Can anyone help this poor guy

public class practicingclass {
   public static Map<Id,Opportunity> maptest = new map<Id,Opportunity>();
    public static list<Opportunity> opplist = new list<Opportunity>();
  public static map<Id,list<OpportunityChild__c>> parentchildmap = new map<Id,list<OpportunityChild__c>>();
    public Static void practicingMethod(){
        opplist =[select Name from Opportunity LIMIT 5];
        for(Opportunity opp : opplist){
            maptest.put(opp.Id, opp);
        }
        
       system.debug('maptestvalues ------'  + maptest);
    }
    
    public static void maptestingOpportunity(list<Opportunity> TEST){
        map<Id,list<OpportunityChild__c>> parentchildmap = new map<Id,list<OpportunityChild__c>>();
        system.debug('requireddata testing ' + TEST);
        list<Opportunity> requireddata = new list<Opportunity>();
        requireddata =[select id,Name from Opportunity WHERE Id IN :TEST];
        system.debug('=== data to process===' +requireddata);
        
        list<OpportunityChild__c> oppchild = new list<OpportunityChild__c>();
      oppchild =[select id,Name,Opportunity__c from OpportunityChild__c WHERE Opportunity__c IN :requireddata];
        system.debug('oppchilds'+ oppchild);
        
        for(OpportunityChild__c oppchild1 :oppchild){
            if(!parentchildmap.isEmpty() && parentchildmap.containsKey(oppchild1.Opportunity__c)){
                parentchildmap.get(oppchild1.Opportunity__c).add(oppchild1);
            }
            else {
                parentchildmap.put(oppchild1.Opportunity__c,new list<OpportunityChild__c>{oppchild1});
            }
            
        }
        system.debug('parentchildmap' +parentchildmap.values());
        Parentchildcheck();
        parentupdate();
    }
    Public static void Parentchildcheck(){
        Map<Id,OpportunityChild__c> REC = new Map<Id,OpportunityChild__c>();
        for(OpportunityChild__c RECo : [select id,Price__c from OpportunityChild__c WHERE Opportunity__c IN :parentchildmap.keyset()]) {
            if(REC.isEmpty() && !REC.containsKey(RECo.Id)){
              REC.put(RECo.Id, RECo.Price__c);
            }
            
        } 
        for(Id in :parentchildmap.keyset()){
            for(OpportunityChild__c child :parentchildmap.get(in)){
                if(REC.containsKey(child)){
                    String store = REC.get(child);
                    if(store != null){
                    //nothing to do
                }
                
                }
                else {
                    parentchildmap.remove(in);
                    break;
                }
            }
        }
    }
    
    Public static void parentupdate(){
        if(!parentchildmap.isEmpty()){
            list<Opportunity> records = [select Amount,LeadSource from Opportunity WHERE Id IN:parentchildmap.keyset()];
            for(Opportunity parentid :records){
                if(parentid.Amount != null){
                   parentid.LeadSource = 'Partner Referral';
                }
                else{
                    //nothing to do
                    break;
                }
                
            }
        }
    }
}
Best Answer chosen by CodeBeginner
CodeBeginnerCodeBeginner
please anyone care to help me please