protected override void OnNavigatedTo(NavigationEventArgs e) { m_busName = NavigationContext.QueryString["busName"]; m_stationPair = DataService.AllBuses[m_busName]; m_dir = BusDir.go; llsStations.ItemsSource = CurStations().Select(x => new StringVM(x)).ToList(); tbBusName.Text = m_busName; }
protected override void OnNavigatedTo(NavigationEventArgs e) { m_busName = NavigationContext.QueryString["busName"]; m_station = NavigationContext.QueryString["station"]; m_dir = (BusDir)Enum.Parse(typeof(BusDir), NavigationContext.QueryString["dir"]); tbBusName.Text = m_busName; tbStation.Text = m_station; llsTags.ItemsSource = DataService.BusTags.GroupBy(x => x.tag).Select(g => new StringVM(g.Key)).ToList(); }
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) { Log.Debug("e.Cancel=" + e.Cancel); if (tbTag.Text != m_orig_tag) { Log.Debug("m_orig_tag={0}, tbTag.Text={1}".Fmt(m_orig_tag, tbTag.Text)); BusDir dir = (tbDir.Text == "往↓" ? BusDir.go : BusDir.back); DataService.BusTags.First(x => x.busName == tbBusName.Text && x.station == tbStation.Text && x.dir == dir && x.tag == m_orig_tag).tag = tbTag.Text; } base.OnBackKeyPress(e); //NavigationService.GoBack(); }
private void btnDir_Tap(object sender, System.Windows.Input.GestureEventArgs e) { if (m_dir == BusDir.go) { if (m_stationPair.stations_back.Length == 0) { return; } btnDirText.Text = "返↑"; m_dir = BusDir.back; llsStations.ItemsSource = CurStations().Select(x => new StringVM(x)).ToList(); } else { btnDirText.Text = "往↓"; m_dir = BusDir.go; llsStations.ItemsSource = CurStations().Select(x => new StringVM(x)).ToList(); } }
protected override void OnNavigatedTo(NavigationEventArgs e) { tbBusName.Text = NavigationContext.QueryString["busName"]; tbStation.Text = NavigationContext.QueryString["station"]; BusDir dir = (BusDir)Enum.Parse(typeof(BusDir), NavigationContext.QueryString["dir"]); tbDir.Text = (dir == BusDir.go?"往↓":"返↑"); tbTag.Text = NavigationContext.QueryString["tag"]; m_orig_tag = tbTag.Text; var stpair = DataService.AllBuses[tbBusName.Text]; if (dir == BusDir.go && stpair.stations_go.Length > 0) { tbDir.Text += stpair.stations_go.LastElement(); } else if (dir == BusDir.back && stpair.stations_back.Length > 0) { tbDir.Text += stpair.stations_back.LastElement(); } }
private void ApplicationBarIconButton_Click(object sender, EventArgs e) { BusDir dir = (tbDir.Text == "往↓" ? BusDir.go : BusDir.back); try { BusTagVM bt = DataService.BusTags.First(x => x.busName == tbBusName.Text && x.station == tbStation.Text && x.dir == dir && x.tag == m_orig_tag); bool bRemoveSuccess = DataService.BusTags.Remove(bt); Log.Debug("bRemoveSuccess=" + bRemoveSuccess); NavigationService.GoBack(); } catch (Exception ex) { Log.Error("{0} {1} {2} {3} cannot be found!".Fmt(tbBusName.Text, tbStation.Text, dir, m_orig_tag)); Log.Error("BusTags={" + ",".Joyn(DataService.BusTags.Select(x => x.ToString())) + "}"); Log.Error("ex=" + ex.DumpStr()); } }
public static async Task <string> GetBusDueTime(string busName, string stationName, BusDir busDir) { string url = @"http://pda.5284.com.tw/MQS/businfo3.jsp?Mode=1&Dir={1}&Route={0}&Stop={2}".Fmt( Uri.EscapeUriString(busName), busDir == BusDir.go?1:0, Uri.EscapeUriString(stationName)); var client = new HttpClient(); string strResult = await client.GetStringAsync(new Uri(url)); var doc = new HtmlDocument(); doc.LoadHtml(strResult); HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes( "/html/body/center/table/tr[6]/td"); if (nodes.Count == 0) { Log.Debug("nodes.Count == 0"); return("網路障礙"); } return(nodes[0].InnerText); }