How can I write && in Apex if statement?
I want to know the proper way to write && condition in Apex and to check whether the condition if(days Difference < 14 xss=removed>
The code is as follows:
Listptoevents = new List List(); ptorequest = Trigger.new;
for(Thrive_HR_PTO_Request__c ptr : ptorequest) {
datetime StartDate = ptr.Start_Date__c;
datetime EndDate = ptr.End_Date__c;
date StartDateOnly = StartDate.date();
date EndDateOnly = EndDate.date();
Integer daysDifference = StartDateOnly.daysBetween(EndDateOnly);
if(daysDifference < 14 xss=removed> Event evt = new Event(
Ownerid=ptr.CreatedById,
WhatId=ptr.Id,
Subject='Sicktastic' + ' on ' + ptr.Start_Date__c.date() + ' to ' + ptr.End_Date__c.date(),
StartDateTime=ptr.Start_Date__c,
EndDateTime=ptr.End_Date__c,
ActivityDateTime=ptr.Start_Date__c,
ActivityDate=ptr.Start_Date__c.date(),
IsAllDayEvent = ptr.All_Day_Event__c
);
// add events to record
ptoevents.add(evt);
}
else if (daysDifference >= 14) {
ptr.End_Date__c.addError('You can not exceed more than 14 days');
}
}
insert ptoevents;
}
There is a problem with ptr.All_Day_Event__c = true because you assign a value to your variable using =, whereas you have to compare the value using ==, but the logical operator && is okay. All you need to do is improve the code a bit.
There is no need to have prt.All_Day_Event__c == true if All_Day_Event__c is a Boolean field. The if block will run if both the conditions return true.