Hi Guys,
I'm not sure what I'm doing incorrect in my Rest API call. I want to use the datefield ( date of birth of lead) in Odata query. but the below code does not work for me. can please somebody help me with this.
function gettheDuplicateLead{
var dateofbirth = Xrm.Page.getAttribute("tht_dateofbirth");
var odataDateFormat = getODataUTCDateFilter(dateofbirth.getValue());
retrieveResult.open("GET", ODataPath +"/LeadSet?$select=FullName,LeadId&$filter=(LastName eq '" + lastnamevalue +"' and tht_DateOfBirth eq '" + odataDateFormat +"')",false);
retrieveResult.setRequestHeader("Accept", "application/json");
retrieveResult.setRequestHeader("Content-Type", "application/json; charset=utf-8?");
retrieveResult.send();
debugger;
if (retrieveResult.readyState == 4 /* complete */)
{
if (retrieveResult.status == 200)
{
var retrieved = this.parent.JSON.parse(retrieveResult.responseText).d;
var Result = retrieved.results;
if (typeof Result !== "undefined" && currentleadid == "")
{
for (var i = 0; i < Result.length; i++) {
Xrm.Page.ui.setFormNotification('Duplicate Lead - ' +Result[i].FullName+ ' - is found', 'ERROR', notificationMessage);
eventArgs.preventDefault();
eventArgs.returnValue = false;
}
}
}
}
function getODataUTCDateFilter(date) {
var monthString;
var rawMonth = (date.getUTCMonth() + 1).toString();
if (rawMonth.length == 1) {
monthString = "0" + rawMonth;
}
else { monthString = rawMonth; }
var dateString;
var rawDate = date.getUTCDate().toString();
if (rawDate.length == 1) {
dateString = "0" + rawDate;
}
else { dateString = rawDate; }
var hourString = date.getUTCHours().toString();
if (hourString.length == 1)
hourString = "0" + hourString;
var minuteString = date.getUTCMinutes().toString();
if (minuteString.length == 1)
minuteString = "0" + minuteString;
var secondString = date.getUTCSeconds().toString();
if (secondString.length == 1)
secondString = "0" + secondString;
var DateFilter = "datetime'";
DateFilter += date.getUTCFullYear() + "-";
DateFilter += monthString + "-";
DateFilter += dateString;
DateFilter += "T" + hourString + ":";
DateFilter += minuteString + ":";
DateFilter += secondString + "Z'";
return DateFilter;
}