var Orgname;
var ServerUrl;
function UpdateAvailableSlotsInItems() {
debugger;
var NewDate = window.parent.Xrm.Page.data.entity.attributes.get("sgs_scheduleddate").getValue();
if (NewDate != null) {
yyyy = NewDate.getYear();
mm = NewDate.getMonth();
dd = NewDate.getDate();
var OptionText = window.parent.Xrm.Page.getAttribute("sgs_timezone").getSelectedOption().text;
var Str = OptionText.substring(4, 10);
var IsPlus = Str.indexOf("+");
var IsMinus = Str.indexOf("-");
if (IsPlus == 0 || IsMinus == 0) {
Str = Str.replace(":", ".");
var Oprtr = Str.substring(0, 1);
Str = Str.substring(1);
var Split = Str.split('.');
var hh = parseFloat(Split[0]);
var mmm = parseFloat(Split[1] / 60)
var Off = hh + mmm;
var Offset = Oprtr + Off;
ConvertedDate = calcTime(Offset, yyyy, mm, dd);
}
else {
var Offset = 0;
ConvertedDate = calcTime(Offset, yyyy, mm, dd);
}
var FromDate = new Date(ConvertedDate)
if (FromDate.toISOString) {
FromDate = FromDate.toISOString();
}
else {
FromDate = convertDate(FromDate.toString());
}
var ToDate = new Date(ConvertedDate);
ToDate.setDate(ToDate.getDate() + 1);
if (ToDate.toISOString) {
ToDate = ToDate.toISOString();
}
else {
ToDate = convertDate(ToDate.toString());
}
Orgname = Xrm.Page.context.getOrgUniqueName();
ServerUrl = Xrm.Page.context.getServerUrl();
var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
var query = ServerUrl + ODATA_ENDPOINT + "/sgs_callbackconfigurationitemSet?$filter=sgs_date gt datetime'" + FromDate + "' and sgs_date le datetime'" + ToDate + "'";
var jSonArray = getDatafromOrg(query);
var xmlString = "";
for (var count = 0; count < jSonArray[0].results.length; count++) {
var UpdateAvailableItems = jSonArray[0].results[count].sgs_availableslots;
UpdateAvailableItems -= 1;
}
}
}
function getDatafromOrg(oDataUri) {
var jSonArray = new Array();
jQuery.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: oDataUri,
async: false,
beforeSend: function (XMLHttpRequest) {
//Specifying this header ensures that the results will be returned as JSON.
XMLHttpRequest.setRequestHeader("Accept", "application/json");
},
success: function (data, textStatus, XmlHttpRequest) {
if (data && data.d != null) {
jSonArray.push(data.d);
}
},
error: function (XmlHttpRequest, textStatus, errorThrown) {
// alert("Error : has occured during retrieval of the data");
}
});
return jSonArray;
}
}
function calcTime(Offset) {
var d = new Date(yyyy, mm, dd);
var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
var nd = new Date(utc + (3600000 * Offset));
return nd.toLocaleString();
}
if (!Date.prototype.toISOString) {
Date.prototype.toISOString = function () {
function pad(n) { return n < 10 ? '0' + n : n }
return this.getUTCFullYear() + '-'
+ pad(this.getUTCMonth() + 1) + '-'
+ pad(this.getUTCDate()) + 'T'
+ pad(this.getUTCHours()) + ':'
+ pad(this.getUTCMinutes()) + ':'
+ pad(this.getUTCSeconds()) + 'Z';
};
}