@@ -101,7 +101,7 @@ private WriteOperationKind ConvertOperationCode(AtomicOperationObject atomicOper
101101 private ( ResourceIdentityRequirements requirements , IIdentifiable ? primaryResource ) ConvertRef ( AtomicOperationObject atomicOperationObject ,
102102 RequestAdapterState state )
103103 {
104- ResourceIdentityRequirements requirements = CreateIdentityRequirements ( state ) ;
104+ ResourceIdentityRequirements requirements = CreateDataRequirements ( state ) ;
105105 IIdentifiable ? primaryResource = null ;
106106
107107 AtomicReferenceResult ? refResult = atomicOperationObject . Ref != null
@@ -110,14 +110,7 @@ private WriteOperationKind ConvertOperationCode(AtomicOperationObject atomicOper
110110
111111 if ( refResult != null )
112112 {
113- requirements = new ResourceIdentityRequirements
114- {
115- ResourceType = refResult . ResourceType ,
116- IdConstraint = requirements . IdConstraint ,
117- IdValue = refResult . Resource . StringId ,
118- LidValue = refResult . Resource . LocalId ,
119- RelationshipName = refResult . Relationship ? . PublicName
120- } ;
113+ requirements = CreateRefRequirements ( refResult , requirements ) ;
121114
122115 state . WritableRequest ! . PrimaryId = refResult . Resource . StringId ;
123116 state . WritableRequest . PrimaryResourceType = refResult . ResourceType ;
@@ -132,7 +125,7 @@ private WriteOperationKind ConvertOperationCode(AtomicOperationObject atomicOper
132125 return ( requirements , primaryResource ) ;
133126 }
134127
135- private ResourceIdentityRequirements CreateIdentityRequirements ( RequestAdapterState state )
128+ private ResourceIdentityRequirements CreateDataRequirements ( RequestAdapterState state )
136129 {
137130 JsonElementConstraint ? idConstraint = state . Request . WriteOperation == WriteOperationKind . CreateResource
138131 ? _options . AllowClientGeneratedIds ? null : JsonElementConstraint . Forbidden
@@ -144,6 +137,18 @@ private ResourceIdentityRequirements CreateIdentityRequirements(RequestAdapterSt
144137 } ;
145138 }
146139
140+ private static ResourceIdentityRequirements CreateRefRequirements ( AtomicReferenceResult refResult , ResourceIdentityRequirements dataRequirements )
141+ {
142+ return new ResourceIdentityRequirements
143+ {
144+ ResourceType = refResult . ResourceType ,
145+ IdConstraint = dataRequirements . IdConstraint ,
146+ IdValue = refResult . Resource . StringId ,
147+ LidValue = refResult . Resource . LocalId ,
148+ RelationshipName = refResult . Relationship ? . PublicName
149+ } ;
150+ }
151+
147152 private void ConvertRefRelationship ( SingleOrManyData < ResourceObject > relationshipData , AtomicReferenceResult refResult , RequestAdapterState state )
148153 {
149154 if ( refResult . Relationship != null )
0 commit comments