You need to sign in to do that
Don't have an account?
Trigger Help
OK, so I know nothing about apex code.
I want to take this code below, though, and copy it to have the ability to make a 'second' contact record - I will just have to swap out some fields.
However, I'm having a compilling error with this code at line 100 - and it has to do with the latest release of Sumer '13. How can I make this code work for a SECOND record being created?
Thanks so much!
public with sharing class ContactExtenssion {
public Contact ContactObj {get;set;}
public ContactExtenssion(ApexPages.StandardController cont) {
Id ContactId = ApexPages.currentPage().getParameters().get('id');
ContactObj = (ContactId == null) ? new Contact() : [Select c.silverpop__Silverpop_RecipientID__c, c.silverpop__Silverpop_Lead_Score__c, c.silverpop__Silverpop_Lead_Rank__c, c.silverpop__Silverpop_Behavior_Score__c, c.silverpop__Lead_Score__c, c.silverpop__Lead_Rank__c, c.silverpop__CRMI_Modified_Date__c, c.Website__c, c.Tour_Scheduled__c, c.Tour_Registered_Date__c, c.Tour_Interview_date_completed__c, c.Tour_Interview_Completed__c, c.Title, c.SystemModstamp, c.Suffix__c, c.Student_Profile__c, c.Specialty__c, c.Special_Needs_Circumstances__c, c.Size_of_Practice__c, c.Secondary_Phone_Type__c, c.Secondary_Last_Name__c, c.Secondary_First_Name__c, c.Secondary_Contact_Relationship__c, c.School_Interested_In__c, c.Salutation, c.ReportsToId, c.Remove_from_Auto_Mailings__c, c.Relationship_with_School__c, c.Referred_by2_del__c, c.Referred_Student__c, c.Referred_By_del__c, c.Referred_By_Source_of_Contact__c, c.Referral_Value_Rating__c, c.Referral_Value_Rating_Indicator__c, c.RecordTypeId, c.Reason_for_inquiry_to_our_school__c, c.Professional_Type__c, c.Professional_Contact__c, c.Profession__c, c.Primary_Phone_Type__c, c.Primary_Phone_2__c, c.Primary_Phone_2_Type__c, c.Primary_Contact__c, c.Primary_Contact_Relationship__c, c.Primary_Contact_Prof_Secondary_Phone__c, c.Primary_Contact_Prof_Lifecycle_Status__c, c.Primary_Contact_Enrollment_Date__c, c.Previously_Referred__c, c.Phone, c.Partner__c, c.Parent_Zip__c, c.Parent_State__c, c.Parent_City__c, c.Parent_Address__c, c.OwnerId, c.OtherStreet, c.OtherState, c.OtherPostalCode, c.OtherCountry, c.OtherCity, c.Original_Campaign_Name__c, c.Number_of_Children_Registering__c, c.Name, c.MasterRecordId, c.MailingStreet, c.MailingState, c.MailingPostalCode, c.MailingCountry, c.MailingCity, c.Linkedin__c, c.Lifecycle_Status__c, c.Level_of_Interest__c, c.Lead_Record_Type__c, c.LeadSource, c.LastName, c.LastModifiedDate, c.LastModifiedById, c.LastCUUpdateDate, c.LastCURequestDate, c.LastActivityDate, c.IsDeleted, c.Interested_in__c, c.Interest_Level__c, c.Interest_Level_Indicator__c, c.Inquiry_Source__c, c.Information_Packet_Sent__c, c.Id, c.How_Did_You_Hear_About_Us__c, c.History_or_concerns__c, c.HasOptedOutOfEmail, c.Grade_Interested_In__c, c.Gender__c, c.FirstName, c.Father_s_Last_Name__c, c.Father_s_First_Name__c, c.Facebook__c, c.ExternalID__c, c.Event_Registered_For__c, c.Enrollment_Year__c, c.Enrollment_Month__c, c.EmailBouncedReason, c.EmailBouncedDate, c.Email, c.Do_Not_Contact__c, c.Division_Interest__c, c.Desires_Tour__c, c.Description, c.CreatedDate, c.CreatedById, c.Contact_Rating_II__c, c.Competitor__c, c.Comments__c, c.Child_s_Middle_Name__c, c.Child_s_Last_Name__c, c.Child_s_First_Name__c, c.Candidate_Potential__c, c.Board_Member__c, c.Birthdate__c, c.Birthdate, c.Affiliations__c, c.Additional_Needs__c, c.Actual_Tour_Time__c, c.Actual_Tour_Date__c, c.AccountId From Contact c where Id =: ContactId];
}
public PageReference Redirect(){
list<User> usr = [Select Id from User where ProfileId =: userinfo.getProfileId()];
PageReference ContactClone;
Contact ClonedContact = new Contact();
ClonedContact = ContactClone();
ContactObj = ResetContact();
try{
insert ClonedContact;
update ContactObj;
ContactClone = new PageReference('/' + ClonedContact.Id);
ContactClone.setRedirect(true);
return ContactClone;
}catch (Exception e) {
ContactClone = new PageReference('/' + ContactObj.Id);
ContactClone.setRedirect(true);
ContactObj.addError(e.getDmlMessage(0));
return ContactClone;
}
}
public Contact ContactClone(){
List<RecordType> RType = [Select r.SobjectType, r.Name, r.Id From RecordType r where SobjectType = 'Contact' and Name = 'Student'];
Contact ClonedContact = new Contact();
ClonedContact.ownerId = ContactObj.OwnerId;
ClonedContact.RecordTypeId = RType.get(0).id;
ClonedContact.AccountId = ContactObj.AccountId;
ClonedContact.Child_s_First_Name__c = ContactObj.Child_s_First_Name__c;
ClonedContact.Child_s_Last_Name__c = ContactObj.Child_s_Last_Name__c;
ClonedContact.FirstName = ContactObj.FirstName;
ClonedContact.LastName = ContactObj.LastName;
ClonedContact.Relationship_with_School__c = 'Registered';
ClonedContact.Lifecycle_Status__c = 'Registered';
if(ContactObj.Child_s_First_Name__c != null && ContactObj.Child_s_Last_Name__c != null){
ClonedContact.FirstName = ContactObj.Child_s_First_Name__c;
ClonedContact.LastName = ContactObj.Child_s_Last_Name__c;
}
ClonedContact.phone = ContactObj.phone;
ClonedContact.Primary_Phone_Type__c = ContactObj.Primary_Phone_Type__c;
ClonedContact.Primary_Phone_2__c = ContactObj.Primary_Phone_2__c;
ClonedContact.Primary_Phone_2_Type__c = ContactObj.Primary_Phone_2_Type__c;
ClonedContact.Additional_Needs__c = ContactObj.Additional_Needs__c;
ClonedContact.Email = '';
//Mailing Address
ClonedContact.MailingStreet = ContactObj.MailingStreet;
ClonedContact.MailingState = ContactObj.MailingState;
ClonedContact.MailingPostalCode = ContactObj.MailingPostalCode;
ClonedContact.MailingCountry= ContactObj.MailingCountry;
ClonedContact.MailingCity = ContactObj.MailingCity;
ClonedContact.Professional_Contact__c = ContactObj.Professional_Contact__c;
ClonedContact.Professional_Contact__c = ContactObj.Professional_Contact__c;
ClonedContact.Referred_by2_del__c = ContactObj.Referred_by2_del__c;
ClonedContact.Referred_By_Source_of_Contact__c = ContactObj.Referred_By_Source_of_Contact__c;
//Student Requirements
ClonedContact.Enrollment_Year__c = ContactObj.Enrollment_Year__c;
ClonedContact.Enrollment_Month__c = ContactObj.Enrollment_Month__c;
ClonedContact.Grade_Interested_In__c = ContactObj.Grade_Interested_In__c;
ClonedContact.School_Interested_In__c = ContactObj.School_Interested_In__c;
ClonedContact.Division_Interest__c = ContactObj.Division_Interest__c;
ClonedContact.Student_Profile__c = ContactObj.Student_Profile__c;
ClonedContact.History_or_concerns__c = ContactObj.History_or_concerns__c;
ClonedContact.Special_Needs_Circumstances__c = ContactObj.Special_Needs_Circumstances__c;
ClonedContact.Reason_for_inquiry_to_our_school__c = ContactObj.Reason_for_inquiry_to_our_school__c;
ClonedContact.Candidate_Potential__c = ContactObj.Candidate_Potential__c;
ClonedContact.Original_Campaign_Name__c = ContactObj.Original_Campaign_Name__c;
ClonedContact.Inquiry_Source__c = ContactObj.Inquiry_Source__c;
ClonedContact.How_Did_You_Hear_About_Us__c = ContactObj.How_Did_You_Hear_About_Us__c;
ClonedContact.Event_Registered_For__c = ContactObj.Event_Registered_For__c;
ClonedContact.Event_Registered_For__c = ContactObj.Event_Registered_For__c;
ClonedContact.Birthdate__c = ContactObj.Birthdate__c;
ClonedContact.Gender__c = ContactObj.Gender__c;
//Tour Information
ClonedContact.Actual_Tour_Date__c = ContactObj.Actual_Tour_Date__c;
ClonedContact.Actual_Tour_Time__c = ContactObj.Actual_Tour_Time__c;
return ClonedContact;
}
public Contact ResetContact(){
ContactObj.Special_Needs_Circumstances__c = '';
ContactObj.Student_Profile__c = '';
ContactObj.History_or_concerns__c = '';
ContactObj.Special_Needs_Circumstances__c = '';
ContactObj.Reason_for_inquiry_to_our_school__c = '';
ContactObj.Additional_Needs__c = '';
return ContactObj;
}
static testMethod void TestContactExtenssion() {
Account Acc = new Account(Name = 'Fareed');
insert Acc;
Contact newContact = new Contact(LastName = 'Test Contact', AccountId = Acc.id, Child_s_First_Name__c = 'Fareed', Child_s_Last_Name__c = 'Baig');
insert newContact;
ApexPages.StandardController con = new ApexPages.StandardController(newContact);
ApexPages.Pagereference pageRef = Page.ContactClone;
pageRef.getParameters().put('id', newContact.Id);
Test.setCurrentPage(pageRef);
ContactExtenssion controllerExtension = new ContactExtenssion(con);
Test.setCurrentPage(pageRef);
Test.startTest();
controllerExtension.Redirect();
Test.stopTest();
}
}
Can you highlight for which line you are getting the error?
Thanks
Hi there! Thanks for responding!
It's at line 100, column 24.
-Jake
Hi,
Can you remove the test method written inside the class in the line 100. Please check th following code. Try running the apex after removing this code from the controller. So, you can make it as a seperate test class to cover the code.
static testMethod void TestContactExtenssion() {
Account Acc = new Account(Name = 'Fareed');
insert Acc;
Contact newContact = new Contact(LastName = 'Test Contact', AccountId = Acc.id, Child_s_First_Name__c = 'Fareed', Child_s_Last_Name__c = 'Baig');
insert newContact;
ApexPages.StandardController con = new ApexPages.StandardController(newContact);
ApexPages.Pagereference pageRef = Page.ContactClone;
pageRef.getParameters().put('id', newContact.Id);
Test.setCurrentPage(pageRef);
ContactExtenssion controllerExtension = new ContactExtenssion(con);
Test.setCurrentPage(pageRef);
Test.startTest();
controllerExtension.Redirect();
Test.stopTest();
}
Hope this will help you...!