internal IEnumerable <ResourceProperty> GetResourceSerializableProperties(ResourceSetWrapper resourceSet, ResourceType resourceType) { if (resourceType.ResourceTypeKind == ResourceTypeKind.EntityType) { return(resourceSet.GetEntitySerializableProperties(this, resourceType)); } return(resourceType.Properties); }
internal Version GetMinimumResponseVersion(IDataService service, ResourceSetWrapper resourceSet, bool considerEpmInVersion) { Version versionToRaise = WebUtil.RaiseVersion(RequestDescription.Version1Dot0, this.GetMinimumProtocolVersion(considerEpmInVersion)); if (service.Configuration.DataServiceBehavior.ShouldIncludeAssociationLinksInResponse && resourceSet.GetEntitySerializableProperties(service.Provider, this).Any<ResourceProperty>(p => (p.TypeKind == System.Data.Services.Providers.ResourceTypeKind.EntityType))) { versionToRaise = WebUtil.RaiseVersion(versionToRaise, RequestDescription.Version3Dot0); } if (this.IsOpenType) { Version version2 = service.Configuration.DataServiceBehavior.MaxProtocolVersion.ToVersion(); Version requestMaxVersion = service.OperationContext.Host.RequestMaxVersion; Version targetVersion = (requestMaxVersion < version2) ? requestMaxVersion : version2; versionToRaise = WebUtil.RaiseVersion(versionToRaise, targetVersion); } return versionToRaise; }
internal Version GetMinimumResponseVersion(IDataService service, ResourceSetWrapper resourceSet, bool considerEpmInVersion) { Version versionToRaise = WebUtil.RaiseVersion(RequestDescription.Version1Dot0, this.GetMinimumProtocolVersion(considerEpmInVersion)); if (service.Configuration.DataServiceBehavior.ShouldIncludeAssociationLinksInResponse && resourceSet.GetEntitySerializableProperties(service.Provider, this).Any <ResourceProperty>(p => (p.TypeKind == System.Data.Services.Providers.ResourceTypeKind.EntityType))) { versionToRaise = WebUtil.RaiseVersion(versionToRaise, RequestDescription.Version3Dot0); } if (this.IsOpenType) { Version version2 = service.Configuration.DataServiceBehavior.MaxProtocolVersion.ToVersion(); Version requestMaxVersion = service.OperationContext.Host.RequestMaxVersion; Version targetVersion = (requestMaxVersion < version2) ? requestMaxVersion : version2; versionToRaise = WebUtil.RaiseVersion(versionToRaise, targetVersion); } return(versionToRaise); }