You are on page 1of 47

Salesforce Developer Codes

1. Apex Class Basic Examples (addition example)


Class Name: example1

public class example1 {


public static void main(){
Integer a1=10;
Integer a2=20;
Integer a3=a1+a2;
system.debug('sum of two number is' +a3);
String b1='chethan';
String b2='kumar';
String b3= b1+b2;
system.debug(b3);
}
}
Class Name:Madhu1

public class Madhu1 {


Public Static void main(){
String a1='Best';
String a2='Friend';
String a3='Forever';
String a4=a1+a2+a3;
system.debug(a4);
}
}

Class Name:Mahan

public class Mahan {


public static void main(){
Integer a1=10;
Integer a2=30;
Integer a3=a1+a2;
system.debug('Sum of two numberis'+a3);
String b1='Madhu';
String b2='Kumara';
String b3=b1+b2;
system.debug(b3);

}
2. Aura Components Basic
a.Component Page
<aura:component >
<aura:attribute type="Integer" name="num1"
default="20"/>
<aura:attribute type="Integer" name="num2"
default="30"/>
<aura:attribute type="Integer" name="sum"/>
{!v.num1}+{!v.num2}={!v.sum}<br></br>
<lightning:button variant="success" label="ADD"
title="Success" onclick="{!c.save }"/>
</aura:component>
b.Controller Page
({
save : function(component, event, helper) {
var
abc=component.get("v.num1")+component.get("v.num2
");
component.set("v.sum",abc);
}})
c.Component Page
<aura:component >
HI Welcome to salesforce world
</aura:component>

d.Component Page
<aura:component >
<aura:attribute type="integer" Name="num1"
default="540"/>
<aura:attribute type="integer" Name="num2"
default="190"/>
<aura:attribute type="integer" Name="sum"/>
{!v.num1}+{!v.num2}={!v.sum}
</aura:component>

New Page:
Component Page
<aura:component >
<aura:attribute type="integer" Name="num1"
default="100"/>
<aura:attribute type="integer" Name="num2"
default="40"/>
<aura:attribute type="integer" Name="num3"
default="3"/>
<aura:attribute type="integer" Name="sum"/>

{!v.num1}+{!v.num2}+{!V.num3}={!v.sum}<br></br>
<lightning:button variant="brand-outline"
label="ADD" title="Brand action" onclick="{! c.save
}" />

</aura:component>

Controller Page:
({
save : function(component, event, helper) {
var
abc=component.get("v.num1")+component.get("v.n
um2")+component.get("v.num3");
component.set("v.sum",abc);
}
})
Application Page:
<aura:application >
<c.Madhu18/>
</aura:application>
3. Collection Concept:
LIST
SET
MAP

public class cllctn {


public static void main(){
List<String> mylst=new List<String>();
mylst.add('chethan');
mylst.add('gagan');
mylst.add('jyothi');
mylst.add('gagan');
system.debug(mylst);
system.debug('set function is started');
set<String> myst=new set<string>();
myst.add('chethan');
myst.add('gagan');
myst.add('jyothi');
myst.add('gagan');
system.debug(myst);
system.debug('map is started');
map<Integer,String> mymp=new
map<Integer,string>();
mymp.put(1,'chethan');
mymp.put(2,'gagan');
mymp.put(3,'jyothi');
mymp.put(4,'gagan');
mymp.put(1,'rahul');
system.debug(mymp);
}
}

4. DML Operation:
INSERT
UPDATE
DELETE
public class DMLoprn {
public static void main(){
Account a = new Account();
a.Name='mahendrasinghDhoni';
a.AccountNumber='53655ua55635';
insert(a);
system.debug(a);
Account chethu=[select Id,Name,BillingCity from
Account where Name='tarun'];

chethu.BillingCity='Bangalore';
update chethu;
system.debug(chethu);

Account[] del=[select Id,Name from Account where


Name='kiran'];

Delete del;
system.debug(del);

}
}
5. Apex Triggers:

Apex Trigger:
Trigger in salesforce is called as an apex trigger
Used to perform on Operation before Or After a record is
operated.
Operation.
1.Insert 2.update 3.delete 4.merge 5.upsert 6.undelete
There are Priority 2types of triggers.
1.Before Trigger
2.After Trigger

DataBase
Before Trigger Jai After Trigger
New(list) Ram

Old(list)

Before Trigger:- this type of a trigger in salesforce is used to either update or


validate the value of a record first and save it.
After Trigger:-this type of trigger in salesforce is used to access the field values set
by system and affect any change on the record.
Bulky Trigger.
Means you can process the multiple records at a time.
Bulky trigger can handle bulk operation and single-recorded
update such as
1.Importing data
2.Mass action
3.Bulk API Calls
4.Recursive apex Methods and trigger invoke bulk DML
statements.
Trigger Syntax.
Trigger triggerName On ObjectName(trigger events)
{
//code block
}
Trigger Events.
1.Before Insert 4.After Insert
2.Before Update 5.After Update
3.Before Delete 6.After Delete
7.After undelete
Example.
Trigger tname On contact(before Insert,before update)
{
Contact c = new Contact();
If(c.Email==null)
}
Context variable:
1.isInsert : returns true if the trigger was fired due to an insert
operation.
2.isUpdate: returns true if the trigger was fired due to an
update operation.
3.IsDelete: returns true if the trigger was fired due to an Delete
operation.
4.isAfter : returns true if the trigger was fired after all records
have been saved.
5.isBefore : returns true if the trigger was fired any records
have been saved.
6.isUndelete : returns true if the trigger was fired after records
have been recovered has been recovered from the recycle bin.
7.new :Returns a list of new version of the sObjects records.
8.newMap: A map of Ids to the new version of Sobjects records.
9.Old: Returns a list of new version of the sObjects records.
10.OldMap:A map of Ids to the old version of sObjects records.
11.Size: the total numbers of records in a trigger invocation of
both new and old.
Trigger events trigger.new Trigger.old
Before Insert yes No
Before update yes yes
Before delete no yes
After Insert yes No
After Update yes yes
After Delete No Yes
After undelete No yes

1.Trigger1

trigger tname on Account (before insert) {


List<Account> ac=[select id,Name from Account
where Account.Name=:trigger.new[0].name];
if(ac.Size()>0){
trigger.new[0].name.addError('this user is already
exists');
}
}
2.Trigger2
trigger addname on Employee42__c (before
insert,before update) {
for(Employee42__c ee:trigger.new){
ee.Name='Mr.'+ee.Name;
}
}
3.Trigger3

trigger Tname123 on Covid19_Patiant__c (before


insert) {
List<Covid19_Patiant__c> b=[Select
Id,Name,AADHARNumber__c from
Covid19_Patiant__c Where
Covid19_Patiant__c.AADHARNumber__c=:trigger.ne
w[0].AADHARNumber__c ];
if(b.size()>0){
trigger.new[0].AADHARNumber__c.addError('this
Aadhar Number already in the record');
}
}
4.Trigger4

trigger tname2 on Covid19_Patiant__c (before


update){
for(Covid19_Patiant__c cb:trigger.new){
if(cb.Gender__c !='Male'){
cb.Name='Ms.'+cb.Name;
}else
{
cb.Name='Mr.'+cb.Name;
}
}
}
6. Insert Records:
Obj name Contact
Component Page

<aura:component controller="ccntrl" >


<aura:attribute name="newContact"
type="Contact" default="{ 'sobjectType': 'Contact',
}"/>

<form>
<h1></h1>
<lightning:input type="text"
value="{!v.newContact.LastName}" Name="Last
Name" label ="Last Name"/>
<lightning:input aura:id="contactField"
type="email" name="email" label="Email"
value="{!v.newContact.Email}" />

<lightning:input type="Phone"
value="{!v.newContact.Phone}" Name="Phone"
label="Phone"/>

<lightning:button aura:id="contactField"
label="Save Contact" onclick="{!c.savecontact}"/>
</form>
</aura:component>
Controller Page:
({
savecontact: function(component, event, helper) {
var newcon = component.get("v.newContact");
var act = component.get("c.save");
act.setParams({
"con": newcon
});
act.setCallback(this, function(a) {
var state = a.getState();
if (state === "SUCCESS") {
var name = a.getReturnValue();
alert("success");
}
else
{
alert("Failed");
}
});
$A.enqueueAction(act)
}})
Apex Class:
public class patientdata {
@AuraEnabled
public static Contact save(contact con)
{
insert con;
return con;
}
}
New Example:
Apex Class
public with sharing class Madhu40 {
@auraEnabled //Annoation to use method in lighting
component
Public static
List<Covid19_Patiant__c>getPatientList(){//Fetch data
return[select
Id,Name,AADHARNumber__c,Covid19_Doctor__c,Covid1
9_Hospital__c,Covid19_Test__c,Gender__c,HospitalBed_
Amount__c,HospitalVantilator_Amount__c,Number_of_
Days_in_Hospital__c,OTHER_Exp_Amount__c,Patient_Ag
e__c,Patient_Parent__c,Payment__c,RationCard__c,Tota
l_Amount_Pay__c from Covid19_Patiant__c];
}

}
Component Page:
<aura:component

implements="force:appHostable,flexipage:availableForAll
PageTypes,flexipage:availableForRecordHome,force:hasR
ecordId" access="global" controller="Madhu40" >
<aura:attribute Name='patient' type='Patient__c[]'/>
<aura:handler name="init" value="{!this}"
action="{!c.getPatient}" />
<table class="slds-table slds-table--bordered slds-max-
medium-table--stacked-horizontal"><!--Table must be
responsive-->
<thead>
<tr class="slds-text-heading--label ">
<th class="slds-is-sortable"
scope="col">name</th>
<th class="slds-is-sortable"
scope="col">AADHARNumber</th>
<th class="slds-is-sortable" scope="col">Covid19
Doctor</th>
<th class="slds-is-sortable"
scope="col">Covid19 Hospital</th>
<th class="slds-is-sortable"
scope="col">Covid19 Test</th>
<th class="slds-is-sortable"
scope="col">Gender</th>
<th class="slds-is-sortable"
scope="col">HospitalBed Amount</th>
<th class="slds-is-sortable"
scope="col">HospitalVantilator Amount</th>
<th class="slds-is-sortable" scope="col">Number
of Days in Hospital</th>
<th class="slds-is-sortable" scope="col">Total
Amount Pay</th>
<th class="slds-is-sortable" scope="col">Patient
Age</th>
<th class="slds-is-sortable" scope="col">Patient
Parent</th>
<th class="slds-is-sortable"
scope="col">Payment</th>
<th class="slds-is-sortable"
scope="col">RationCard</th>
</tr>
</thead>
<tbody>
<aura:iteration items="{!v.patient}" var="Pat"><!--
Dynamic Listing of -->
<tr class="slds-hint-parent">
<td data-label="name" style="padding-
left:0;">{!Pat.Name}</td>
<td data-label="AADHARNumber"
style="padding-left:0;">{!Pat.AADHARNumber__c}</td>
<td data-label="Covid19 Doctor"
style="padding-left:0;">{!Pat.Covid19_Doctor__c}</td>
<td data-label="Covid19 Hospital"
style="padding-left:0;">{!Pat.Covid19_Hospital__c}</td>
<td data-label="Covid19 Test" style="padding-
left:0;">{!Pat.Covid19_Test__c}</td>
<td data-label="Gender" style="padding-
left:0;">{!Pat.Gender__c}</td>
<td data-label="HospitalBed Amount"
style="padding-
left:0;">{!Pat.HospitalBed_Amount__c}</td>
<td data-label="HospitalVantilator Amount"
style="padding-
left:0;">{!Pat.HospitalVantilator_Amount__c}</td>
<td data-label="Number of Days in Hospital"
style="padding-
left:0;">{!Pat.Number_of_Days_in_Hospital__c}</td>
<td data-label="Total Amount Pay"
style="padding-
left:0;">{!Pat.Total_Amount_Pay__c}</td>
<td data-label="Patient Age" style="padding-
left:0;">{!Pat.Patient_Age__c}</td>
<td data-label="Patient Parent"
style="padding-left:0;">{!Pat.Patient_Parent__c}</td>
<td data-label="Payment" style="padding-
left:0;">{!Pat.Payment__c}</td>
<td data-label="RationCard" style="padding-
left:0;">{!Pat.RationCard__c}</td>

</tr>
</aura:iteration>
</tbody>
</table>
</aura:component>

Controller page:
({
getPatient: function(component, event, helper) {
var action=component.get("c.getPatientList");
alert(action);

action.setCallback(this,function(a){
component.set("v.patient",a.getReturnValue());
});
$A.enqueueAction(action);

}
})
Application Page:
<aura:application extends="force:slds">
<c:Madhu41/>
</aura:application>
New Example:
Apex Class:
public class Hotel {
@auraEnabled
public static Hotel__c save(Hotel__c Hoo)
{
insert Hoo;
return Hoo;
}}
Component Page:
<aura:component controller="Hotel">
<aura:attribute type="Hotel__c" name="newhotel"
default="{'sobject':'Hotel__c'}"/>
<form>
<h1></h1>
<lightning:input type="text"
value="{!v.newhotel.Name}" Name="Name" label
="Name"/>
<lightning:input aura:id="hotelField" type="email"
name="Email__c" label="Email"
value="{!v.newhotel.Email__c}" />
<lightning:input aura:id="hotelField" type="Phone"
name="Phone__c" label="Phone"
value="{!v.newhotel.Phone__c}" />
<lightning:input aura:id="hotelField" type="Picklist"
name="Type__c" label="Type"
value="{!v.newhotel.Type__c}" />
<lightning:button variant="save" label="save"
title="save action" onclick="{!c.handleClick}"/>

</form></aura:component>
Controller Page:
({
handleClick : function(component, event, helper) {
var newhotel = component.get("v.newhotel");
var act = component.get("c.save");
act.setParams({
"Hoo":newhotel
});
act.setCallback(this, function(a) {
var state = a.getState();
if (state === "SUCCESS") {
var name = a.getReturnValue();
alert("success");
}
else
{
alert("Failed");
}
});
$A.enqueueAction(act)
7.Display Records Examples:
Example1
Apex Class
public with sharing class Patientdata {
@AuraEnabled//Annotation to use method in lightning
component
public static List<patient__c> getPatientList() {//Fetch
data
return [SELECT Id,Name,Ph_no_c,PNamec,Addressc
FROM patient_c];

}
}
Component Page:
<aura:component
implements="force:appHostable,flexipage:availableForAll
PageTypes,flexipage:availableForRecordHome,force:hasR
ecordId" access="global" controller="Patientdata" >
<aura:attribute Name='patient' type='patient__c[]'/>
<aura:handler name="init" value="{!this}"
action="{!c.getPatient}" />
<table class="slds-table slds-table--bordered slds-max-
medium-table--stacked-horizontal"><!--Table must be
responsive-->
<thead>
<tr class="slds-text-heading--label ">

<th class="slds-is-sortable"
scope="col">Patientname</th>
<th class="slds-is-sortable"
scope="col">Lname</th>
<th class="slds-is-sortable"
scope="col">phno</th>

</tr>
</thead>
<tbody>
<aura:iteration items="{!v.patient}" var="Pat"><!--
Dynamic Listing of -->
<tr class="slds-hint-parent">
<td data-label=" PatienLname"
style="padding-left:0;">{!Pat.Name}</td>
<td data-label="PatientName"
style="padding-left:0;">{!Pat.PName__c}</td>

<td data-label="phno" style="padding-


left:0;">{!Pat.Ph_no__c}</td>

</tr>
</aura:iteration>
</tbody>
</table>

</aura:component>
Controller Page:
({
getPatient : function(component) {
var action=component.get("c.getPatientList");
alert(action);

action.setCallback(this,function(a){
componet.set("v.patient",a.getReturnValue);

});
$A.enqueueAction(action);
}
}) }})

Application Page:
<aura:application extends="force:slds">
<c:patient/>
</aura:application>
New Example:
Apex Class:
public with sharing class hoteldisplay {
@auraEnabled //Annoation to use method in lighting
component
Public static List<Hotel__c>gethotellist(){//Fetch data
return[select
Id,Name,Email__c,Phone__c,Type__c,Capacity__c from
Hotel__c ];
}
}
Component Page:
<aura:component

implements="force:appHostable,flexipage:availableForAll
PageTypes,flexipage:availableForRecordHome,force:hasR
ecordId" access="global" controller="hoteldisplay" >
<aura:attribute Name='hotel' type='Hotel__c[]'/>
<aura:handler name="init" value="{!this}"
action="{!c.gethotel}" />
<table class="slds-table slds-table--bordered slds-max-
medium-table--stacked-horizontal"><!--Table must be
responsive-->
<thead>
<tr class="slds-text-heading--label ">

<th class="slds-is-sortable"
scope="col">name</th>
<th class="slds-is-sortable"
scope="col">Email</th>
<th class="slds-is-sortable"
scope="col">Phone</th>
<th class="slds-is-sortable"
scope="col">Capacity</th>
<th class="slds-is-sortable"
scope="col">Type</th>
</tr>
</thead>
<tbody>
<aura:iteration items="{!v.hotel}" var="Hot"><!--
Dynamic Listing of -->
<tr class="slds-hint-parent">
<td data-label="name" style="padding-
left:0;">{!Hot.Name}</td>
<td data-label="Email" style="padding-
left:0;">{!Hot.Email__c}</td>
<td data-label="Phone" style="padding-
left:0;">{!Hot.Phone__c}</td>
<td data-label="Capacity" style="padding-
left:0;">{!Hot.Capacity__c}</td>
<td data-label="Type" style="padding-
left:0;">{!Hot.Type__c}</td>
</tr>
</aura:iteration>
</tbody>
</table>
</aura:component>
Controller Page:
({
gethotel: function(component, event, helper) {
var action=component.get("c.gethotellist");
alert(action);

action.setCallback(this,function(a){
component.set("v.hotel",a.getReturnValue());

});
$A.enqueueAction(action);

}
})
8.Pagination Code:
public class ContactAuraController {
@AuraEnabled
public static ContactDataTableWrapper getContactData(Integer pageNumber,
Integer pageSize) {

//Offset for SOQL


Integer offset = (pageNumber - 1) * pageSize;

//Total Records
Integer totalRecords = [SELECT COUNT() FROM Contact];
Integer recordEnd = pageSize * pageNumber;

//Instance of Contact DataTable Wrapper Class


ContactDataTableWrapper objDT = new ContactDataTableWrapper();
objDT.pageSize = pageSize;
objDT.pageNumber = pageNumber;
objDT.recordStart = offset + 1;
objDT.recordEnd = totalRecords >= recordEnd ? recordEnd : totalRecords;
objDT.totalRecords = totalRecords;
objDT.contactList = [SELECT Id, Name, Phone, Email FROM Contact ORDER BY
Name LIMIT :pageSize OFFSET :offset];
return objDT;
}
//Wrapper Class For Contact DataTable
public class ContactDataTableWrapper {
@AuraEnabled
public Integer pageSize {get;set;}
@AuraEnabled
public Integer pageNumber {get;set;}
@AuraEnabled
public Integer totalRecords {get;set;}
@AuraEnabled
public Integer recordStart {get;set;}
@AuraEnabled
public Integer recordEnd {get;set;}
@AuraEnabled
public List<Contact> contactList {get;set;}
}
}
Component Page:
<!--Pagination.cmp-->
<aura:component
implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:ava
ilableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTyp
es,force:lightningQuickAction" controller="ContactAuraController">
<aura:handler name="init" value="{!this}" action="{!c.doInit}" />

<aura:attribute name="ContactList" type="Contact[]"/>


<aura:attribute name="PageNumber" type="Integer" default="1"/>
<aura:attribute name="TotalPages" type="integer" default="0"/>
<aura:attribute name="TotalRecords" type="integer" default="0"/>
<aura:attribute name="RecordStart" type="integer" default="0"/>
<aura:attribute name="RecordEnd" type="integer" default="0"/>

<div class="slds-m-around_xx-large">
<h1 class="slds-text-heading--medium">Contacts</h1>
<br/>
<div class="slds-float_right">
<ui:inputSelect aura:id="pageSize" label="Display Records Per Page "
change="{!c.onSelectChange}">
<ui:inputSelectOption text="10" label="10" value="true"/>
<ui:inputSelectOption text="15" label="15"/>
<ui:inputSelectOption text="20" label="20"/>
</ui:inputSelect>
<br/>
</div>

<table class="slds-table slds-table_bordered slds-table_cell-buffer">


<thead>
<tr class="slds-text-title_caps">
<th scope="col">
<strong><div class="slds-truncate"
title="Name">Name</div></strong>
</th>
<th scope="col">
<strong><div class="slds-truncate"
title="Phone">Phone</div></strong>
</th>
<th scope="col">
<strong><div class="slds-truncate"
title="Email">Email</div></strong>
</th>
</tr>
</thead>
<tbody>
<aura:iteration items="{!v.ContactList}" var="con">
<tr>
<th scope="row" data-label="Name">
<div class="slds-truncate" title="{!con.Name}">{!con.Name}</div>
</th>
<th scope="row" data-label="Phone">
<div class="slds-truncate"
title="{!con.Phone}">{!con.Phone_c}</div>
</th>
<th scope="row" data-label="Email">
<div class="slds-truncate" title="{!con.Email}">{!con.Email}</div>
</th>
</tr>
</aura:iteration>
</tbody>
</table>

<div class="slds-clearfix">
<div class="slds-page-header" role="banner">
Controller Page:
({
getContactList: function(component, pageNumber, pageSize) {
var action = component.get("c.getContactData");
alert(action);
action.setParams({
"pageNumber": pageNumber,
"pageSize": pageSize
});
action.setCallback(this, function(result) {
var state = result.getState();
if (component.isValid() && state === "SUCCESS"){
var resultData = result.getReturnValue();
component.set("v.ContactList", resultData.contactList);
component.set("v.PageNumber", resultData.pageNumber);
component.set("v.TotalRecords", resultData.totalRecords);
component.set("v.RecordStart", resultData.recordStart);
component.set("v.RecordEnd", resultData.recordEnd);
component.set("v.TotalPages", Math.ceil(resultData.totalRecords /
pageSize));
}
});
$A.enqueueAction(action);
}
})
Helper Page:
({
doInit: function(component, event, helper) {
var pageNumber = component.get("v.PageNumber");
alert(pageNumber);
var pageSize = component.find("pageSize").get("v.value");
alert(pageSize);
helper.getContactList(component, pageNumber, pageSize);
},

handleNext: function(component, event, helper) {


var pageNumber = component.get("v.PageNumber");
var pageSize = component.find("pageSize").get("v.value");
pageNumber++;
helper.getContactList(component, pageNumber, pageSize);
},

handlePrev: function(component, event, helper) {


var pageNumber = component.get("v.PageNumber");
var pageSize = component.find("pageSize").get("v.value");
pageNumber--;
helper.getContactList(component, pageNumber, pageSize);
},

onSelectChange: function(component, event, helper) {


var page = 1;
var pageSize = component.find("pageSize").get("v.value");
helper.getContactList(component, page, pageSize);
},
})

9.Dynamic Picklist
Apex Class:
public class DynamicPicklist21 {
@AuraEnabled
Public static void createEmployee(Employee__c empobj){
try{

insert empobj;

}catch(Exception e){
System.debug(e.getMessage());
System.debug(e.getLineNumber());
}

@AuraEnabled
public static Map<String, String> getEmployeeFieldValue(){
Map<String, String> options = new Map<String, String>();

Schema.DescribeFieldResult fieldResult =
Employee_c.DIstrict_c.getDescribe();

List<Schema.PicklistEntry> pValues = fieldResult.getPicklistValues();


for (Schema.PicklistEntry p: pValues) {

options.put(p.getValue(), p.getLabel());
}
return options;
}
}
Component Page:
<aura:component
implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:ava
ilableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTyp
es,force:lightningQuickAction" access="global" controller="DynamicPicklist21" >

<aura:attribute name="fieldMap" type="Map"/>


<aura:attribute name="Employee" type="Employee_c"
default="{'sobjectType':'Employee_c',
}"/>

<!--Declare Handler-->
<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>

<!--Component Start-->
<div class="slds-m-around--xx-large">
<div class="container-fluid">
<div class="form-group">
<lightning:input name="Name" type="text" label="Name"
value="{!v.Employee.Name}" />
</div>
<div class="form-group">
<lightning:input name="Phone" type="phone" label="phone"
value="{!v.Employee.Phone_Number__c}" />
</div>
<div class="form-group">
<lightning:input name="currenteffort" type="Number"
label="currecteffort" value="{!v.Employee.currecteffort__c}" />
</div>
<div class="form-group">

</div>
<div class="form-group">
<lightning:select aura:id="industryPicklist"
value="{!v.Employee.DIstrict__c}" onchange="{!c.handleOnChange}"
name="industryPicklist" label="District" required="true">
<option value="">--None--</option>
<aura:iteration items="{!v.fieldMap}" var="i" indexVar="key">
<option text="{!i.value}" value="{!i.key}"
selected="{!i.key==v.Employee.DIstrict__c}" />
</aura:iteration>
</lightning:select>
</div>
</div>
<br/>
<lightning:button variant="brand" label="Submit" onclick="{!c.EmpSave}" />
</div>
</aura:component>
Controller Page:
({

doInit: function(component, event, helper) {


helper.getPicklistValues(component, event);
alert('hii');
},

EmpSave : function(component, event, helper) {


helper.EmpSave(component, event);
},

//handle Industry Picklist Selection


handleOnChange : function(component, event, helper) {
var industry = component.get("v.Employee.DIstrict__c");
alert(industry);
}

})
Helper Page:
({
getPicklistValues: function(component, event) {
var action = component.get("c.getEmployeeFieldValue");
action.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS") {
var result = response.getReturnValue();
var fieldMap = [];
for(var key in result){
fieldMap.push({key: key, value: result[key]});
}
component.set("v.fieldMap", fieldMap);
}
});
$A.enqueueAction(action);
},
EmpSave : function(component, event) {
var emp = component.get("v.Employee");
var action = component.get("c.createEmployee");
action.setParams({
empobj : emp
});
action.setCallback(this,function(response){
var state = response.getState();
if(state === "SUCCESS"){
alert('Record Created Successfully!!');
} else if(state === "ERROR"){
var errors = action.getError();
if (errors) {
if (errors[0] && errors[0].message) {
alert(errors[0].message);
}
}
}
});
$A.enqueueAction(action);
}})

You might also like