You need to sign in to do that
Don't have an account?
Akash v 6
How to reuse the below code in with helper class
Hi Folks,
Probem Description -
I have two difrrent class and diffrent visualforce. Earch class has findaddress() method.. and in the method I am trying to find the address based on user input..check the below class with method.
Question -
How to put the findaddress() logic in the helper method so that I can call in the both class without reating the same code..
something like this
Class A:
Class B
Probem Description -
I have two difrrent class and diffrent visualforce. Earch class has findaddress() method.. and in the method I am trying to find the address based on user input..check the below class with method.
Question -
How to put the findaddress() logic in the helper method so that I can call in the both class without reating the same code..
something like this
findaddress(string streeaddress, string city, string zip ){ //? }
Class A:
public PageReference Findaddress(){ myaddress request = new myaddress (); //another class for address parameter String strSplittedAddress; //assign data if(project!=null && myproject.Street_Address__c!=''){ //myproject is an object instance strSplittedAddress=myProject.Street_Address__c; if(strSplittedAddress.contains(' ')){ integer spaceIndex= strSplittedAddress.indexof(' '); String strHno=strSplittedAddress.subString(0,spaceIndex); String strStreet=strSplittedAddress.subString(spaceIndex+1,strSplittedAddress.length()); request.houseNumber = new List<String>{strHno}; } else{ ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please correct Number along with Street')); } } else{ return null; } request.locality= new List<String>{myProject.City__c}; request.province = new List<String>{myProject.State__c}; request.postalCode = new List<String>{myProject.Zip__c}; request.country = new List<String>{'United States'}; //some other logic contiune
Class B
public PageReference Findaddress(){ myaddress request = new myaddress (); //another class for address parameter String strSplittedAddress; //assign data if(project!=null && anotherProject.Street_Address__c!=''){ //anotherProject is an object instance strSplittedAddress=anotherProject.Street_Address__c; if(strSplittedAddress.contains(' ')){ integer spaceIndex= strSplittedAddress.indexof(' '); String strHno=strSplittedAddress.subString(0,spaceIndex); String strStreet=strSplittedAddress.subString(spaceIndex+1,strSplittedAddress.length()); request.houseNumber = new List<String>{strHno}; } else{ ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please correct Number along with Street')); } } else{ return null; } request.locality= new List<String>{anotherProject.City__c}; request.province = new List<String>{anotherProject.State__c}; request.postalCode = new List<String>{anotherProject.Zip__c}; request.country = new List<String>{'United States'}; //some other logic contiune
public class AddressUtility{
public static myaddress getAddress(myaddress request, Another_Project__c projectObj){
if(request!=null && projectObj!=null){
String strSplittedAddress = projectObj.Street_Address__c;
if(String.isNotBlank(strSplittedAddress)){
list<String> addressData = strSplittedAddress.split(' ', 2);
if(addressData!=null && addressData.size()>0){
String strHno;
String strStreet;
if(addressData.size() == 2){
//Yes strSplittedAddress contains House number along with additional street information
strHno = addressData.get(0);
strStreet = addressData.get(1);
}else{
//strSplittedAddress contains only House number and No additional street information
strHno = addressData.get(0);
}
request.houseNumber = new List<String>{strHno};
}
request.locality= new List<String>{projectObj.City__c};
request.province = new List<String>{projectObj.State__c};
request.postalCode = new List<String>{projectObj.Zip__c};
request.country = new List<String>{'United States'};
}else{
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please correct Number along with Street'));
}
}
return request;
}
}
Class A:
public PageReference Findaddress(){
public PageReference Findaddress(){
myaddress request = new myaddress ();
request = AddressUtility.getAddress(request, myproject);
}
}
Class B:
public PageReference Findaddress(){
public PageReference Findaddress(){
myaddress request = new myaddress ();
request = AddressUtility.getAddress(request, anotherProject);
}
}
Thanks for reply..in addresUtlity you are passing only one object instance not sure it will work for another object..could you plz check once again
--
Thanks