Adding Resources Example Two
The following example shows how to create a project that has two resources assigned to it. Note that one resource plays two different roles on the project, so the code is written as if to include a total of three sublist records: two for the person with two roles, plus one for the other resource.
C#
private void addProject()
{
// Create object
Job newProject = new Job();
// Set a value for companyName, which represents the name of the
// project, and for externalId, which is preffered for tracking purposes.
newProject.companyName = "Launch";
newProject.externalId = "103A";
// If this is a OneWorld account, identify the subsidiary.
RecordRef subsidiaryRef = new RecordRef();
subsidiaryRef.internalId = "1";
newProject.subsidiary = subsidiaryRef;
// Specify that the Resources sublist will hold three entries.
newProject.jobResourcesList = new JobResourcesList ();
newProject.jobResourcesList.jobResources = new JobResources[3];
// Define the three sublist records. The first two represent the
// same resource (the resource with the internalId 1148). Two entries
// are used because this resource is filling two different roles on the project.
newProject.jobResourcesList.jobResources[0] = new JobResources();
newProject.jobResourcesList.jobResources[0].jobResource = new RecordRef();
newProject.jobResourcesList.jobResources[0].jobResource.internalId = "1148";
newProject.jobResourcesList.jobResources[0].role = new RecordRef();
newProject.jobResourcesList.jobResources[0].role.internalId = "-3";
newProject.jobResourcesList.jobResources[1] = new JobResources();
newProject.jobResourcesList.jobResources[1].jobResource = new RecordRef();
newProject.jobResourcesList.jobResources[1].jobResource.internalId = "1148";
newProject.jobResourcesList.jobResources[1].role = new RecordRef();
newProject.jobResourcesList.jobResources[1].role.internalId = "1";
newProject.jobResourcesList.jobResources[2] = new JobResources();
newProject.jobResourcesList.jobResources[2].jobResource = new RecordRef();
newProject.jobResourcesList.jobResources[2].jobResource.internalId = "1147";
newProject.jobResourcesList.jobResources[2].role = new RecordRef();
newProject.jobResourcesList.jobResources[2].role.internalId = "1";
_service.add(newProject);
}
SOAP Request
<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header>
<passport xmlns="urn:messages_2017_1.platform.webservices.netsuite.com">
<email xmlns="urn:core_2017_1.platform.webservices.netsuite.com">user@netsuite.com</email>
<password xmlns="urn:core_2017_1.platform.webservices.netsuite.com">**********</password>
<account xmlns="urn:core_2017_1.platform.webservices.netsuite.com">12345</account>
<role internalId="3" xmlns="urn:core_2017_1.platform.webservices.netsuite.com"/>
</passport>
<preferences xmlns="urn:messages_2017_1.platform.webservices.netsuite.com"/>
</soap:Header>
<soap:Body>
<add xmlns="urn:messages_2017_1.platform.webservices.netsuite.com">
<record externalId="103A" xsi:type="q1:Job" xmlns:q1="urn:relationships_2017_1.lists.webservices.netsuite.com">
<q1:companyName>Launch</q1:companyName>
<q1:subsidiary internalId="1"/>
<q1:jobResourcesList>
<q1:jobResources>
<q1:jobResource internalId="1148"/>
<q1:role internalId="-3"/>
</q1:jobResources>
<q1:jobResources>
<q1:jobResource internalId="1148"/>
<q1:role internalId="1"/>
</q1:jobResources>
<q1:jobResources>
<q1:jobResource internalId="1147"/>
<q1:role internalId="1"/>
</q1:jobResources>
</q1:jobResourcesList>
</record>
</add>
</soap:Body>
</soap:Envelope>
SOAP Response
<soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<platformMsgs:documentInfo xmlns:platformMsgs="urn:messages_2017_1.platform.webservices.netsuite.com">
<platformMsgs:nsId>WEBSERVICES_1013519_0918201384682079363447691_943f17897de781</platformMsgs:nsId>
</platformMsgs:documentInfo>
</soapenv:Header>
<soapenv:Body>
<addResponse xmlns="urn:messages_2017_1.platform.webservices.netsuite.com">
<writeResponse>
<platformCore:status isSuccess="true" xmlns:platformCore="urn:core_2017_1.platform.webservices.netsuite.com"/>
<baseRef xsi:type="platformCore:RecordRef" type="job" externalId="103A" internalId="1155" xmlns:platformCore="urn:core_2017_1.platform.webservices.netsuite.com"/>
</writeResponse>
</addResponse>
</soapenv:Body>
</soapenv:Envelope>