using System; using Newtonsoft.Json; using Newtonsoft.Json.Converters; namespace Kreta.BusinessLogic.Helpers.SystemSettings { class SystemSettingDateConverter : DateTimeConverterBase { public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { DateTime date; if (DateTime.TryParse(reader.Value.ToString(), out date)) { return date; } var value = reader.Value.ToString().ToUpper(); value = value.Replace("YYYY", "2000"); value = value.Replace("MM", "01"); value = value.Replace("DD", "01"); return DateTime.Parse(value); } public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { throw new NotImplementedException(); } } }