You need to sign in to do that
Don't have an account?
Olivia Porter 1
Comparison arguments must be compatible types: List, Date
I am trying to compare the Campaign.StartDate to today's date. Because they are of different Types, APEX won't let me do this. Is there a way around this? Is it possible to convert a Date type into a CampaignMember type? Or vise versa? Please see below code:
public class RecordIdPass {
Date val= Date.today();
List<CampaignMember> StartDateTest = [SELECT Campaign.StartDate FROM CampaignMember WHERE LeadId = :leadId];
public RecordIdPass() {
//error- cannot compare two different Types of list objects
if (StartDateTest != val) {
List<CampaignMember> cms= [SELECT CampaignId, LeadId, Status, Campaign.StartDate FROM CampaignMember WHERE LeadId = :leadId ORDER BY Campaign.StartDate DESC limit 1];
}
}
}
public class RecordIdPass {
Date val= Date.today();
List<CampaignMember> StartDateTest = [SELECT Campaign.StartDate FROM CampaignMember WHERE LeadId = :leadId];
public RecordIdPass() {
//error- cannot compare two different Types of list objects
if (StartDateTest != val) {
List<CampaignMember> cms= [SELECT CampaignId, LeadId, Status, Campaign.StartDate FROM CampaignMember WHERE LeadId = :leadId ORDER BY Campaign.StartDate DESC limit 1];
}
}
}
CampaignMember CM = [SELECT Campaign.StartDate FROM CampaignMember WHERE LeadId = :leadId LIMIT 1];
Date StartDateTest =CM.StartDate;
I have tried to convert the "List<CampaignMember> StartDateTest" into 'Date' a number of different ways but no avail. Which I find strange because the Campaign.StartDate is of type Date.
public class RecordIdPass {
public RecordIdPass() {
List<CampaignMember> cms= [SELECT CampaignId, LeadId, Status, Campaign.StartDate FROM CampaignMember WHERE LeadId = :leadId and Campaign.StartDate < TODAY ORDER BY Campaign.StartDate DESC limit 1];
}
}