public void Create(IEnumerable <ResourceObject> resources) { if (resources == null) { throw new ArgumentNullException(nameof(resources)); } ResourceObject[] resourceArray = resources.ToArray(); try { using (Message message = MessageComposer.CreateCreateMessage(resourceArray)) { using (Message responseMessage = this.Invoke((c) => c.Create(message))) { responseMessage.ThrowOnFault(); foreach (ResourceObject resource in resourceArray) { resource.CompleteCreateOperation(resource.ObjectID); } } } } catch (FaultException <RepresentationFailures> e) { throw InvalidRepresentationException.GetException(e.Detail); } }
public void Create(ResourceObject resource) { if (resource == null) { throw new ArgumentNullException(nameof(resource)); } try { using (Message message = MessageComposer.CreateCreateMessage(resource)) { using (Message responseMessage = this.Invoke((c) => c.Create(message))) { responseMessage.ThrowOnFault(); ResourceCreatedType response = responseMessage.DeserializeMessageWithPayload <ResourceCreatedType>(); UniqueIdentifier id = new UniqueIdentifier(response.EndpointReference.ReferenceProperties.ResourceReferenceProperty.Text); resource.CompleteCreateOperation(id); } } } catch (FaultException <RepresentationFailures> e) { throw InvalidRepresentationException.GetException(e.Detail); } }