You need to sign in to do that
Don't have an account?
suvarna Reddy
please help this task..immeditely parent-->account, child-->accounts ,subchild-->opportunity
trigger UpdateChildWithParent on Account (after insert,after update) {
List<Account> accList = new List<Account>();
Set<Id> UpdatedCaseIds = new Set<Id>();
for(Account acc : Trigger.new) {
UpdatedCaseIds.add(acc.RecordTypeId);
}
System.debug('>>UpdatedCaseIds>>'+UpdatedCaseIds);
Map<Id, RecordType> recordTypeMap = new Map<Id, RecordType>([SELECT DeveloperName
FROM RecordType
WHERE Id IN :UpdatedCaseIds]);
Map<ID, Account> mapAccounts = new Map<ID, Account>([SELECT Id, Status__c
FROM Account where Id IN :UpdatedCaseIds]);
for(Account acc1 : Trigger.new) {
RecordType optyRecordType = recordTypeMap.get(acc1.RecordTypeId);
if(optyRecordType != null) {
if(optyRecordType.DeveloperName == 'Brand') {
List<Account> AccountForUpdating1 = [SELECT Status__c FROM Account
WHERE Id IN :UpdatedCaseIds];
List<Account> AccountForUpdating2 = [SELECT Status__c FROM Account
WHERE Id IN :UpdatedCaseIds];
List<Opportunity> OppForUpdating1 =[SELECT Status__c FROM Opportunity
WHERE Id IN:UpdatedCaseIds];
List<Opportunity> OppForUpdating2 =[SELECT Status__c FROM Opportunity
WHERE Id IN:UpdatedCaseIds];
for(Account childObj1:Trigger.new){
AccountForUpdating1.add(childObj1);
}
for(Account childObj2:Trigger.new){
AccountForUpdating2.add(childObj2);
}
for(Opportunity opp1:OppForUpdating1){
Account acc = mapAccounts.get(opp1.AccountId);
acc.Status__c = opp1.Status__c ;
accList.add(acc);
}
System.debug('>>accList>>>'+accList);
Update AccountForUpdating1;
}
else if(optyRecordType.DeveloperName == 'Merch Owner') {
List<Account> AccountUpdating3 = [SELECT AccountManager__c FROM Account
WHERE Id IN :UpdatedCaseIds ];
List<Account> AccountUpdating4 = [SELECT AccountManager__c FROM Account
WHERE Id IN :UpdatedCaseIds ];
List<Opportunity> OppForUpdating =[SELECT AccountManager__c FROM Opportunity
WHERE Id IN:UpdatedCaseIds];
List<Opportunity> OppForUpdating4 =[SELECT AccountManager__c FROM Opportunity
WHERE Id IN:UpdatedCaseIds];
for(Account childObj3:Trigger.new){
AccountUpdating3.add(childObj3);
// System.debug('>>childObj3>>>'+AccountUpdating3);
for(Account childObj4:Trigger.new){
AccountUpdating4.add(childObj4);
// System.debug('>>childObj4>>>'+AccountUpdating4);
}
}
for (Opportunity opp : OppForUpdating) {
UpdatedCaseIds.add(opp.AccountId);
if (opp.AccountManager__c != null) {
Account a = mapAccounts.get(opp.AccountManager__c);
}
}
update AccountUpdating3;
}
}
}
}
List<Account> accList = new List<Account>();
Set<Id> UpdatedCaseIds = new Set<Id>();
for(Account acc : Trigger.new) {
UpdatedCaseIds.add(acc.RecordTypeId);
}
System.debug('>>UpdatedCaseIds>>'+UpdatedCaseIds);
Map<Id, RecordType> recordTypeMap = new Map<Id, RecordType>([SELECT DeveloperName
FROM RecordType
WHERE Id IN :UpdatedCaseIds]);
Map<ID, Account> mapAccounts = new Map<ID, Account>([SELECT Id, Status__c
FROM Account where Id IN :UpdatedCaseIds]);
for(Account acc1 : Trigger.new) {
RecordType optyRecordType = recordTypeMap.get(acc1.RecordTypeId);
if(optyRecordType != null) {
if(optyRecordType.DeveloperName == 'Brand') {
List<Account> AccountForUpdating1 = [SELECT Status__c FROM Account
WHERE Id IN :UpdatedCaseIds];
List<Account> AccountForUpdating2 = [SELECT Status__c FROM Account
WHERE Id IN :UpdatedCaseIds];
List<Opportunity> OppForUpdating1 =[SELECT Status__c FROM Opportunity
WHERE Id IN:UpdatedCaseIds];
List<Opportunity> OppForUpdating2 =[SELECT Status__c FROM Opportunity
WHERE Id IN:UpdatedCaseIds];
for(Account childObj1:Trigger.new){
AccountForUpdating1.add(childObj1);
}
for(Account childObj2:Trigger.new){
AccountForUpdating2.add(childObj2);
}
for(Opportunity opp1:OppForUpdating1){
Account acc = mapAccounts.get(opp1.AccountId);
acc.Status__c = opp1.Status__c ;
accList.add(acc);
}
System.debug('>>accList>>>'+accList);
Update AccountForUpdating1;
}
else if(optyRecordType.DeveloperName == 'Merch Owner') {
List<Account> AccountUpdating3 = [SELECT AccountManager__c FROM Account
WHERE Id IN :UpdatedCaseIds ];
List<Account> AccountUpdating4 = [SELECT AccountManager__c FROM Account
WHERE Id IN :UpdatedCaseIds ];
List<Opportunity> OppForUpdating =[SELECT AccountManager__c FROM Opportunity
WHERE Id IN:UpdatedCaseIds];
List<Opportunity> OppForUpdating4 =[SELECT AccountManager__c FROM Opportunity
WHERE Id IN:UpdatedCaseIds];
for(Account childObj3:Trigger.new){
AccountUpdating3.add(childObj3);
// System.debug('>>childObj3>>>'+AccountUpdating3);
for(Account childObj4:Trigger.new){
AccountUpdating4.add(childObj4);
// System.debug('>>childObj4>>>'+AccountUpdating4);
}
}
for (Opportunity opp : OppForUpdating) {
UpdatedCaseIds.add(opp.AccountId);
if (opp.AccountManager__c != null) {
Account a = mapAccounts.get(opp.AccountManager__c);
}
}
update AccountUpdating3;
}
}
}
}
shiv singh 31
for more hd wallpapers visit dosti shayari (https://www.webshayari.in/2019/12/dosti-shayari-images-download.html)