public ResourceObject Get(UniqueIdentifier id, IEnumerable <string> attributes, CultureInfo locale) { if (id == null) { throw new ArgumentNullException("id"); } bool partialResponse = attributes != null; GetResponse r = new GetResponse(); using (Message message = MessageComposer.CreateGetMessage(id, attributes, locale)) { using (Message responseMessage = this.Invoke((c) => c.Get(message))) { responseMessage.ThrowOnFault(); if (partialResponse) { GetResponse response = responseMessage.DeserializeMessageWithPayload <GetResponse>(); return(new ResourceObject(response.Results.OfType <XmlElement>(), this.client, locale)); } else { XmlDictionaryReader fullObject = responseMessage.GetReaderAtBodyContents(); return(new ResourceObject(fullObject, this.client, locale)); } } } }
internal XmlDictionaryReader GetFullObjectForUpdate(ResourceObject resource) { if (resource == null) { throw new ArgumentNullException(nameof(resource)); } using (Message message = MessageComposer.CreateGetMessage(resource.ObjectID, null, resource.Locale, resource.HasPermissionHints)) { using (Message responseMessage = this.Invoke((c) => c.Get(message))) { responseMessage.ThrowOnFault(); return(responseMessage.GetReaderAtBodyContents()); } } }