internal static SpatialAnalysisPersonLineCrossingLineEvents DeserializeSpatialAnalysisPersonLineCrossingLineEvents(JsonElement element) { NamedLineBase line = default; Optional <IList <SpatialAnalysisPersonLineCrossingEvent> > events = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("line")) { line = NamedLineBase.DeserializeNamedLineBase(property.Value); continue; } if (property.NameEquals("events")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <SpatialAnalysisPersonLineCrossingEvent> array = new List <SpatialAnalysisPersonLineCrossingEvent>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(SpatialAnalysisPersonLineCrossingEvent.DeserializeSpatialAnalysisPersonLineCrossingEvent(item)); } events = array; continue; } } return(new SpatialAnalysisPersonLineCrossingLineEvents(line, Optional.ToList(events))); }
public SpatialAnalysisPersonLineCrossingLineEvents(NamedLineBase line) { if (line == null) { throw new ArgumentNullException(nameof(line)); } Line = line; Events = new ChangeTrackingList <SpatialAnalysisPersonLineCrossingEvent>(); }
internal static LineCrossingProcessor DeserializeLineCrossingProcessor(JsonElement element) { IList <NamedLineBase> lines = default; string type = default; string name = default; IList <NodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("lines")) { List <NamedLineBase> array = new List <NamedLineBase>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NamedLineBase.DeserializeNamedLineBase(item)); } lines = array; continue; } if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <NodeInput> array = new List <NodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(NodeInput.DeserializeNodeInput(item)); } inputs = array; continue; } } return(new LineCrossingProcessor(type, name, inputs, lines)); }
internal SpatialAnalysisPersonLineCrossingLineEvents(NamedLineBase line, IList <SpatialAnalysisPersonLineCrossingEvent> events) { Line = line; Events = events; }