1.Create Query Utility class.
public class Query_Util{
public static List<Product2> prdList ;
public static List<Product2> getProducts(){
prdList = New List<Product2>();
prdList = [select id,Name,PRODUCT_CODE__c from Product2 where PRODUCT_CODE__c =111];
return prdList ;
}
}
2.how to user above query in Trigger()
trigger queryUtility on Opportunity (before insert, before update)
{
List<Product2> prd;
if(query_util.prdList ==null) // Checking query_util.prdList is null for first time
{
prd = Query_Util.getProducts();
}
else
{
prd = query_util.prdList; //Using Existing Product list returned from query Util
}
if(Trigger.isInsert){
for(Opportunity opp:Trigger.New){
if(prd != null && prd.size() > 0 && opp.Name == '111' && opp.Product_Name__c == prd[0].id && System.Today() > ncd.Loan_Date__c){
system.debug('&&&&&&&&&'+opp.Product_Name__c);
opp.Name.addError('111 Opportunity cannot be created');
}
}
}
if(Trigger.isUpdate){
for(Opportunity opp:Trigger.New){
if(prd != null && prd.size() > 0 && opp.Name == '111' && opp.Product_Name__c == prd[0].id && opp.CreatedDate.Date() > ncd.Loan_Date__c){
system.debug('&&&&&&&&&'+opp.Product_Name__c);
opp.Name.addError('111 Opportunity cannot be created');
}
}
}
}
No comments:
Post a Comment