예제 #1
0
        // Retrieves all bus stops that contain a given route with route short name
        // Returns a tuple of the route and the associated stops in a 1800-meter radius
        public (Route, List <Stop>) FindStopsForRoute(string routeShortName, string json)
        {
            JObject jobject = JObject.Parse(json);

            if (jobject["code"].ToString() == "200")
            {
                JEnumerable <JToken> routes = jobject["data"]["references"]["routes"].Children();
                JToken targetRoute          = routes.FirstOrDefault(x => x["shortName"].ToString() == routeShortName);
                if (targetRoute != null)
                {
                    Route route = targetRoute.ToObject <Route>();
                    JEnumerable <JToken> stops         = jobject["data"]["list"].Children();
                    List <Stop>          stopsForRoute = new List <Stop>();
                    foreach (JToken s in stops)
                    {
                        JToken routeIds = s["routeIds"];
                        foreach (JToken rId in routeIds)
                        {
                            if (rId.ToString() == route.Id)
                            {
                                stopsForRoute.Add(s.ToObject <Stop>());
                                stopsForRoute.Add(s.ToObject <Stop>());
                            }
                        }
                    }
                    return(route, stopsForRoute);
                }
            }
            return(null, null);
        }
예제 #2
0
        public AppDetails getUWPAppDetails(JObject payload)
        {
            if (payload == null)
            {
                return(new AppDetails("Not found", new DateTime()));
            }
            var      title = payload.Value <string>("Title");
            DateTime releaseDate;
            DateTime lastUpdatedDate;

            try {
                releaseDate = payload.Value <DateTime>("ReleaseDateUtc");
            } catch {
                releaseDate = DateTime.Parse(payload.Value <string>("ReleaseDateUtc"));
            }
            var details = new AppDetails(title, releaseDate);
            JEnumerable <JObject> images = payload.GetValue("Images").Children <JObject>();
            var logo = images.FirstOrDefault(img => (img["ImageType"].ToString() == "tile" || img["ImageType"].ToString() == "logo") && int.Parse(img["Width"].ToString()) >= 150);

            // if a bigger image is not found, use whatever is available
            if (logo == null)
            {
                logo = images.First(img => (img["ImageType"].ToString() == "tile" || img["ImageType"].ToString() == "logo"));
            }

            details.image           = logo["Url"].ToString();
            details.backgroundColor = logo["BackgroundColor"].ToString();
            try {
                lastUpdatedDate = payload.Value <DateTime>("LastUpdateDateUtc");
            } catch {
                lastUpdatedDate = DateTime.Parse(payload.Value <string>("LastUpdateDateUtc"));
            }
            details.lastUpdatedDate = lastUpdatedDate;
            return(details);
        }
예제 #3
0
        private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
        {
            if (e.RowIndex > 0)
            {
                return;
            }
            DataGridViewComboBoxColumn cbb = this.dataGridView1.Columns[1] as DataGridViewComboBoxColumn;

            cbb.DefaultCellStyle.NullValue = seatList.FirstOrDefault()["value"].ToString();
            if (cbb != null)
            {
                foreach (JToken item in seatList)
                {
                    cbb.Items.Add(item["value"].ToString());
                }
            }

            DataGridViewComboBoxColumn cbb1 = this.dataGridView1.Columns[2] as DataGridViewComboBoxColumn;

            cbb1.DefaultCellStyle.NullValue = cardTypeDic["1"];
            if (cbb1 != null)
            {
                foreach (JToken item in ticketList)
                {
                    cbb1.Items.Add(item["value"].ToString());
                }
            }
        }
예제 #4
0
        private static void ShouldHaveErrorFor(JEnumerable <JToken> errors, string propertyName, string errorCode = null)
        {
            var error = errors.FirstOrDefault(x => (x.Path.Split('.').Last().Trim('\'', ']')) == propertyName) as JProperty;

            error.Should().NotBeNull();
            if (!string.IsNullOrEmpty(errorCode))
            {
                error.Value.ToString().Should().Contain(errorCode);
            }
        }