private AtomicResultObject SerializeOperation(OperationContainer operation) { ResourceObject resourceObject = null; if (operation != null) { _request.CopyFrom(operation.Request); _fieldsToSerialize.ResetCache(); var resourceType = operation.Resource.GetType(); var attributes = _fieldsToSerialize.GetAttributes(resourceType); var relationships = _fieldsToSerialize.GetRelationships(resourceType); resourceObject = ResourceObjectBuilder.Build(operation.Resource, attributes, relationships); } if (resourceObject != null) { resourceObject.Links = _linkBuilder.GetResourceLinks(resourceObject.Type, resourceObject.Id); } return(new AtomicResultObject { Data = resourceObject }); }
private AtomicResultObject SerializeOperation(OperationContainer operation) { ResourceObject resourceObject = null; if (operation != null) { _request.CopyFrom(operation.Request); _fieldsToSerialize.ResetCache(); _evaluatedIncludeCache.Set(null); _resourceDefinitionAccessor.OnSerialize(operation.Resource); Type resourceType = operation.Resource.GetType(); IReadOnlyCollection <AttrAttribute> attributes = _fieldsToSerialize.GetAttributes(resourceType); IReadOnlyCollection <RelationshipAttribute> relationships = _fieldsToSerialize.GetRelationships(resourceType); resourceObject = ResourceObjectBuilder.Build(operation.Resource, attributes, relationships); } if (resourceObject != null) { resourceObject.Links = _linkBuilder.GetResourceLinks(resourceObject.Type, resourceObject.Id); } return(new AtomicResultObject { Data = resourceObject }); }