// get all top 3 best lots from database API public async Task GetLotOrder(string buildName, Task <List <Campus> > converted) { List <Campus> campuses = await converted; foreach (Campus campus in campuses) { if (campus.GetName() == this.Title) { string text = "http://35.9.22.105/predictive-parking/" + campus.GetId() + "/" + campus.GetBuildingId(buildName); var uri = new Uri(text); var response = await client.GetAsync(uri); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsStringAsync(); mLotOrder = map.PurgeLotList(campus.GetName(), (string)Application.Current.Properties[campus.GetName() + "role"], JsonConvert.DeserializeObject <ServerJSONLotOrder>(content).lot_order); mLotToGo = 0; l.Text = "Lot: " + campus.GetLotName(mLotOrder[mLotToGo].ToString()); } } } }
public async Task ConvertLots(Task <List <int> > server) { var lots = await server; mLotOrder = map.PurgeLotList(mCampusName, mRole, lots); int lotCount = mLotOrder.Count; string lotOrderString = ""; mGoingTo = 0; map.SpanToLotsAndBuildings(mCampusName, mBuildingName, mLotOrder); if (lotCount > 3) { lotCount = 3; } for (int i = 0; i < lotCount; i++) { //.Add(map.GetLotById(mCampusName, lotId)); if (i == 0) { lotOrderString += "The best lot is " + map.GetLotName(mCampusName, mLotOrder[i].ToString()); } else if (i == 1) { lotOrderString += ", then " + map.GetLotName(mCampusName, mLotOrder[i].ToString()); } else { lotOrderString += ", then " + map.GetLotName(mCampusName, mLotOrder[i].ToString()); } } stack.Children[0].BindingContext = new { Lots = lotOrderString }; stack.Children[1].BindingContext = new { GoingTo = map.GetLotName(mCampusName, mLotOrder[mGoingTo].ToString()) }; }