dynamicsnode
Version:
Create simple scripts to interact with Dynamics CRM using Node.js
38 lines • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var Guid_1 = require("./Guid");
var Messages_1 = require("./Messages");
var CRMDataTypes_1 = require("./CRMDataTypes");
var MetadataUtil_1 = require("./MetadataUtil");
var StateUtil = (function () {
function StateUtil() {
}
StateUtil.setState = function (crm, entityName, entityId, state, status) {
var idValue, stateValue, statusValue;
idValue = entityId instanceof Guid_1.Guid ? entityId.toString() : entityId;
if (typeof state === 'string') {
stateValue = MetadataUtil_1.MetadataUtil.getOptionsetValue(crm, entityName, 'statecode', state);
if (stateValue === null)
throw new Error("Couldn't find value '" + state + "' for statecode in entity '" + entityName + "'");
}
else {
stateValue = state;
}
if (typeof status === 'string') {
statusValue = MetadataUtil_1.MetadataUtil.getOptionsetValue(crm, entityName, 'statuscode', status);
if (statusValue === null)
throw new Error("Couldn't find value '" + status + "' for statuscode in entity '" + entityName + "'");
}
else {
statusValue = status;
}
var request = new Messages_1.SetStateRequest();
request.EntityMoniker = new CRMDataTypes_1.EntityReference(idValue, entityName);
request.State = new CRMDataTypes_1.OptionSetValue(stateValue);
request.Status = new CRMDataTypes_1.OptionSetValue(statusValue);
crm.Execute(request);
};
return StateUtil;
}());
exports.StateUtil = StateUtil;
//# sourceMappingURL=StateUtil.js.map