You need to sign in to do that
Don't have an account?
santhosh konathala 17
Hi community please help me..
Hi In below code if Account record is created, that record goes into Notification Object.In the same way,if contact is created same record goes into Notification object.So for both Account and contact created ,Notification record should be created.So what changes we need to do in below Apex class ..plz help anybody.
Apex class:
public class NotificationServiceClass1 {
User varUser = [SELECT Id, Name FROM User WHERE Id =: UserInfo.getUserId()];
public void onAfterInsert(Account[] newAccounts){
List<Notification__c> notifyInsertList = new list<Notification__c>();
for(Account accName:newAccounts){
If(varUser.name =='santhosh konathala')
{
Notification__c notify=new Notification__c();
notify.name=accname.name;
notify.Action__c='Add';
notify.Test__c='Outbound';
notifyInsertList.add(notify);
}
else If(varUser.name == 'reddy kon'){
Notification__c notify=new Notification__c();
notify.name=accname.name;
notify.Test__c='Inbound';
notify.Action__c='Add';
notifyInsertList.add(notify);
}
}
insert notifyInsertList;
}
public void onAfterUpdate(Account[] newAccounts, map<id, Account> oldMap ){
List<Notification__c> notifyUpdateList = new list<Notification__c>();
for(Account acccountVar:newAccounts){
Account oldAcc = oldMap.get(acccountVar.Id);
if(oldAcc.name!=acccountVar.name){
If(varUser.name =='santhosh konathala'){
Notification__c notifyUpdate = new Notification__c();
notifyUpdate.name=acccountVar.name;
notifyUpdate.Action__c= 'Modify';
notifyUpdate.Test__c='Outbound';
notifyUpdateList.add(notifyUpdate);
}
else If(varUser.name == 'reddy kon'){
Notification__c notifyUpdate = new Notification__c();
notifyUpdate.name=acccountVar.name;
notifyUpdate.Test__c='Inbound';
notifyUpdate.Action__c= 'Modify';
notifyUpdateList.add(notifyUpdate);
}
}
}
if(notifyUpdateList.size()>0 && notifyUpdateList.size()!=null){
insert notifyUpdateList;
}
}
}
Trigger code:
Trigger insertNotification1 on Account(after insert,after update) {
NotificationServiceClass1 handler=new NotificationServiceClass1();
if(Trigger.isinsert ){
handler.OnAfterInsert(Trigger.new);
}
if(Trigger.isupdate ){
handler.OnAfterUpdate(Trigger.new,Trigger.oldMap);
}}
Apex class:
public class NotificationServiceClass1 {
User varUser = [SELECT Id, Name FROM User WHERE Id =: UserInfo.getUserId()];
public void onAfterInsert(Account[] newAccounts){
List<Notification__c> notifyInsertList = new list<Notification__c>();
for(Account accName:newAccounts){
If(varUser.name =='santhosh konathala')
{
Notification__c notify=new Notification__c();
notify.name=accname.name;
notify.Action__c='Add';
notify.Test__c='Outbound';
notifyInsertList.add(notify);
}
else If(varUser.name == 'reddy kon'){
Notification__c notify=new Notification__c();
notify.name=accname.name;
notify.Test__c='Inbound';
notify.Action__c='Add';
notifyInsertList.add(notify);
}
}
insert notifyInsertList;
}
public void onAfterUpdate(Account[] newAccounts, map<id, Account> oldMap ){
List<Notification__c> notifyUpdateList = new list<Notification__c>();
for(Account acccountVar:newAccounts){
Account oldAcc = oldMap.get(acccountVar.Id);
if(oldAcc.name!=acccountVar.name){
If(varUser.name =='santhosh konathala'){
Notification__c notifyUpdate = new Notification__c();
notifyUpdate.name=acccountVar.name;
notifyUpdate.Action__c= 'Modify';
notifyUpdate.Test__c='Outbound';
notifyUpdateList.add(notifyUpdate);
}
else If(varUser.name == 'reddy kon'){
Notification__c notifyUpdate = new Notification__c();
notifyUpdate.name=acccountVar.name;
notifyUpdate.Test__c='Inbound';
notifyUpdate.Action__c= 'Modify';
notifyUpdateList.add(notifyUpdate);
}
}
}
if(notifyUpdateList.size()>0 && notifyUpdateList.size()!=null){
insert notifyUpdateList;
}
}
}
Trigger code:
Trigger insertNotification1 on Account(after insert,after update) {
NotificationServiceClass1 handler=new NotificationServiceClass1();
if(Trigger.isinsert ){
handler.OnAfterInsert(Trigger.new);
}
if(Trigger.isupdate ){
handler.OnAfterUpdate(Trigger.new,Trigger.oldMap);
}}
create a new trigger on contact object
Trigger insertNotification2 on Contact(after insert,after update) {
NotificationServiceClass2 handler=new NotificationServiceClass2();
if(Trigger.isinsert ){
handler.OnAfterInsert(Trigger.new);
}
if(Trigger.isupdate ){
handler.OnAfterUpdate(Trigger.new,Trigger.oldMap);
}}
handler
public class NotificationServiceClass2 {
User varUser = [SELECT Id, Name FROM User WHERE Id =: UserInfo.getUserId()];
public void onAfterInsert(Contact[] newContact){
List<Notification__c> notifyInsertList = new list<Notification__c>();
for(Contact conName:newContact){
If(varUser.name =='santhosh konathala')
{
Notification__c notify=new Notification__c();
notify.name=conName.name;
notify.Action__c='Add';
notify.Test__c='Outbound';
notifyInsertList.add(notify);
}
else If(varUser.name == 'reddy kon'){
Notification__c notify=new Notification__c();
notify.name=conName.name;
notify.Test__c='Inbound';
notify.Action__c='Add';
notifyInsertList.add(notify);
}
}
insert notifyInsertList;
}
public void onAfterUpdate(Contact[] newContact, map<id, Contact> oldMap ){
List<Notification__c> notifyUpdateList = new list<Notification__c>();
for(Contact conVar:newContact){
Contact oldcon = oldMap.get(conVar.Id);
if(oldcon.name!=conVar.name){
If(varUser.name =='santhosh konathala'){
Notification__c notifyUpdate = new Notification__c();
notifyUpdate.name=conVar.name;
notifyUpdate.Action__c= 'Modify';
notifyUpdate.Test__c='Outbound';
notifyUpdateList.add(notifyUpdate);
}
else If(varUser.name == 'reddy kon'){
Notification__c notifyUpdate = new Notification__c();
notifyUpdate.name=conVar.name;
notifyUpdate.Test__c='Inbound';
notifyUpdate.Action__c= 'Modify';
notifyUpdateList.add(notifyUpdate);
}
}
}
if(notifyUpdateList.size()>0 && notifyUpdateList.size()!=null){
insert notifyUpdateList;
}
}
}
Thanks
Mark it best answer if it helps you :)
you can create 2 trigger one for account and one for contact and you can use one handler class for both trigger but trigger are created for per object
Thanks :)