public override object ReadJson(JsonReader reader, Type t, object existingValue, JsonSerializer serializer) { if (t == typeof(SortOrder)) { return(SortOrderExtensions.ReadJson(reader, serializer)); } if (t == typeof(Cardinality)) { return(CardinalityExtensions.ReadJson(reader, serializer)); } if (t == typeof(Gender)) { return(GenderExtensions.ReadJson(reader, serializer)); } if (t == typeof(PersonType)) { return(PersonTypeExtensions.ReadJson(reader, serializer)); } if (t == typeof(SortOrder?)) { if (reader.TokenType == JsonToken.Null) { return(null); } return(SortOrderExtensions.ReadJson(reader, serializer)); } if (t == typeof(Cardinality?)) { if (reader.TokenType == JsonToken.Null) { return(null); } return(CardinalityExtensions.ReadJson(reader, serializer)); } if (t == typeof(Gender?)) { if (reader.TokenType == JsonToken.Null) { return(null); } return(GenderExtensions.ReadJson(reader, serializer)); } if (t == typeof(PersonType?)) { if (reader.TokenType == JsonToken.Null) { return(null); } return(PersonTypeExtensions.ReadJson(reader, serializer)); } throw new Exception("Unknown type"); }
public virtual void ReadFrom(XElement xE) { Field = null; SortOrder = null; foreach (var xItem in xE.Elements()) { var localName = xItem.Name.LocalName; if (localName == "field") { Field = xItem.Value; } else if (localName == "sortOrder") { SortOrder = SortOrderExtensions.Parse(xItem.Value); } } }