/// <summary> /// Reads the JSON representation of the object. /// </summary> /// <param name="reader">The <see cref="JsonReader" /> to read from.</param> /// <param name="objectType">Type of the object.</param> /// <param name="existingValue">The existing value of object being read.</param> /// <param name="serializer">The calling serializer.</param> /// <returns>The object value.</returns> public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { if (reader.TokenType != JsonToken.Integer) { throw new Exception("Wrong Token Type"); } var ticks = (long)reader.Value; return(UnixDateTimeConverterHelper.FromUnixTime(ticks)); }
//public override object ReadJson(JsonReader reader, Type objectType, JsonSerializer serializer) //{ // if (reader.TokenType != JsonToken.Integer) // throw new Exception("Wrong Token Type"); // long ticks = (long)reader.Value; // return ticks.FromUnixTime(); //} /// <summary> /// Writes the JSON representation of the object. /// </summary> /// <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter" /> to write to.</param> /// <param name="value">The value.</param> /// <param name="serializer">The calling serializer.</param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { long val; if (value is DateTime) { val = UnixDateTimeConverterHelper.ToUnixTime((DateTime)value); } else { throw new Exception("Expected date object value."); } writer.WriteValue(val); }