trigger ParentToChildUpdate on Account (after insert,after update) {
set<id>accId=new set<id>();
List<Contact>ConList=new List<Contact>();
Map<Id,List<Contact>>Mapcon=new Map<Id,List<Contact>>();
for(Account a:trigger.new){
accId.add(a.id);
}
List<Contact>ListCon=[select id,name,MobilePhone from Contact where AccountId in :accId];
if(ListCon.size()>0){
for(Account aa:trigger.new){
for(Contact c:ListCon){
if(Mapcon.get(aa.id)==null){
Mapcon.put(aa.id,new list<Contact>());
}
Mapcon.get(aa.id).add(c);
}
}
}
List<Account>ListAcc=[Select id,name,Phone from Account where Id in:accId];
for(Account aaa:ListAcc){
if(Mapcon.get(aaa.Id)!=null){
List<Contact>ListCons = Mapcon.get(aaa.Id);
if(ListCons.size()>0){
List<Contact>ListConst = Mapcon.get(aaa.Id);
for(contact cc:ListConst){
cc.MobilePhone=aaa.Phone;
ConList.add(cc);
}
}
}
}
If(ConList.size()>0){
Update ConList;
}
}
set<id>accId=new set<id>();
List<Contact>ConList=new List<Contact>();
Map<Id,List<Contact>>Mapcon=new Map<Id,List<Contact>>();
for(Account a:trigger.new){
accId.add(a.id);
}
List<Contact>ListCon=[select id,name,MobilePhone from Contact where AccountId in :accId];
if(ListCon.size()>0){
for(Account aa:trigger.new){
for(Contact c:ListCon){
if(Mapcon.get(aa.id)==null){
Mapcon.put(aa.id,new list<Contact>());
}
Mapcon.get(aa.id).add(c);
}
}
}
List<Account>ListAcc=[Select id,name,Phone from Account where Id in:accId];
for(Account aaa:ListAcc){
if(Mapcon.get(aaa.Id)!=null){
List<Contact>ListCons = Mapcon.get(aaa.Id);
if(ListCons.size()>0){
List<Contact>ListConst = Mapcon.get(aaa.Id);
for(contact cc:ListConst){
cc.MobilePhone=aaa.Phone;
ConList.add(cc);
}
}
}
}
If(ConList.size()>0){
Update ConList;
}
}
No comments:
Post a Comment