SalesForce:从经典到照明
如果我的问题如此愚蠢,我深表歉意,但我的编程技能实在有限,我正赶着去做PoC 我有下面为经典开发的apex类。我想让它的工作与照明,我不知道如果我唯一需要更换的是url的。我已经为我的PoC创建了一个开发人员帐户,每次我启动这个类时,我都会被重定向到ClassicSalesForce:从经典到照明,salesforce,salesforce-lightning,Salesforce,Salesforce Lightning,如果我的问题如此愚蠢,我深表歉意,但我的编程技能实在有限,我正赶着去做PoC 我有下面为经典开发的apex类。我想让它的工作与照明,我不知道如果我唯一需要更换的是url的。我已经为我的PoC创建了一个开发人员帐户,每次我启动这个类时,我都会被重定向到Classic public class LookupByUrlParamController { String accountName; String accountNumber; String phone; St
public class LookupByUrlParamController {
String accountName;
String accountNumber;
String phone;
String website;
String email;
String socialhandle;
public LookupByUrlParamController () { }
public String redirectToAccount() {
Account account;
Map<String,String> params = ApexPages.currentPage().getParameters();
if(params.size() > 0) {
accountName = params.get('account_name');
accountNumber = params.get('account_number');
phone = params.get('phone');
website = params.get('website');
email = params.get('email');
socialhandle = params.get('SocialHandle');
}
try {
if(accountName != null) {
account = [select ID from Account where name = :accountName limit 1];
}
} catch (System.queryException e) {//no entry found for lookup item, display empty account page
return 'https://na7.salesforce.com/001/e';
}
try {
if(accountNumber != null) {
account = [select ID from Account where AccountNumber = :accountNumber limit 1];
}
} catch (System.queryException e) {//no entry found for lookup item, display empty account page
return 'https://na7.salesforce.com/001/e';
}
try {
if(phone != null) {
String npa;
String nnx;
String extension;
// Added logic for NA phone numbers
if (phone.length() == 10) {
npa = phone.substring(0,3);
nnx = phone.substring(3,6);
extension = phone.substring(6,10);
phone = '(' + npa + ') ' + nnx + '-' + extension;
}
account = [select ID from Account where phone = :phone limit 1];
}
} catch (System.queryException e) {//no entry found for lookup item, display empty account page
return 'https://na7.salesforce.com/001/e';
}
try {
if(website != null) {
account = [select ID from Account where website = :website limit 1];
}
} catch (System.queryException e) {//no entry found for lookup item, display empty account page
return 'https://na7.salesforce.com/001/e';
}
try {
if(email != null) {
account = [select ID from Account where email__c = :email limit 1];
}
} catch (System.queryException e) {//no entry found for lookup item, display empty account page
return 'https://na7.salesforce.com/001/e';
}
try {
if(socialhandle != null) {
account = [select ID from Account where SocialHandle__c = :socialhandle limit 1];
}
} catch (System.queryException e) {//no entry found for twitter handle lookup item, display empty account page
return 'https://na7.salesforce.com/001/e';
}
String accountUrl;
if(account != null) {
accountUrl = '/' + account.Id;
} else {
accountUrl = '/';
}
return accountUrl;
}
public static testMethod void testLookupByUrlParamAccount() {
LookupByUrlParamController controller = new LookupByUrlParamController();
controller.accountName = 'Avaya';
String redirectUrl = controller.redirectToAccount();
System.assertEquals(redirectUrl, '/001A0000007UkkFIAS');
}
public static testMethod void testLookupByUrlParamInvalidAccount() {
LookupByUrlParamController controller = new LookupByUrlParamController();
controller.accountName = '';
String redirectUrl = controller.redirectToAccount();
System.assertEquals(redirectUrl, 'https://na7.salesforce.com/001/e');
}
public static testMethod void testLookupByUrlParamPhone() {
LookupByUrlParamController controller = new LookupByUrlParamController();
controller.phone = '1234';
String redirectUrl = controller.redirectToAccount();
System.assertEquals(redirectUrl, '/001A0000007UkkFIAS');
}
public static testMethod void testLookupByUrlParamWherePhoneNumberIs10Chars() {
LookupByUrlParamController controller = new LookupByUrlParamController();
controller.phone = '1234567891';
String redirectUrl = controller.redirectToAccount();
System.assertEquals(redirectUrl, 'https://na7.salesforce.com/001/e');//no record found
}
public static testMethod void testLookupByUrlParamInvalidPhoneNumber() {
LookupByUrlParamController controller = new LookupByUrlParamController();
controller.phone = '';
String redirectUrl = controller.redirectToAccount();
System.assertEquals(redirectUrl, '/001A0000015EKVPIA4');
}
public static testMethod void testLookupByUrlParamAccountNumber() {
LookupByUrlParamController controller = new LookupByUrlParamController();
controller.accountNumber = '4321';
String redirectUrl = controller.redirectToAccount();
System.assertEquals(redirectUrl, '/001A0000007UkkFIAS');
}
public static testMethod void testLookupByUrlParam() {
LookupByUrlParamController controller = new LookupByUrlParamController();
String redirectUrl = controller.redirectToAccount();
System.assertEquals(redirectUrl, '/');
}
}
公共类LookupByUrlParamController{
字符串accountName;
字符串accountNumber;
字符串电话;
字符串网站;
字符串电子邮件;
字符串社会句柄;
公共LookupByUrlParamController(){}
公共字符串重定向到帐户(){
账户;
Map params=ApexPages.currentPage().getParameters();
如果(参数大小()>0){
accountName=params.get('account_name');
accountNumber=params.get('account_number');
phone=params.get('phone');
website=params.get('website');
email=params.get('email');
socialhandle=params.get('socialhandle');
}
试一试{
if(accountName!=null){
account=[从帐户中选择ID,其中名称=:accountName limit 1];
}
}catch(System.queryException e){//找不到查找项的条目,显示空帐户页
返回'https://na7.salesforce.com/001/e';
}
试一试{
if(accountNumber!=null){
account=[从AccountNumber=:AccountNumber limit 1]的帐户中选择ID];
}
}catch(System.queryException e){//找不到查找项的条目,显示空帐户页
返回'https://na7.salesforce.com/001/e';
}
试一试{
如果(电话!=null){
字符串npa;
字符串nnx;
字符串扩展;
//增加了NA电话号码的逻辑
if(phone.length()==10){
npa=电话子串(0,3);
nnx=电话子串(3,6);
分机=电话子串(6,10);
电话='('+npa+)'+nnx+'-'+分机;
}
帐户=[从帐户中选择ID,其中电话=:电话限制1];
}
}catch(System.queryException e){//找不到查找项的条目,显示空帐户页
返回'https://na7.salesforce.com/001/e';
}
试试{
如果(网站!=null){
账户=[从账户中选择ID,其中网站=:网站限制1];
}
}catch(System.queryException e){//找不到查找项的条目,显示空帐户页
返回'https://na7.salesforce.com/001/e';
}
试一试{
如果(电子邮件!=null){
account=[从帐户中选择ID,其中email_uuc=:email limit 1];
}
}catch(System.queryException e){//找不到查找项的条目,显示空帐户页
返回'https://na7.salesforce.com/001/e';
}
试一试{
if(socialhandle!=null){
account=[从帐户中选择ID,其中SocialHandle__c=:SocialHandle limit 1];
}
}catch(System.queryException e){//未找到twitter句柄查找项的条目,显示空帐户页
返回'https://na7.salesforce.com/001/e';
}
字符串accountUrl;
如果(帐户!=null){
accountUrl='/'+account.Id;
}否则{
accountUrl='/';
}
返回accountUrl;
}
公共静态testMethod void testLookupByUrlParamAccount(){
LookupyUrlParamController=新的LookupyUrlParamController();
controller.accountName='Avaya';
字符串redirectUrl=controller.redirectToAccount();
System.assertEquals(重定向URL,“/001A000007UKFIAS”);
}
公共静态testMethod void testLookupByUrlParamInvalidAccount(){
LookupyUrlParamController=新的LookupyUrlParamController();
controller.accountName='';
字符串redirectUrl=controller.redirectToAccount();
System.assertEquals(重定向URL,'https://na7.salesforce.com/001/e');
}
公共静态测试方法void testlookupyurlparamphone(){
LookupyUrlParamController=新的LookupyUrlParamController();
controller.phone='1234';
字符串redirectUrl=controller.redirectToAccount();
System.assertEquals(重定向URL,“/001A000007UKFIAS”);
}
公共静态测试方法void testLookupByUrlParamWherePhoneNumberIs10Chars(){
LookupyUrlParamController=新的LookupyUrlParamController();
controller.phone='1234567891';
字符串redirectUrl=controller.redirectToAccount();
System.assertEquals(重定向URL,'https://na7.salesforce.com/001/e“);//未找到任何记录
}
公共静态测试方法void TestLookupByrlParamInvalidPhoneNumber(){
LookupyUrlParamController=新的LookupyUrlParamController();
controller.phone='';
字符串redirectUrl=controller.redirectToAccount();
System.assertEquals(重定向URL,“/001A0000015EKVPIA4”);
}
公共静态testMethod void testLookupByUrlParamAccountNumber(){
LookupyUrlParamController=新的LookupyUrlParamController();
controller.accountNumber='4321';
字符串redirectUrl=controller.redirectToAccount();
System.assertEquals(重定向URL,“/001A000007UKFIAS”);
}
公共静态测试方法void testLookupB