I want to avoid this For loop inside another For... Is there any way for my situation?
public class ManagerAccountTeamMember {
public static Boolean isFirstTimeBEFORE = true;
public static void myMethod (List TeamMembers) {
for( AccountTeamMember accTeamMember: TeamMembers){
if(accTeamMember.TeamMemberRole == '001'){
isFirstTimeBEFORE = false;
accTeamMember.Code__c = '001';
}
if(isFirstTimeBEFORE) {
isFirstTimeBEFORE = false;
Map accId_X_TeamMember = new Map();
for(AccountTeamMember TeamMember : TeamMembers) {
accId_X_TeamMember.put(TeamMember.AccountId,TeamMember);
}
List accounts = [SELECT Id,RecordTypeId,OwnerId FROM Account WHERE Id IN: accId_X_TeamMember.keySet()];
for(Account account : accounts) {
if(acc.OwnerId != UserInfo.getUserId()) {
accId_X_TeamMember.get(account.Id).addError('Msg');
}
}
}
}
}
}
isFirstTimeBEFORE
logic, whose intention is unclear. What exactly is this code supposed to do? Please edit to clarify.