internal static object ConvertValue( object odataValue, string parameterName, Type expectedReturnType, IEdmTypeReference propertyType, IEdmModel model, HttpRequestMessage request, IServiceProvider serviceProvider) { var readContext = new ODataDeserializerContext { Model = model, Request = request }; // IS 2020-09-01 // primitive value if (propertyType.IsPrimitive()) { if (odataValue is OData.UriParser.ConstantNode) { OData.UriParser.ConstantNode node = odataValue as OData.UriParser.ConstantNode; return(node.Value); } //return EdmPrimitiveHelpers.ConvertPrimitiveValue(node != null ? node.Value : graph, clrType); } // IS 2020-09-01 var returnValue = ODataModelBinderConverter.Convert(odataValue, propertyType, expectedReturnType, parameterName, readContext, serviceProvider); if (!propertyType.IsCollection()) { return(returnValue); } return(ConvertCollectionType(returnValue, expectedReturnType)); }
internal static object ConvertValue( object odataValue, string parameterName, Type expectedReturnType, IEdmTypeReference propertyType, IEdmModel model, HttpRequestMessage request, IServiceProvider serviceProvider) { var readContext = new ODataDeserializerContext { Model = model, Request = request }; var returnValue = ODataModelBinderConverter.Convert(odataValue, propertyType, expectedReturnType, parameterName, readContext, serviceProvider); if (!propertyType.IsCollection()) { return(returnValue); } return(ConvertCollectionType(returnValue, expectedReturnType)); }