using Newtonsoft.Json; using Newtonsoft.Json.Converters; using System; namespace Dfs.WayneChina.CardTrxManager.TrxSubmitter { /// /// Converts DateTime to the required format `yyyy-MM-dd HH:mm:ss fff`. /// public class PosJsonDateConverter : DateTimeConverterBase { public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { DateTime result; try { if (!DateTime.TryParse(reader.Value.ToString(), out result)) result = DateTime.ParseExact(reader.Value.ToString(), "yyyy-MM-dd HH:mm:ss fff", null); } catch (FormatException f) { result = DateTime.ParseExact(reader.Value.ToString(), "yyyy-MM-dd HH:mm:ss", null); } return result; } public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteValue(((DateTime)value).ToString("yyyy-MM-dd HH:mm:ss fff")); } } }