/// <summary> /// Try to parse the LocalDate /// </summary> /// <param name="reader"></param> /// <param name="objectType"></param> /// <param name="existingValue"></param> /// <param name="serializer"></param> /// <returns></returns> public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { // Load JObject from stream var jValue = JToken.Load(reader).Value <string>(); return(string.IsNullOrEmpty(jValue) ? LocalDateConstants.ZeroLocalDate : LocalDateFactory.ParseLocalDate(jValue)); }
public void Test__BasicPattern() { // Arrange const string str = "01/02/2010"; var expected = new LocalDate(2010, 1, 2); // Act var result = LocalDateFactory.ParseLocalDate(str); // Assert Assert.Equal(expected, result); }
public void Test__NamedMonths() { // Arrange const string str = "January 2, 2010"; var expected = new LocalDate(2010, 1, 2); // Act var result = LocalDateFactory.ParseLocalDate(str); // Assert Assert.Equal(expected, result); }
/// <summary> /// Parse the LocalDate from string /// </summary> /// <param name="context"></param> /// <param name="args"></param> /// <returns></returns> public override LocalDate Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args) { var type = context.Reader.GetCurrentBsonType(); return(type != BsonType.String ? LocalDateConstants.ZeroLocalDate : LocalDateFactory.ParseLocalDate(context.Reader.ReadString())); }