Exemplo n.º 1
0
    /// <summary>
    /// Mark edmtype to apply the serialization on
    /// </summary>
    /// <param name="edmType"></param>
    /// <returns></returns>
    public override ODataEdmTypeSerializer GetEdmTypeSerializer(Microsoft.OData.Edm.IEdmTypeReference edmType)
    {
        // Support for Entity types AND Complex types
        if (edmType.Definition.TypeKind == EdmTypeKind.Entity || edmType.Definition.TypeKind == EdmTypeKind.Complex)
        {
            return(_propertiesSerializer);
        }
        if (edmType.Definition.TypeKind == EdmTypeKind.Collection)
        {
            if (edmType.Definition.AsElementType().IsDecimal() || edmType.Definition.AsElementType().IsString())
            {
                return(_ignoreEmptyListsCollectionSerializer);
            }
            return(_ignoreEmptyListsSerializer);
        }
        var result = base.GetEdmTypeSerializer(edmType);

        return(result);
    }
 /// <inheritdoc/>
 public override ODataEdmTypeDeserializer GetEdmTypeDeserializer(Microsoft.OData.Edm.IEdmTypeReference edmType)
 {
     return(Instance.GetEdmTypeDeserializer(edmType));
 }