Soubhik
12/19/2019 - 9:48 AM

Trigger Scenario 20:-

When we create the Opportunity with the Probability=20, then the opportunity owner will be automatically added to Account Team of the associated account for that Opportunity.

trigger UpdateATMwithOwneronOptyCreate on Opportunity (after insert,after update) {
 List<AccountShare> list_share= new List<AccountShare>();

 List<AccountTeamMember> list_atm=new List<AccountTeamMember>();

 for(Opportunity opp:Trigger.New)

 {

 if(opp.Probability==20)

 {

 AccountTeamMember atm=new AccountTeamMember();

 atm.accountid=opp.accountid;

 atm.teamMemberRole='Account Manager';

 atm.UserId=opp.Ownerid;

 AccountShare share = new AccountShare();

 share.AccountId=opp.Accountid;

 share.UserOrGroupId = opp.OwnerId;

 share.AccountAccessLevel='Read/Write';

 share.OpportunityAccessLevel = 'Read Only';

 share.CaseAccessLevel='Read Only';

 list_atm.add(atm);

 list_share.add(share);

 }

 }

 if(list_atm!=null)

 insert list_atm;

 if(list_share!=null && list_share.size()>0)

 List<Database.saveresult> sr=Database.insert(list_share,false);