UNPKG

dynamicsnode

Version:

Create simple scripts to interact with Dynamics CRM using Node.js

38 lines 1.73 kB
"use strict"; 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