You need to sign in to do that
Don't have an account?
Rahul
trigger AccountTrigger on Account (after insert, after update) {
set<string> setstring = new set<string>();
list<Account> listAccount = new list<Account>();
Pincode__mdt[] pin= [select city__C, state__C from Pincode__mdt ];
for(Account a : trigger.new){
if(Trigger.IsInsert && Trigger.isAfter ){
if(a.Pincode__C != null){
setstring.add(a.Pincode__C);
system.debug('value in pin' + Pin);
system.debug('This is insert Trigger');
}
}
}
Pincode__mdt[] pin2= [select city__C, state__C,pincode__C from Pincode__mdt where pincode__C =:setstring ];
system.debug('this is pin2'+ pin2);
for(Pincode__mdt pt : pin2){
for(Account ac : trigger.new){
if(ac.pincode__C == pt.pincode__C){
ac.Billing_City__c = pt.city__C;
ac.Billing_State__c = pt.state__C;
listAccount.add(ac);
system.debug('Values in ListAccount'+listAccount);
}
}
}
insert listAccount;
if(Trigger.isUpdate){
system.debug('This is Update');
}
}
hello friends, Iam new to apex trigger handler. can you tell me how to convert this code into class and call it from Trigger.Thanks
trigger AccountTrigger on Account (after insert, after update) {
set<string> setstring = new set<string>();
list<Account> listAccount = new list<Account>();
Pincode__mdt[] pin= [select city__C, state__C from Pincode__mdt ];
for(Account a : trigger.new){
if(Trigger.IsInsert && Trigger.isAfter ){
if(a.Pincode__C != null){
setstring.add(a.Pincode__C);
system.debug('value in pin' + Pin);
system.debug('This is insert Trigger');
}
}
}
Pincode__mdt[] pin2= [select city__C, state__C,pincode__C from Pincode__mdt where pincode__C =:setstring ];
system.debug('this is pin2'+ pin2);
for(Pincode__mdt pt : pin2){
for(Account ac : trigger.new){
if(ac.pincode__C == pt.pincode__C){
ac.Billing_City__c = pt.city__C;
ac.Billing_State__c = pt.state__C;
listAccount.add(ac);
system.debug('Values in ListAccount'+listAccount);
}
}
}
insert listAccount;
if(Trigger.isUpdate){
system.debug('This is Update');
}
}
Here is the Trigger : This is for Trigger Handler:
I hope you find the above solution helpful. If it does, please mark as Best Answer to help others too.
Thanks,
Ajay Dubedi
All Answers
Check the Opening and closing brackets and Try below one:
HelperClass:
public with sharing class AccountTriggerHelper {
public static void accountHelperMtd(List<Account> accList) {
set<string> setstring = new set<string>();
list<Account> listAccount = new list<Account>();
Pincode__mdt[] pin= [select city__C, state__C from Pincode__mdt ];
for(Account a : accList {
if(a.Pincode__C != null){
setstring.add(a.Pincode__C);
system.debug('value in pin' + Pin);
system.debug('This is insert Trigger');
}
}
Pincode__mdt[] pin2= [select city__C, state__C,pincode__C from Pincode__mdt where pincode__C =:setstring ];
system.debug('this is pin2'+ pin2);
for(Pincode__mdt pt : pin2){
for(Account ac : accList){
if(ac.pincode__C == pt.pincode__C){
ac.Billing_City__c = pt.city__C;
ac.Billing_State__c = pt.state__C;
listAccount.add(ac);
system.debug('Values in ListAccount'+listAccount);
}
}
}
insert listAccount;
}
Trigger :
trigger AccountTrigger on Account (after insert, after update) {
if(Trigger.IsInsert && Trigger.isAfter ){
AccountTriggerHelper .accountHelperMtd(Trigger.new);
}
if(Trigger.isUpdate){
system.debug('This is Update');
}
}
Helper class:
public with sharing class AccountTriggerHelper {
public static void accountHelperMtd(List<Account> accList) {
set<string> setstring = new set<string>();
list<Account> listAccount = new list<Account>();
Pincode__mdt[] pin= [select city__C, state__C from Pincode__mdt ];
for(Account a : accList) {
if(a.Pincode__C != null){
setstring.add(a.Pincode__C);
system.debug('value in pin' + Pin);
system.debug('This is insert Trigger');
}
}
Pincode__mdt[] pin2= [select city__C, state__C,pincode__C from Pincode__mdt where pincode__C =:setstring ];
system.debug('this is pin2'+ pin2);
for(Pincode__mdt pt : pin2){
for(Account ac : accList){
if(ac.pincode__C == pt.pincode__C){
ac.Billing_City__c = pt.city__C;
ac.Billing_State__c = pt.state__C;
listAccount.add(ac);
system.debug('Values in ListAccount'+listAccount);
}
}
}
insert listAccount;
}
}
Trigger:
trigger AccountTrigger on Account (after insert, after update) {
if(Trigger.IsInsert && Trigger.isAfter ){
AccountTriggerHelper .accountHelperMtd(Trigger.new);
}
if(Trigger.isUpdate){
system.debug('This is Update');
}
}
Please mark as best answere..........................!
Here is the Trigger : This is for Trigger Handler:
I hope you find the above solution helpful. If it does, please mark as Best Answer to help others too.
Thanks,
Ajay Dubedi