CRUD Operation in Salesforce using Custom Object, Visualforce, and APEX Controller with MVC Design Pattern
CRUD Operation in Salesforce using Custom Object, Visualforce, and APEX Controller with MVC Design Pattern
This tutorial provide step by step implementation to perform CRUD Operation into Course Object.
In Salesforce development, building applications that follow standard architectural principles is essential for maintainability, scalability, and clarity. One of the most powerful combinations is implementing CRUD operations (Create, Read, Update, Delete) on a Custom Object using Visualforce Pages, Apex Controllers, and adhering to the MVC (Model-View-Controller) Design Pattern.
Step1st:
Create Course Object using Admin Dashboard it contain Name, Mode(PICKLIST), Fees, CourseId as an ExternalId.
Step2nd:
Create APEX Controller to perform CRUD Operation similar this
public class CourseController {
public Course__c course1 { get; set; }
public List<Course__c> course { get; set; }
public Id selectedCourseId { get; set; }
public CourseController() {
course1 = new Course__c();
loadCourses();
}
public void loadCourses() {
course = [SELECT Id, CourseId__c, Coursemode__c, course_fee__c FROM Course__c];
}
public PageReference saveCourse() {
try {
if (course1.Id == null) {
insert course1;
} else {
update course1;
}
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.CONFIRM, 'Course saved successfully.'));
course1 = new Course__c(); // reset form
loadCourses(); // refresh list
} catch (Exception e) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Error: ' + e.getMessage()));
}
return null;
}
public PageReference editCourse() {
System.debug('Edit selected id is: ' + selectedCourseId);
if (selectedCourseId != null) {
course1 = [SELECT Id, CourseId__c, Coursemode__c, course_fee__c FROM Course__c WHERE Id = :selectedCourseId LIMIT 1];
}
return null;
}
public PageReference deleteCourse() {
System.debug('Delete selected id is: ' + selectedCourseId);
if (selectedCourseId != null) {
try {
delete [SELECT Id FROM Course__c WHERE Id = :selectedCourseId LIMIT 1];
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.CONFIRM, 'Course deleted successfully.'));
loadCourses(); // refresh list
} catch (Exception e) {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Delete failed: ' + e.getMessage()));
}
}
return null;
}
}
Comments
Post a Comment
POST Answer of Questions and ASK to Doubt