WienerLinien.Api.Realtime.EchtzeitdatenSchnittstelle.ParseTrafficInfoListResponse C# (CSharp) Метод

ParseTrafficInfoListResponse() публичный Метод

public ParseTrafficInfoListResponse ( string jsonResponse ) : TrafficInformation
jsonResponse string
Результат TrafficInformation
        public TrafficInformation ParseTrafficInfoListResponse(string jsonResponse)
        {
            var rootObj = JsonConvert.DeserializeObject<TILP.RootObject>(jsonResponse);

            if (null == rootObj || null == rootObj.data)
            {
                return new TrafficInformation();
            }

            // There is no traffic information at all (i.e. no alerts)
            if (null == rootObj.data.trafficInfos)
            {
                return new TrafficInformation(succeeded: true);
            }

            var items = new List<TrafficInformationItem>();
            foreach (var ti in rootObj.data.trafficInfos)
            {
                var item = new TrafficInformationItem()
                {
                    Title = ti.title,
                    Description = ti.description,
                    RelatedLines = String.Join(", ", ti.relatedLines),
                    Start = ToLocalTime(ti.time.start),
                    End = ToLocalTime(ti.time.end)
                };

                items.Add(item);
            }

            if (items.Any())
                return new TrafficInformation(items);

            return new TrafficInformation(succeeded: true);
        }

Usage Example

        public void StoerunglangNoStoerungenAvailable()
        {
            var schnittstelle = new EchtzeitdatenSchnittstelle();
            TrafficInformation result = schnittstelle.ParseTrafficInfoListResponse(@"{""data"":{}}");

            Assert.That(result.Succeeded, Is.EqualTo(true));
            Assert.That(result.Items.Count, Is.EqualTo(0));
        }
All Usage Examples Of WienerLinien.Api.Realtime.EchtzeitdatenSchnittstelle::ParseTrafficInfoListResponse