Imgur.API.JsonConverters.EpochTimeConverter.WriteJson C# (CSharp) Method

WriteJson() public method

Writes the JSON representation of the object.
public WriteJson ( JsonWriter writer, object value, JsonSerializer serializer ) : void
writer Newtonsoft.Json.JsonWriter The Newtonsoft.Json.JsonWriter to write to.
value object The value.
serializer Newtonsoft.Json.JsonSerializer The calling serializer.
return void
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var dateTimeOffset = (DateTimeOffset) value;

            var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

            var timeSpan = dateTimeOffset - epoch;

            var time = (long) timeSpan.TotalSeconds;

            serializer.Serialize(writer, time);
        }
    }

Usage Example

        public void WriteJson(string expected, DateTimeOffset original)
        {
            var converter = new EpochTimeConverter();

            var sb = new StringBuilder();
            var stringWriter = new StringWriter(sb);
            var writer = new JsonTextWriter(stringWriter);
            var serializer = new JsonSerializer();

            converter.WriteJson(writer, original, serializer);

            var actual = sb.ToString();

            Assert.Equal(expected, actual);
        }
All Usage Examples Of Imgur.API.JsonConverters.EpochTimeConverter::WriteJson