30 lines
921 B
C#
30 lines
921 B
C#
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();
|
|
}
|
|
}
|
|
}
|