void createResultSet(RootTrainObject rootStationObj) { TRAINRESULTS trainResults = rootStationObj.RESULTS; TRAINQUERY trainQuery = rootStationObj.QUERY; DirectTrains directTrains = trainResults.directTrains; ConnectingTrains connectingTrains = trainResults.connectingTrains; List <TrainsList> directTrainsList = directTrains.trainsList; List <TrainsList2> connectedTrainsList = connectingTrains.trainsList; foreach (TrainsList value in directTrainsList) { TrainListViewModel list = new TrainListViewModel(); list.depatureTime = value.depatureTime; list.arrivalTime = value.arrivalTimeEndStation; list.trainType = AppUtility.ToCamelCase(value.trainType); list.trainTypeFlag = 1; list.scheduleDetail = getScheduleDetailObj(trainQuery, value); formatLitNode(list); combinedTrainList.Add(list); } foreach (TrainsList2 value in connectedTrainsList) { TrainListViewModel list = new TrainListViewModel(); list.depatureTime = value.recordHeader[0].startArrivalTime; list.arrivalTime = value.recordHeader[0].endArrivalTime; list.trainType = APPCONTEXT.globalConnectedTrain; list.trainTypeFlag = 2; list.scheduleDetail = getScheduleDetailObj(trainQuery, value); formatLitNode(list); combinedTrainList.Add(list); } }
private void webClient_DownloadCombinedTrainsCompleted(object sender, DownloadStringCompletedEventArgs e) { try { string json = e.Result; if (!string.IsNullOrEmpty(json)) { RootTrainObject rootStationObj = JsonConvert.DeserializeObject <RootTrainObject>(json); createResultSet(rootStationObj); if (combinedTrainList != null) { populateTrains(); } } } catch (Exception ex) { RadMessageBox.ShowAsync("AW SNAP :-(", MessageBoxButtons.OK, "We are having trouble downloading data due to temporary server unavailability at the moment."); } this.busyIndicator.IsRunning = false; }