/// <inheritdoc/> public override void WriteObject(object graph, Type type, ODataMessageWriter messageWriter, ODataSerializerContext writeContext) { if (messageWriter == null) { throw Error.ArgumentNull("messageWriter"); } if (graph == null) { throw Error.ArgumentNull("graph"); } if (graph.GetType().IsEnum) { messageWriter.WriteValue(graph.ToString()); } else { if (graph is DateTime) { messageWriter.WriteValue(ODataPrimitiveSerializer.ConvertUnsupportedDateTime((DateTime)graph, writeContext != null ? writeContext.TimeZoneInfo : null)); } else { messageWriter.WriteValue(ODataPrimitiveSerializer.ConvertUnsupportedPrimitives(graph)); } } }
public void ConvertUnsupportedDateTime_NonStandardEdmPrimitives(DateTime graph, DateTimeOffset result) { // Arrange & Act TimeZoneInfoHelper.TimeZone = null; object value = ODataPrimitiveSerializer.ConvertUnsupportedPrimitives(graph); // Assert DateTimeOffset actual = Assert.IsType <DateTimeOffset>(value); Assert.Equal(new DateTimeOffset(graph), actual); }
public void ConvertUnsupportedDateTime_NonStandardEdmPrimitives_TimeZone(DateTime graph, DateTimeOffset result) { // Arrange TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"); TimeZoneInfoHelper.TimeZone = tzi; // Act object value = ODataPrimitiveSerializer.ConvertUnsupportedPrimitives(graph); // Assert DateTimeOffset actual = Assert.IsType <DateTimeOffset>(value); Assert.Equal(result, actual); }
public void ConvertUnsupportedPrimitives_NonStandardEdmPrimitives(object graph, object result) { Assert.Equal( result, ODataPrimitiveSerializer.ConvertUnsupportedPrimitives(graph)); }
public void ConvertUnsupportedPrimitives_DoesntChangeStandardEdmPrimitives(object graph, string type, string value) { Assert.Equal( graph, ODataPrimitiveSerializer.ConvertUnsupportedPrimitives(graph)); }