-
ChatterFeed
-
0Best Answers
-
0Likes Received
-
0Likes Given
-
2Questions
-
6Replies
Help writing test Class for Dynamic VF Page and Controller
Hi friends,
I am an admin making the transition to developer so forgive me if this is/should be considered common knowledge but...
I was wondering if someone would be able to help me write a test class for this Dynamic Search Page controller. I understand in theory how to write a test class but I'm not sure i would be able to successfully pull it off on my own.
Any help would be MUCH appreciated!
I am an admin making the transition to developer so forgive me if this is/should be considered common knowledge but...
I was wondering if someone would be able to help me write a test class for this Dynamic Search Page controller. I understand in theory how to write a test class but I'm not sure i would be able to successfully pull it off on my own.
Any help would be MUCH appreciated!
public with sharing class WrapperClass{
//Instantiate Lists that we will be using
public List<wrapAccount> wrapCTAList {get;set;}
public List<CTA_Database__c> selectedCTA{get;set;}
public List<wrapAccount> tempWrapCTAList{get;set;}
//empty Constructor
public WrapperClass(ApexPages.StandardController WrapperClass) {
}
//Instantiate lists and runQuery when page loads
public WrapperClass(){
list<wrapAccount> wrapCTAList = new list<wrapAccount>();
List<CTA_Database__c> selectedCTA = new list<CTA_Database__c>();
soql = 'SELECT Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c, Checkbox__c, Family_Status__c FROM CTA_Database__c WHERE Id != null';
runQuery();
}
//Grab records from wrapCTAList where 'selected' property is true, then set checkbox__c value true/false based on 'selected'
public void processSelected() {
List<wrapAccount> tempWrapCTAList = new List<wrapAccount>();
//for each record on QueryList
for(wrapAccount objWrap: wrapCTAList) {
//if selected, then checkbox is true
if(objWrap.selected == true) {
objWrap.acc.checkbox__c = true;
//update checkbox field in database
update (objWrap.acc);
} else {
//if not selected, then checkbox is false
if (objWrap.selected != true) {
objWrap.acc.checkbox__c = false;
//update checkbox field in database
update (objWrap.acc);
}
}
//Check to see if there are already 'checkboxed records', set their selected property to true
if (objWrap.acc.checkbox__c == true) {
string selectedName = objWrap.acc.name;
for (wrapAccount qWrap: wrapCTAList) {
if (qWrap.acc.name == selectedName) {
qWrap.selected = true;
system.debug(selectedName);
}
}
}
}
//add records to Results Table
buildSelections();
}
//add values to Results Table
public void buildSelections(){
tempWrapCTAList = new List <wrapAccount>();
string selectSoql = 'SELECT Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c, Checkbox__c, Family_Status__c FROM CTA_Database__c WHERE checkbox__c = true';
//for each record where checkbox__c is true, add to results list.
for(CTA_Database__c obj : Database.query(selectSoql + ' order by ' + sortField + ' ' + sortDir)) {
tempwrapCTAList.add(new wrapAccount(obj));
}
}
//SELECT all records in QueryList
public PageReference selectAll() {
for(wrapAccount q: WrapCTAList) {
if (q.acc.checkbox__c == false) {
q.selected = true;
q.acc.checkbox__c = true;
update(q.acc);
processSelected();
}
}
return Null;
}
//UNSELECT all records in QueryList
public PageReference unselectAll() {
for(wrapAccount q: WrapCTAList) {
if (q.acc.checkbox__c == true) {
q.selected = false;
q.acc.checkbox__c = false;
update(q.acc);
processSelected();
}
}
return Null;
}
//Flow button, currently to Uncheck Boxes Flow
public PageReference beginFlow() {
for (wrapAccount s:tempWrapCTAList) {
cta_database__c c = s.acc;
selectedCTA.add(c);
}
return Page.CTA_Tab;
}
// This is our wrapper/container class. In this example a wrapper class contains both the standard salesforce object Account and a Boolean value
public class wrapAccount {
public CTA_Database__c acc {get; set;}
public Boolean selected {get; set;}
public wrapAccount(CTA_Database__c a) {
acc = a;
selected = false;
}
}
//----------------------------------//--------------------------------------//
// the soql without the order and limit
public String soql {get;set;}
// the current sort direction. defaults to asc
public String sortDir {
get { if (sortDir == null) {sortDir = 'asc';} return sortDir;}
set;
}
// the current field to sort by. defaults to last name
public String sortField {
get { if (sortField == null) {sortField = 'Last_Name__c'; } return sortField; }
set;
}
// toggles the sorting of query from asc<-->desc
public void toggleSort() {
// simply toggle the direction
sortDir = sortDir.equals('asc') ? 'desc' : 'asc';
// run the query again
runQuery();
buildSelections();
}
// format the soql for display on the visualforce page
public String debugSoql {
get { return soql + ' order by ' + sortField + ' ' + sortDir + ' limit 200'; }
set;
}
// runs the actual query
public void runQuery() {
wrapCTAList = new List<wrapAccount>();
try {
//builds QueryList
for(CTA_Database__c obj : Database.query(soql + ' order by ' + sortField + ' ' + sortDir + ' limit 200')) {
wrapCTAList.add(new wrapAccount(obj));
//sets Select property to TRUE if record is on SelectedList
if (obj.Checkbox__c == true) {
for (wrapAccount c:wrapCTAList) {
string cName = c.acc.name;
if (obj.name == cName) {
c.selected = true;
}
}
}
}
} catch (Exception e) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Ooops!'));
}
}
// runs the search with parameters passed via Javascript
public PageReference runSearch() {
String memberNumber = Apexpages.currentPage().getParameters().get('memberNumber');
String firstName = Apexpages.currentPage().getParameters().get('firstName');
String lastName = Apexpages.currentPage().getParameters().get('lastName');
String ChineseName = Apexpages.currentPage().getParameters().get('ChineseName');
String PrimaryPhone = Apexpages.currentPage().getParameters().get('PrimaryPhone');
String ResBuilding = Apexpages.currentPage().getParameters().get('ResBuilding');
String ResUnit = Apexpages.currentPage().getParameters().get('ResUnit');
soql = 'select Name, First_Name__c, Last_Name__c, Chinese_Name__c, Primary_Phone__c, Residential_Building_Address__c, Residential_Unit__c, Checkbox__c, Family_Status__c FROM CTA_Database__c WHERE Id !=null';
if (!memberNumber.equals(''))
soql += ' and Name LIKE \''+String.escapeSingleQuotes(memberNumber)+'%\'';
if (!firstname.equals(''))
soql += ' and First_Name__c LIKE \''+String.escapeSingleQuotes(firstName)+'%\'';
if (!lastName.equals(''))
soql += ' and Last_Name__c LIKE \''+String.escapeSingleQuotes(lastName)+'%\'';
if (!ChineseName.equals(''))
soql += ' and Chinese_Name__c LIKE \''+String.escapeSingleQuotes(ChineseName)+'%\'';
if (!PrimaryPhone.equals(''))
soql += ' and Primary_Phone__c LIKE \''+String.escapeSingleQuotes(PrimaryPhone)+'%\'';
if (!ResBuilding.equals(''))
soql += ' and Residential_Building_Address__r.display_address__c LIKE \''+String.escapeSingleQuotes(ResBuilding)+'%\'';
if (!ResUnit.equals(''))
soql += ' and Residential_Unit__r.Name LIKE \''+String.escapeSingleQuotes(ResUnit)+'%\'';
// run the query again
runQuery();
return null;
}
}
-
- Harrison Lau
- April 21, 2017
- Like
- 0
Wrapper Class and Visualforce
Having some issues pushing records from my LIST of sObjects to a Map of boolean values and sobjects. Any advice?
public with sharing class WrapperClass{
//Our collection of the class/wrapper objects wrapAccount
public List<wrapAccount> wrapCTAList {get;set;}
public Map<boolean,CTA_Database__c> ctaMap {get {
if(ctaMap == null) {
ctaMap = new Map<boolean, CTA_Database__c>();
}
return ctaMap;
}
set {
for (CTA_Database__c member:ctaMember) {
boolean selected = false;
ctaMap.put(selected, member);
}
}
}
public List<CTA_Database__c> selectedCTA{get;set;}
public List<CTA_Database__c> ctaMember{get;set;}
public WrapperClass(ApexPages.StandardController WrapperClass) {
//empty Constructor
}
public WrapperClass(){
list<wrapAccount> wrapCTAList = new list<wrapAccount>();
Map<boolean,CTA_Database__c> ctaMap = new Map<boolean,CTA_Database__c>();
List<CTA_Database__c> selectedCTA = new list<CTA_Database__c>();
List<CTA_Database__c> ctaMember = new list<CTA_Database__c>();
if(wrapCTAList == null) {
for(CTA_Database__c a: [SELECT ID, Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id != null]) {
// As each Account is processed we create a new wrapAccount object and add it to the wrapAccountList
wrapCTAList.add(new wrapAccount(a));
for (wrapAccount wrapcta : wrapCTAList) {
ctaMap.put(wrapcta.selected = false, wrapcta.acc);
}
}
}
soql = 'SELECT Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id != null';
runQuery();
buildMap();
}
public void buildMap() {
try {
for (CTA_Database__c member: ctaMember) {
boolean selected = false;
ctaMap.put(selected, member);
}
} catch (exception e) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Could not build ctaMap!'));
}
}
public void processSelected() {
List<wrapAccount> wrapCTAList = new List<wrapAccount>();
for(wrapAccount wrapcta : wrapCTAList) {
if(wrapcta.selected == true) {
selectedCTA.add(wrapcta.acc);
}
}
}
// This is our wrapper/container class. In this example a wrapper class contains both the standard salesforce object Account and a Boolean value
public class wrapAccount {
public CTA_Database__c acc {get; set;}
public Boolean selected {get; set;}
public Map<boolean, CTA_Database__c> ctaMap {get;set;}
public wrapAccount(CTA_Database__c a) {
acc = a;
selected = false;
}
}
//----------------------------------//--------------------------------------//
//// the soql without the order and limit
public String soql {get;set;}
// the current sort direction. defaults to asc
public String sortDir {
get { if (sortDir == null) {sortDir = 'asc';} return sortDir;}
set;
}
// the current field to sort by. defaults to last name
public String sortField {
get { if (sortField == null) {sortField = 'Last_Name__c'; } return sortField; }
set;
}
// toggles the sorting of query from asc<-->desc
public void toggleSort() {
// simply toggle the direction
sortDir = sortDir.equals('asc') ? 'desc' : 'asc';
// run the query again
runQuery();
}
// format the soql for display on the visualforce page
public String debugSoql {
get { return soql + ' order by ' + sortField + ' ' + sortDir + ' limit 200'; }
set;
}
// init the controller and display some sample data when the page loads
//public WrapperClass() {
//soql = 'SELECT Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id != null';
//runQuery();
//}
// runs the actual query
public void runQuery() {
try {
ctaMember = Database.query(soql + ' order by ' + sortField + ' ' + sortDir + ' limit 200');
buildMap();
} catch (Exception e) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Ooops!'));
}
}
// runs the search with parameters passed via Javascript
public PageReference runSearch() {
String memberNumber = Apexpages.currentPage().getParameters().get('memberNumber');
String firstName = Apexpages.currentPage().getParameters().get('firstName');
String lastName = Apexpages.currentPage().getParameters().get('lastName');
String ChineseName = Apexpages.currentPage().getParameters().get('ChineseName');
String PrimaryPhone = Apexpages.currentPage().getParameters().get('PrimaryPhone');
String ResBuilding = Apexpages.currentPage().getParameters().get('ResBuilding');
String ResUnit = Apexpages.currentPage().getParameters().get('ResUnit');
soql = 'select Name, First_Name__c, Last_Name__c, Chinese_Name__c, Primary_Phone__c, Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id !=null';
if (!memberNumber.equals(''))
soql += ' and Name LIKE \''+String.escapeSingleQuotes(memberNumber)+'%\'';
if (!firstname.equals(''))
soql += ' and First_Name__c LIKE \''+String.escapeSingleQuotes(firstName)+'%\'';
if (!lastName.equals(''))
soql += ' and Last_Name__c LIKE \''+String.escapeSingleQuotes(lastName)+'%\'';
if (!ChineseName.equals(''))
soql += ' and Chinese_Name__c LIKE \''+String.escapeSingleQuotes(ChineseName)+'%\'';
if (!PrimaryPhone.equals(''))
soql += ' and Primary_Phone__c LIKE \''+String.escapeSingleQuotes(PrimaryPhone)+'%\'';
if (!ResBuilding.equals(''))
soql += ' and Residential_Building_Address__r.display_address__c LIKE \''+String.escapeSingleQuotes(ResBuilding)+'%\'';
if (!ResUnit.equals(''))
soql += ' and Residential_Unit__r.Name LIKE \''+String.escapeSingleQuotes(ResUnit)+'%\'';
// run the query again
runQuery();
system.debug('hi');
return null;
}
}
public with sharing class WrapperClass{
//Our collection of the class/wrapper objects wrapAccount
public List<wrapAccount> wrapCTAList {get;set;}
public Map<boolean,CTA_Database__c> ctaMap {get {
if(ctaMap == null) {
ctaMap = new Map<boolean, CTA_Database__c>();
}
return ctaMap;
}
set {
for (CTA_Database__c member:ctaMember) {
boolean selected = false;
ctaMap.put(selected, member);
}
}
}
public List<CTA_Database__c> selectedCTA{get;set;}
public List<CTA_Database__c> ctaMember{get;set;}
public WrapperClass(ApexPages.StandardController WrapperClass) {
//empty Constructor
}
public WrapperClass(){
list<wrapAccount> wrapCTAList = new list<wrapAccount>();
Map<boolean,CTA_Database__c> ctaMap = new Map<boolean,CTA_Database__c>();
List<CTA_Database__c> selectedCTA = new list<CTA_Database__c>();
List<CTA_Database__c> ctaMember = new list<CTA_Database__c>();
if(wrapCTAList == null) {
for(CTA_Database__c a: [SELECT ID, Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id != null]) {
// As each Account is processed we create a new wrapAccount object and add it to the wrapAccountList
wrapCTAList.add(new wrapAccount(a));
for (wrapAccount wrapcta : wrapCTAList) {
ctaMap.put(wrapcta.selected = false, wrapcta.acc);
}
}
}
soql = 'SELECT Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id != null';
runQuery();
buildMap();
}
public void buildMap() {
try {
for (CTA_Database__c member: ctaMember) {
boolean selected = false;
ctaMap.put(selected, member);
}
} catch (exception e) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Could not build ctaMap!'));
}
}
public void processSelected() {
List<wrapAccount> wrapCTAList = new List<wrapAccount>();
for(wrapAccount wrapcta : wrapCTAList) {
if(wrapcta.selected == true) {
selectedCTA.add(wrapcta.acc);
}
}
}
// This is our wrapper/container class. In this example a wrapper class contains both the standard salesforce object Account and a Boolean value
public class wrapAccount {
public CTA_Database__c acc {get; set;}
public Boolean selected {get; set;}
public Map<boolean, CTA_Database__c> ctaMap {get;set;}
public wrapAccount(CTA_Database__c a) {
acc = a;
selected = false;
}
}
//----------------------------------//--------------------------------------//
//// the soql without the order and limit
public String soql {get;set;}
// the current sort direction. defaults to asc
public String sortDir {
get { if (sortDir == null) {sortDir = 'asc';} return sortDir;}
set;
}
// the current field to sort by. defaults to last name
public String sortField {
get { if (sortField == null) {sortField = 'Last_Name__c'; } return sortField; }
set;
}
// toggles the sorting of query from asc<-->desc
public void toggleSort() {
// simply toggle the direction
sortDir = sortDir.equals('asc') ? 'desc' : 'asc';
// run the query again
runQuery();
}
// format the soql for display on the visualforce page
public String debugSoql {
get { return soql + ' order by ' + sortField + ' ' + sortDir + ' limit 200'; }
set;
}
// init the controller and display some sample data when the page loads
//public WrapperClass() {
//soql = 'SELECT Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id != null';
//runQuery();
//}
// runs the actual query
public void runQuery() {
try {
ctaMember = Database.query(soql + ' order by ' + sortField + ' ' + sortDir + ' limit 200');
buildMap();
} catch (Exception e) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Ooops!'));
}
}
// runs the search with parameters passed via Javascript
public PageReference runSearch() {
String memberNumber = Apexpages.currentPage().getParameters().get('memberNumber');
String firstName = Apexpages.currentPage().getParameters().get('firstName');
String lastName = Apexpages.currentPage().getParameters().get('lastName');
String ChineseName = Apexpages.currentPage().getParameters().get('ChineseName');
String PrimaryPhone = Apexpages.currentPage().getParameters().get('PrimaryPhone');
String ResBuilding = Apexpages.currentPage().getParameters().get('ResBuilding');
String ResUnit = Apexpages.currentPage().getParameters().get('ResUnit');
soql = 'select Name, First_Name__c, Last_Name__c, Chinese_Name__c, Primary_Phone__c, Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id !=null';
if (!memberNumber.equals(''))
soql += ' and Name LIKE \''+String.escapeSingleQuotes(memberNumber)+'%\'';
if (!firstname.equals(''))
soql += ' and First_Name__c LIKE \''+String.escapeSingleQuotes(firstName)+'%\'';
if (!lastName.equals(''))
soql += ' and Last_Name__c LIKE \''+String.escapeSingleQuotes(lastName)+'%\'';
if (!ChineseName.equals(''))
soql += ' and Chinese_Name__c LIKE \''+String.escapeSingleQuotes(ChineseName)+'%\'';
if (!PrimaryPhone.equals(''))
soql += ' and Primary_Phone__c LIKE \''+String.escapeSingleQuotes(PrimaryPhone)+'%\'';
if (!ResBuilding.equals(''))
soql += ' and Residential_Building_Address__r.display_address__c LIKE \''+String.escapeSingleQuotes(ResBuilding)+'%\'';
if (!ResUnit.equals(''))
soql += ' and Residential_Unit__r.Name LIKE \''+String.escapeSingleQuotes(ResUnit)+'%\'';
// run the query again
runQuery();
system.debug('hi');
return null;
}
}
-
- Harrison Lau
- March 15, 2017
- Like
- 0
Wrapper Class and Visualforce
Having some issues pushing records from my LIST of sObjects to a Map of boolean values and sobjects. Any advice?
public with sharing class WrapperClass{
//Our collection of the class/wrapper objects wrapAccount
public List<wrapAccount> wrapCTAList {get;set;}
public Map<boolean,CTA_Database__c> ctaMap {get {
if(ctaMap == null) {
ctaMap = new Map<boolean, CTA_Database__c>();
}
return ctaMap;
}
set {
for (CTA_Database__c member:ctaMember) {
boolean selected = false;
ctaMap.put(selected, member);
}
}
}
public List<CTA_Database__c> selectedCTA{get;set;}
public List<CTA_Database__c> ctaMember{get;set;}
public WrapperClass(ApexPages.StandardController WrapperClass) {
//empty Constructor
}
public WrapperClass(){
list<wrapAccount> wrapCTAList = new list<wrapAccount>();
Map<boolean,CTA_Database__c> ctaMap = new Map<boolean,CTA_Database__c>();
List<CTA_Database__c> selectedCTA = new list<CTA_Database__c>();
List<CTA_Database__c> ctaMember = new list<CTA_Database__c>();
if(wrapCTAList == null) {
for(CTA_Database__c a: [SELECT ID, Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id != null]) {
// As each Account is processed we create a new wrapAccount object and add it to the wrapAccountList
wrapCTAList.add(new wrapAccount(a));
for (wrapAccount wrapcta : wrapCTAList) {
ctaMap.put(wrapcta.selected = false, wrapcta.acc);
}
}
}
soql = 'SELECT Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id != null';
runQuery();
buildMap();
}
public void buildMap() {
try {
for (CTA_Database__c member: ctaMember) {
boolean selected = false;
ctaMap.put(selected, member);
}
} catch (exception e) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Could not build ctaMap!'));
}
}
public void processSelected() {
List<wrapAccount> wrapCTAList = new List<wrapAccount>();
for(wrapAccount wrapcta : wrapCTAList) {
if(wrapcta.selected == true) {
selectedCTA.add(wrapcta.acc);
}
}
}
// This is our wrapper/container class. In this example a wrapper class contains both the standard salesforce object Account and a Boolean value
public class wrapAccount {
public CTA_Database__c acc {get; set;}
public Boolean selected {get; set;}
public Map<boolean, CTA_Database__c> ctaMap {get;set;}
public wrapAccount(CTA_Database__c a) {
acc = a;
selected = false;
}
}
//----------------------------------//--------------------------------------//
//// the soql without the order and limit
public String soql {get;set;}
// the current sort direction. defaults to asc
public String sortDir {
get { if (sortDir == null) {sortDir = 'asc';} return sortDir;}
set;
}
// the current field to sort by. defaults to last name
public String sortField {
get { if (sortField == null) {sortField = 'Last_Name__c'; } return sortField; }
set;
}
// toggles the sorting of query from asc<-->desc
public void toggleSort() {
// simply toggle the direction
sortDir = sortDir.equals('asc') ? 'desc' : 'asc';
// run the query again
runQuery();
}
// format the soql for display on the visualforce page
public String debugSoql {
get { return soql + ' order by ' + sortField + ' ' + sortDir + ' limit 200'; }
set;
}
// init the controller and display some sample data when the page loads
//public WrapperClass() {
//soql = 'SELECT Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id != null';
//runQuery();
//}
// runs the actual query
public void runQuery() {
try {
ctaMember = Database.query(soql + ' order by ' + sortField + ' ' + sortDir + ' limit 200');
buildMap();
} catch (Exception e) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Ooops!'));
}
}
// runs the search with parameters passed via Javascript
public PageReference runSearch() {
String memberNumber = Apexpages.currentPage().getParameters().get('memberNumber');
String firstName = Apexpages.currentPage().getParameters().get('firstName');
String lastName = Apexpages.currentPage().getParameters().get('lastName');
String ChineseName = Apexpages.currentPage().getParameters().get('ChineseName');
String PrimaryPhone = Apexpages.currentPage().getParameters().get('PrimaryPhone');
String ResBuilding = Apexpages.currentPage().getParameters().get('ResBuilding');
String ResUnit = Apexpages.currentPage().getParameters().get('ResUnit');
soql = 'select Name, First_Name__c, Last_Name__c, Chinese_Name__c, Primary_Phone__c, Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id !=null';
if (!memberNumber.equals(''))
soql += ' and Name LIKE \''+String.escapeSingleQuotes(memberNumber)+'%\'';
if (!firstname.equals(''))
soql += ' and First_Name__c LIKE \''+String.escapeSingleQuotes(firstName)+'%\'';
if (!lastName.equals(''))
soql += ' and Last_Name__c LIKE \''+String.escapeSingleQuotes(lastName)+'%\'';
if (!ChineseName.equals(''))
soql += ' and Chinese_Name__c LIKE \''+String.escapeSingleQuotes(ChineseName)+'%\'';
if (!PrimaryPhone.equals(''))
soql += ' and Primary_Phone__c LIKE \''+String.escapeSingleQuotes(PrimaryPhone)+'%\'';
if (!ResBuilding.equals(''))
soql += ' and Residential_Building_Address__r.display_address__c LIKE \''+String.escapeSingleQuotes(ResBuilding)+'%\'';
if (!ResUnit.equals(''))
soql += ' and Residential_Unit__r.Name LIKE \''+String.escapeSingleQuotes(ResUnit)+'%\'';
// run the query again
runQuery();
system.debug('hi');
return null;
}
}
public with sharing class WrapperClass{
//Our collection of the class/wrapper objects wrapAccount
public List<wrapAccount> wrapCTAList {get;set;}
public Map<boolean,CTA_Database__c> ctaMap {get {
if(ctaMap == null) {
ctaMap = new Map<boolean, CTA_Database__c>();
}
return ctaMap;
}
set {
for (CTA_Database__c member:ctaMember) {
boolean selected = false;
ctaMap.put(selected, member);
}
}
}
public List<CTA_Database__c> selectedCTA{get;set;}
public List<CTA_Database__c> ctaMember{get;set;}
public WrapperClass(ApexPages.StandardController WrapperClass) {
//empty Constructor
}
public WrapperClass(){
list<wrapAccount> wrapCTAList = new list<wrapAccount>();
Map<boolean,CTA_Database__c> ctaMap = new Map<boolean,CTA_Database__c>();
List<CTA_Database__c> selectedCTA = new list<CTA_Database__c>();
List<CTA_Database__c> ctaMember = new list<CTA_Database__c>();
if(wrapCTAList == null) {
for(CTA_Database__c a: [SELECT ID, Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id != null]) {
// As each Account is processed we create a new wrapAccount object and add it to the wrapAccountList
wrapCTAList.add(new wrapAccount(a));
for (wrapAccount wrapcta : wrapCTAList) {
ctaMap.put(wrapcta.selected = false, wrapcta.acc);
}
}
}
soql = 'SELECT Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id != null';
runQuery();
buildMap();
}
public void buildMap() {
try {
for (CTA_Database__c member: ctaMember) {
boolean selected = false;
ctaMap.put(selected, member);
}
} catch (exception e) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Could not build ctaMap!'));
}
}
public void processSelected() {
List<wrapAccount> wrapCTAList = new List<wrapAccount>();
for(wrapAccount wrapcta : wrapCTAList) {
if(wrapcta.selected == true) {
selectedCTA.add(wrapcta.acc);
}
}
}
// This is our wrapper/container class. In this example a wrapper class contains both the standard salesforce object Account and a Boolean value
public class wrapAccount {
public CTA_Database__c acc {get; set;}
public Boolean selected {get; set;}
public Map<boolean, CTA_Database__c> ctaMap {get;set;}
public wrapAccount(CTA_Database__c a) {
acc = a;
selected = false;
}
}
//----------------------------------//--------------------------------------//
//// the soql without the order and limit
public String soql {get;set;}
// the current sort direction. defaults to asc
public String sortDir {
get { if (sortDir == null) {sortDir = 'asc';} return sortDir;}
set;
}
// the current field to sort by. defaults to last name
public String sortField {
get { if (sortField == null) {sortField = 'Last_Name__c'; } return sortField; }
set;
}
// toggles the sorting of query from asc<-->desc
public void toggleSort() {
// simply toggle the direction
sortDir = sortDir.equals('asc') ? 'desc' : 'asc';
// run the query again
runQuery();
}
// format the soql for display on the visualforce page
public String debugSoql {
get { return soql + ' order by ' + sortField + ' ' + sortDir + ' limit 200'; }
set;
}
// init the controller and display some sample data when the page loads
//public WrapperClass() {
//soql = 'SELECT Name, First_Name__c, Last_Name__c,Chinese_Name__c,Primary_Phone__c,Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id != null';
//runQuery();
//}
// runs the actual query
public void runQuery() {
try {
ctaMember = Database.query(soql + ' order by ' + sortField + ' ' + sortDir + ' limit 200');
buildMap();
} catch (Exception e) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Ooops!'));
}
}
// runs the search with parameters passed via Javascript
public PageReference runSearch() {
String memberNumber = Apexpages.currentPage().getParameters().get('memberNumber');
String firstName = Apexpages.currentPage().getParameters().get('firstName');
String lastName = Apexpages.currentPage().getParameters().get('lastName');
String ChineseName = Apexpages.currentPage().getParameters().get('ChineseName');
String PrimaryPhone = Apexpages.currentPage().getParameters().get('PrimaryPhone');
String ResBuilding = Apexpages.currentPage().getParameters().get('ResBuilding');
String ResUnit = Apexpages.currentPage().getParameters().get('ResUnit');
soql = 'select Name, First_Name__c, Last_Name__c, Chinese_Name__c, Primary_Phone__c, Residential_Building_Address__c, Residential_Unit__c FROM CTA_Database__c WHERE Id !=null';
if (!memberNumber.equals(''))
soql += ' and Name LIKE \''+String.escapeSingleQuotes(memberNumber)+'%\'';
if (!firstname.equals(''))
soql += ' and First_Name__c LIKE \''+String.escapeSingleQuotes(firstName)+'%\'';
if (!lastName.equals(''))
soql += ' and Last_Name__c LIKE \''+String.escapeSingleQuotes(lastName)+'%\'';
if (!ChineseName.equals(''))
soql += ' and Chinese_Name__c LIKE \''+String.escapeSingleQuotes(ChineseName)+'%\'';
if (!PrimaryPhone.equals(''))
soql += ' and Primary_Phone__c LIKE \''+String.escapeSingleQuotes(PrimaryPhone)+'%\'';
if (!ResBuilding.equals(''))
soql += ' and Residential_Building_Address__r.display_address__c LIKE \''+String.escapeSingleQuotes(ResBuilding)+'%\'';
if (!ResUnit.equals(''))
soql += ' and Residential_Unit__r.Name LIKE \''+String.escapeSingleQuotes(ResUnit)+'%\'';
// run the query again
runQuery();
system.debug('hi');
return null;
}
}

- Harrison Lau
- March 15, 2017
- Like
- 0
Make a Custom Finish Location for a Flow; Finish at start location.
HI,
I would like to find out how I could make a flow end at a custom location, more specifically make it end at the place where it was started/clicked, which is a VF page within a button on a record detail page.
Here is the VF page that I've created, I only need it to end at the Contact Id page where it was clicked (the flow already has a variable with the Contact Id called ContactID.
All help is much appreciatted!
<apex:page standardController="Account" tabStyle="Account">
<flow:interview name="Flow_Testing" finishLocation="{!URLFOR('/003/o')}">
<apex:param name="AccountID" value="{!account.Id}"/>
<apex:param name="UserID" value="{!$User.Id}"/>
</flow:interview>
</apex:page>

- SundayAdmin
- September 24, 2012
- Like
- 0