private FacetMetaData ParseMetaData(JProperty facetMetaDataObject, JsonReader reader, JsonSerializer serializer) { var facetMetaData = new FacetMetaData() { Facets = new List <Facet>() }; var name = facetMetaDataObject.Name; var data = (JObject)facetMetaDataObject.Value; var type = data.Value <string>("_type"); var propertyName = this.GetFacetPropertyName(type); facetMetaData.Field = name; facetMetaData.Type = type; facetMetaData.Missing = data.Value <int>("missing"); if (new[] { "statistical" }.Contains(type)) { var f = this.ParseFacet(data, type, reader, serializer); if (f != null) { facetMetaData.Facets.Add(f); } } else { var facetsArray = (JArray)(data.Property(propertyName).Value); foreach (var facet in facetsArray) { var f = this.ParseFacet(facet, type, reader, serializer); if (f != null) { facetMetaData.Facets.Add(f); } } } return(facetMetaData); }
private FacetMetaData ParseMetaData(JProperty facetMetaDataObject, JsonReader reader, JsonSerializer serializer) { var facetMetaData = new FacetMetaData() { Facets = new List<Facet>() }; var name = facetMetaDataObject.Name; var data = (JObject)facetMetaDataObject.Value; var type = data.Value<string>("_type"); var propertyName = this.GetFacetPropertyName(type); facetMetaData.Field = name; facetMetaData.Type = type; facetMetaData.Missing = data.Value<int>("missing"); if (new[] { "statistical" }.Contains(type)) { var f = this.ParseFacet(data, type, reader, serializer); if (f != null) facetMetaData.Facets.Add(f); } else { var facetsArray = (JArray)(data.Property(propertyName).Value); foreach (var facet in facetsArray) { var f = this.ParseFacet(facet, type, reader, serializer); if (f != null) facetMetaData.Facets.Add(f); } } return facetMetaData; }