PageRenderTime 52ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/OurWindowsApp/MainPage.xaml.cs

https://github.com/shalinshah1993/AppsDreamer
C# | 603 lines | 373 code | 72 blank | 158 comment | 61 complexity | f47cf4b2e35918633ab337c3bb7fea19 MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Device.Location;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Net;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Xml.Linq;
  10. using Microsoft.Phone.Controls;
  11. using Wiki;
  12. namespace OurWindowsApp
  13. {
  14. public partial class MainPage : PhoneApplicationPage
  15. {
  16. private static string rootUri = "http://en.wikipedia.org/w/api.php";
  17. private static string rootUri1 = "https://maps.googleapis.com/maps/api/place/search/xml?key=AIzaSyCm5alHOA4sBeOz6J_Q60dvKyy1j2SwYbc";
  18. private static string wikiuri = "http://en.wikipedia.org/w/api.php?format=xml&action=query&prop=revisions&rvprop=content&titles=";
  19. private string search = "";
  20. private GeoCoordinateWatcher watcher;
  21. //string accuracyText = "";
  22. private string[] features = { "airport", "train_station", "bus_station", "gas_station", "hospital" };
  23. private double radius = 10000;
  24. private string clat = "23.194176";
  25. private string clng = "72.628384";//23.194176,72.628384
  26. private string slat, slng, currentcity;//for search
  27. public List<Class2> airPlaces, busPlaces, railPlaces, gasPlaces, hospitalPlaces;
  28. // Constructor
  29. public MainPage()
  30. {
  31. InitializeComponent();
  32. // Set the data context of the listbox control to the sample data
  33. DataContext = App.ViewModel;
  34. this.Loaded += new RoutedEventHandler(MainPage_Loaded);
  35. panorama.DefaultItem = panorama.Items[0];
  36. }
  37. // Load data for the ViewModel Items
  38. private void MainPage_Loaded(object sender, RoutedEventArgs e)
  39. {
  40. if (!App.ViewModel.IsDataLoaded)
  41. {
  42. StartLocationService(GeoPositionAccuracy.Default);
  43. App.ViewModel.LoadData();
  44. }
  45. }
  46. private void textBox1_GotFocus(object sender, RoutedEventArgs e)
  47. {
  48. textBox1.Text = "";
  49. }
  50. private void textBox1_LostFocus(object sender, RoutedEventArgs e)
  51. {
  52. if (textBox1.Text == "")
  53. textBox1.Text = "Search";
  54. }
  55. private void button_Click_1(object sender, RoutedEventArgs e)
  56. {
  57. //Search button is clicked
  58. if (!(textBox1.Text == "Search"))
  59. {
  60. search = textBox1.Text;
  61. postsetlocation(new Uri("http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=" + textBox1.Text));
  62. /*post(new Uri(rootUri + "?action=opensearch&format=xml&search=" + textBox1.Text));
  63. wikipost(new Uri(wikiuri + textBox1.Text));
  64. post1(new Uri(rootUri1 + "&location=" + slat + "," + slng + "&radius=75000&sensor=false&types=" + features[0]));
  65. post1(new Uri(rootUri1 + "&location=" + slat + "," + slng + "&radius=75000&sensor=false&types=" + features[1]));
  66. post1(new Uri(rootUri1 + "&location=" + slat + "," + slng + "&radius=75000&sensor=false&types=" + features[2]));
  67. post1(new Uri(rootUri1 + "&location=" + slat + "," + slng + "&radius=75000&sensor=false&types=" + features[3]));
  68. post1(new Uri(rootUri1 + "&location=" + slat + "," + slng + "&radius=75000&sensor=false&types=" + features[4]));*/
  69. ProgressBar.Visibility = Visibility.Visible;
  70. textBlock1.Text = "Searching...";
  71. }
  72. else
  73. {
  74. MessageBox.Show("Please enter something to search");
  75. }
  76. }
  77. private void beginSearch(string lat, string lng, string stri)
  78. {
  79. airPlaces = new List<Class2>();
  80. airPlaces.Clear();
  81. railPlaces = new List<Class2>();
  82. railPlaces.Clear();
  83. busPlaces = new List<Class2>();
  84. busPlaces.Clear();
  85. hospitalPlaces = new List<Class2>();
  86. hospitalPlaces.Clear();
  87. gasPlaces = new List<Class2>();
  88. gasPlaces.Clear();
  89. post(new Uri(rootUri + "?action=opensearch&format=xml&search=" + stri));
  90. wikipost(new Uri(wikiuri + stri));
  91. post1(new Uri(rootUri1 + "&location=" + lat + "," + lng + "&radius=" + radius + "&sensor=false&types=" + features[0]));
  92. post1(new Uri(rootUri1 + "&location=" + lat + "," + lng + "&radius=" + radius + "&sensor=false&types=" + features[1]));
  93. post1(new Uri(rootUri1 + "&location=" + lat + "," + lng + "&radius=" + radius + "&sensor=false&types=" + features[2]));
  94. post1(new Uri(rootUri1 + "&location=" + lat + "," + lng + "&radius=" + radius + "&sensor=false&types=" + features[3]));
  95. post1(new Uri(rootUri1 + "&location=" + lat + "," + lng + "&radius=" + radius + "&sensor=false&types=" + features[4]));
  96. }
  97. private void Button_Click(object sender, RoutedEventArgs e)
  98. {
  99. //Airport button is clicked
  100. panorama.SlideToPage(4);
  101. }
  102. private void Button_Click_2(object sender, RoutedEventArgs e)
  103. {
  104. //Railways button clicked
  105. panorama.SlideToPage(5);
  106. }
  107. private void Button_Click_3(object sender, RoutedEventArgs e)
  108. {
  109. //Weather button is clicked
  110. panorama.SlideToPage(3);
  111. }
  112. private void Button_Click_4(object sender, RoutedEventArgs e)
  113. {
  114. //Wikipedia info button is clicked
  115. panorama.SlideToPage(2);
  116. }
  117. private void gen_query(object sender, TextChangedEventArgs e)
  118. {
  119. search = textBox1.Text;
  120. }
  121. private void whereami_Click(object sender, RoutedEventArgs e)
  122. {
  123. getCityPost(new Uri("http://maps.googleapis.com/maps/api/geocode/xml?sensor=true&latlng=" + clat + "," + clng));
  124. ProgressBar.Visibility = Visibility.Visible;
  125. textBlock1.Text = "Getting Data...";
  126. }
  127. private void getCityPost(Uri u)
  128. {
  129. HttpWebRequest queryRequest = (HttpWebRequest)WebRequest.Create(u);
  130. queryRequest.Method = "POST";
  131. queryUpdateState qState = new queryUpdateState();
  132. qState.AsyncRequest = queryRequest;
  133. queryRequest.BeginGetResponse(new AsyncCallback(getCityHandleResponse), qState);
  134. }
  135. private void getCityHandleResponse(IAsyncResult result)
  136. {
  137. queryUpdateState qState = (queryUpdateState)result.AsyncState;
  138. HttpWebRequest qRequest = (HttpWebRequest)qState.AsyncRequest;
  139. qState.AsyncResponse = (HttpWebResponse)qRequest.EndGetResponse(result);
  140. Stream streamResult;
  141. try
  142. {
  143. streamResult = qState.AsyncResponse.GetResponseStream();
  144. // load the XML
  145. XDocument xmlquery = XDocument.Load(streamResult);
  146. XElement[] addresses = xmlquery.Descendants("result").Descendants("address_component").ToArray();
  147. foreach (var a in addresses)
  148. {
  149. if (a.Descendants("type").First().Value == "administrative_area_level_2")
  150. {
  151. currentcity = a.Descendants("long_name").First().Value;
  152. break;
  153. }
  154. }
  155. beginSearch(clat, clng, currentcity);
  156. }
  157. catch (FormatException)
  158. {
  159. return;
  160. }
  161. }
  162. private void post(Uri u)
  163. {
  164. HttpWebRequest queryRequest = (HttpWebRequest)WebRequest.Create(u);
  165. queryRequest.Method = "POST";
  166. queryUpdateState qState = new queryUpdateState();
  167. qState.AsyncRequest = queryRequest;
  168. queryRequest.BeginGetResponse(new AsyncCallback(HandleResponse), qState);
  169. }
  170. private void HandleResponse(IAsyncResult result)
  171. {
  172. queryUpdateState qState = (queryUpdateState)result.AsyncState;
  173. HttpWebRequest qRequest = (HttpWebRequest)qState.AsyncRequest;
  174. qState.AsyncResponse = (HttpWebResponse)qRequest.EndGetResponse(result);
  175. Stream streamResult;
  176. try
  177. {
  178. streamResult = qState.AsyncResponse.GetResponseStream();
  179. // load the XML
  180. XDocument xmlquery = XDocument.Load(streamResult);
  181. string x = xmlquery.ToString();
  182. if (x.IndexOf("<Description xml:space=\"preserve\">") != -1)
  183. {
  184. x = x.Substring(x.IndexOf("<Description xml:space=\"preserve\">") + 34);
  185. x = x.Substring(0, x.IndexOf("</Description>"));
  186. this.Dispatcher.BeginInvoke(new Action(() => textBlock1.Text = x));
  187. }
  188. else
  189. {
  190. this.Dispatcher.BeginInvoke(new Action(() => MessageBox.Show("Oy")));
  191. }
  192. this.Dispatcher.BeginInvoke(new Action(() => this.ProgressBar.Visibility = Visibility.Collapsed));
  193. }
  194. catch (FormatException)
  195. {
  196. return;
  197. }
  198. }
  199. private void post1(Uri u)
  200. {
  201. HttpWebRequest queryRequest = (HttpWebRequest)WebRequest.Create(u);
  202. queryRequest.Method = "POST";
  203. queryUpdateState qState = new queryUpdateState();
  204. qState.AsyncRequest = queryRequest;
  205. queryRequest.BeginGetResponse(new AsyncCallback(HandleResponse1), qState);
  206. }
  207. private void HandleResponse1(IAsyncResult result)
  208. {
  209. queryUpdateState qState = (queryUpdateState)result.AsyncState;
  210. HttpWebRequest qRequest = (HttpWebRequest)qState.AsyncRequest;
  211. qState.AsyncResponse = (HttpWebResponse)qRequest.EndGetResponse(result);
  212. Stream streamResult;
  213. try
  214. {
  215. streamResult = qState.AsyncResponse.GetResponseStream();
  216. // load the XML
  217. XDocument xmlquery = XDocument.Load(streamResult);
  218. XElement[] a = xmlquery.Descendants("result").Descendants("name").ToArray();
  219. XElement[] geo_lat = xmlquery.Descendants("result").Descendants("geometry").Descendants("location").Descendants("lat").ToArray();
  220. XElement[] geo_lng = xmlquery.Descendants("result").Descendants("geometry").Descendants("location").Descendants("lng").ToArray();
  221. string s = xmlquery.Descendants("result").Descendants("type").ToArray().First().Value;
  222. double[] distance = new double[100];
  223. string[] names = new string[100];
  224. string i = "";
  225. for (int il = 0; il < a.Length; il++)
  226. {
  227. double a1 = (Math.Sin(Radians(double.Parse(clat) - double.Parse(geo_lat[il].Value)) / 2) * Math.Sin(Radians(double.Parse(clat) - double.Parse(geo_lat[il].Value)) / 2)) + Math.Cos(Radians(double.Parse(geo_lat[il].Value))) * Math.Cos(Radians(double.Parse(clat))) * (Math.Sin(Radians(double.Parse(clng) - double.Parse(geo_lng[il].Value)) / 2) * Math.Sin(Radians(double.Parse(clng) - double.Parse(geo_lng[il].Value)) / 2));
  228. double angle = 2 * Math.Atan2(Math.Sqrt(a1), Math.Sqrt(1 - a1));
  229. double Distance = angle * 6378.16;
  230. distance[il] = Math.Round(Distance, 2);
  231. names[il] = a[il].Value;
  232. i += Math.Round(Distance, 2) + " KM away,";
  233. i += a[il].Value + System.Environment.NewLine;
  234. if (s == "airport")
  235. {
  236. if (distance[il] != 0.0 && names[il] != null)
  237. airPlaces.Add(new Class2(names[il], distance[il] + "Kms"));
  238. }
  239. else if (s == "train_station")
  240. {
  241. if (distance[il] != 0.0 && names[il] != null)
  242. railPlaces.Add(new Class2(names[il], distance[il] + "Kms"));
  243. }
  244. else if (s == "bus_station")
  245. {
  246. if (distance[il] != 0.0 && names[il] != null)
  247. busPlaces.Add(new Class2(names[il], distance[il] + "Kms"));
  248. }
  249. else if (s == "hospital")
  250. {
  251. if (distance[il] != 0.0 && names[il] != null)
  252. hospitalPlaces.Add(new Class2(names[il], distance[il] + "Kms"));
  253. }
  254. else if (s == "gas_station")
  255. {
  256. if (distance[il] != 0.0 && names[il] != null)
  257. gasPlaces.Add(new Class2(names[il], distance[il] + "Kms"));
  258. }
  259. }
  260. if (s == "airport")
  261. this.Dispatcher.BeginInvoke(new Action(() => AirportList.ItemsSource = airPlaces));
  262. else if (s == "train_station")
  263. this.Dispatcher.BeginInvoke(new Action(() => RailwaysList.ItemsSource = railPlaces));
  264. else if (s == "bus_station")
  265. this.Dispatcher.BeginInvoke(new Action(() => BusList.ItemsSource = busPlaces));
  266. else if (s == "hospital")
  267. this.Dispatcher.BeginInvoke(new Action(() => HospitalList.ItemsSource = hospitalPlaces));
  268. else if (s == "gas_station")
  269. this.Dispatcher.BeginInvoke(new Action(() => GasList.ItemsSource = gasPlaces));
  270. if (watcher != null)
  271. {
  272. watcher.Stop();
  273. }
  274. }
  275. catch (FormatException)
  276. {
  277. return;
  278. }
  279. }
  280. private void postsetlocation(Uri u)
  281. {
  282. HttpWebRequest queryRequest = (HttpWebRequest)WebRequest.Create(u);
  283. queryRequest.Method = "POST";
  284. queryUpdateState qState = new queryUpdateState();
  285. qState.AsyncRequest = queryRequest;
  286. queryRequest.BeginGetResponse(new AsyncCallback(locHandleResponse), qState);
  287. }
  288. private void locHandleResponse(IAsyncResult result)
  289. {
  290. queryUpdateState qState = (queryUpdateState)result.AsyncState;
  291. HttpWebRequest qRequest = (HttpWebRequest)qState.AsyncRequest;
  292. qState.AsyncResponse = (HttpWebResponse)qRequest.EndGetResponse(result);
  293. Stream streamResult;
  294. try
  295. {
  296. streamResult = qState.AsyncResponse.GetResponseStream();
  297. // load the XML
  298. XDocument xmlquery = XDocument.Load(streamResult);
  299. slat = xmlquery.Descendants("result").Descendants("geometry").Descendants("location").Descendants("lat").First().Value;
  300. slng = xmlquery.Descendants("result").Descendants("geometry").Descendants("location").Descendants("lng").First().Value;
  301. beginSearch(slat, slng, search);
  302. }
  303. catch (FormatException)
  304. {
  305. return;
  306. }
  307. }
  308. private void wikipost(Uri u)
  309. {
  310. HttpWebRequest queryRequest = (HttpWebRequest)WebRequest.Create(u);
  311. queryRequest.Method = "POST";
  312. queryUpdateState qState = new queryUpdateState();
  313. qState.AsyncRequest = queryRequest;
  314. queryRequest.BeginGetResponse(new AsyncCallback(wikiHandleResponse), qState);
  315. }
  316. private void wikiHandleResponse(IAsyncResult result)
  317. {
  318. queryUpdateState qState = (queryUpdateState)result.AsyncState;
  319. HttpWebRequest qRequest = (HttpWebRequest)qState.AsyncRequest;
  320. qState.AsyncResponse = (HttpWebResponse)qRequest.EndGetResponse(result);
  321. Stream streamResult;
  322. try
  323. {
  324. streamResult = qState.AsyncResponse.GetResponseStream();
  325. // load the XML
  326. XDocument xmlquery = XDocument.Load(streamResult);
  327. //Wikipedia Data Need to be parsed
  328. string a = xmlquery.Descendants("query").Descendants("pages").Descendants("page").Descendants("revisions").Descendants("rev").First().Value;
  329. string h = new CreoleParser().ToHTML(a);
  330. //this.Dispatcher.BeginInvoke(new Action(() => webBrowser1.UpdateLayout()));
  331. this.Dispatcher.BeginInvoke(new Action(() => webBrowser1.NavigateToString(h)));
  332. this.Dispatcher.BeginInvoke(new Action(() => webBrowser1.UpdateLayout()));
  333. //string x = xmlquery.ToString();
  334. /* if (x.IndexOf("<Description xml:space=\"preserve\">") != -1)
  335. {
  336. x = x.Substring(x.IndexOf("<Description xml:space=\"preserve\">") + 34);
  337. x = x.Substring(0, x.IndexOf("</Description>"));
  338. this.Dispatcher.BeginInvoke(new Action(() => textBlock1.Text = x));
  339. }
  340. else
  341. {
  342. this.Dispatcher.BeginInvoke(new Action(() => MessageBox.Show("Oy")));
  343. }
  344. this.Dispatcher.BeginInvoke(new Action(() => this.ProgressBar.Visibility = Visibility.Collapsed));*/
  345. }
  346. catch (FormatException)
  347. {
  348. return;
  349. }
  350. }
  351. private double Radians(double p)
  352. {
  353. return p * Math.PI / 180;
  354. }
  355. private void Button_Click_5(object sender, RoutedEventArgs e)
  356. {
  357. //Bus Stop Button is clicked
  358. panorama.SlideToPage(6);
  359. }
  360. /// <summary>
  361. /// Helper method to start up the location data acquisition
  362. /// </summary>
  363. /// <param name="accuracy">The accuracy level </param>
  364. private void StartLocationService(GeoPositionAccuracy accuracy)
  365. {
  366. // Reinitialize the GeoCoordinateWatcher
  367. watcher = new GeoCoordinateWatcher(accuracy);
  368. watcher.MovementThreshold = 20;
  369. // Add event handlers for StatusChanged and PositionChanged events
  370. watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);
  371. watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
  372. // Start data acquisition
  373. watcher.Start();
  374. }
  375. /// <summary>
  376. /// Handler for the StatusChanged event. This invokes MyStatusChanged on the UI thread and
  377. /// passes the GeoPositionStatusChangedEventArgs
  378. /// </summary>
  379. /// <param name="sender"></param>
  380. /// <param name="e"></param>
  381. private void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
  382. {
  383. Deployment.Current.Dispatcher.BeginInvoke(() => MyStatusChanged(e));
  384. }
  385. /// <summary>
  386. /// Custom method called from the StatusChanged event handler
  387. /// </summary>
  388. /// <param name="e"></param>
  389. private void MyStatusChanged(GeoPositionStatusChangedEventArgs e)
  390. {
  391. switch (e.Status)
  392. {
  393. case GeoPositionStatus.Disabled:
  394. // The location service is disabled or unsupported.
  395. // Alert the user
  396. // StatusTextBlock.Text = "location is unsupported on this device";
  397. break;
  398. case GeoPositionStatus.Initializing:
  399. // The location service is initializing.
  400. // Disable the Start Location button
  401. // StatusTextBlock.Text = "initializing location service," + accuracyText;
  402. break;
  403. case GeoPositionStatus.NoData:
  404. // The location service is working, but it cannot get location data
  405. // Alert the user and enable the Stop Location button
  406. // StatusTextBlock.Text = "data unavailable," + accuracyText;
  407. break;
  408. case GeoPositionStatus.Ready:
  409. // The location service is working and is receiving location data
  410. // Show the current position and enable the Stop Location button
  411. // StatusTextBlock.Text = "receiving data, " + accuracyText;
  412. break;
  413. }
  414. }
  415. /// <summary>
  416. /// Handler for the PositionChanged event. This invokes MyStatusChanged on the UI thread and
  417. /// passes the GeoPositionStatusChangedEventArgs
  418. /// </summary>
  419. /// <param name="sender"></param>
  420. /// <param name="e"></param>
  421. private void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
  422. {
  423. Deployment.Current.Dispatcher.BeginInvoke(() => MyPositionChanged(e));
  424. }
  425. /// <summary>
  426. /// Custom method called from the PositionChanged event handler
  427. /// </summary>
  428. /// <param name="e"></param>
  429. private void MyPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate> e)
  430. {
  431. // Update the TextBlocks to show the current location
  432. clat = e.Position.Location.Latitude.ToString("0.000");
  433. clng = e.Position.Location.Longitude.ToString("0.000");
  434. }
  435. private void Button_Click_6(object sender, RoutedEventArgs e)
  436. {
  437. //Gas Station is clicked
  438. panorama.SlideToPage(8);
  439. }
  440. private void Button_Click_7(object sender, RoutedEventArgs e)
  441. {
  442. //Hospital is clicked
  443. panorama.SlideToPage(7);
  444. }
  445. /* void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
  446. {
  447. Stream stream = e.Result;
  448. XDocument xDoc = XDocument.Load(stream);
  449. //pivWeather.SelectedIndex = 1;
  450. GetCurrentWeather(xDoc);
  451. GetForeCast(xDoc);
  452. }
  453. private void GetCurrentWeather(XDocument xDoc)
  454. {
  455. try
  456. {
  457. List<WeatherReport> lstWeatherReport = new List<WeatherReport>();
  458. string city = xDoc.Descendants("forecast_information").First().Element("city").Attribute("data").Value;
  459. string url = "http://www.google.com" + xDoc.Descendants("current_conditions").First().Element("icon").Attribute("data").Value;
  460. lstWeatherReport = (from item in xDoc.Descendants("current_conditions")
  461. select new WeatherReport()
  462. {
  463. DayOfWeek = "Today",
  464. City = city,
  465. //WeatherImage = img,
  466. Condition = item.Element("condition").Attribute("data").Value,
  467. //TempF = item.Element("temp_f").Attribute("data").Value,
  468. TempC = item.Element("temp_c").Attribute("data").Value + " C",
  469. Humidity = item.Element("humidity").Attribute("data").Value,
  470. //ImageURL = item.Element("icon").Attribute("data").Value,
  471. Wind = item.Element("wind_condition").Attribute("data").Value
  472. }).ToList();
  473. // lstWeather.ItemsSource = lstWeatherReport;
  474. listBox1.ItemsSource = lstWeatherReport;
  475. }
  476. catch
  477. {
  478. //lstWeather.ItemsSource = null;
  479. listBox1.ItemsSource = null;
  480. }
  481. }
  482. private void GetForeCast(XDocument xDoc)
  483. {
  484. try
  485. {
  486. List<WeatherReport> lstWeatherReport = new List<WeatherReport>();
  487. string city = xDoc.Descendants("forecast_information").First().Element("city").Attribute("data").Value;
  488. lstWeatherReport = (from item in xDoc.Descendants("forecast_conditions")
  489. select new WeatherReport()
  490. {
  491. DayOfWeek = item.Element("day_of_week").Attribute("data").Value,
  492. City = city,
  493. //WeatherImage = img,
  494. Condition = item.Element("condition").Attribute("data").Value,
  495. TempF = item.Element("low").Attribute("data").Value + " F",
  496. TempC = item.Element("high").Attribute("data").Value + " F"
  497. }).ToList();
  498. listBox1.ItemsSource = lstWeatherReport;
  499. }
  500. catch
  501. {
  502. listBox1.ItemsSource = null;
  503. }
  504. }
  505. private void button1_Click(object sender, RoutedEventArgs e)
  506. {
  507. if (textBox2.Text.Trim() == string.Empty)
  508. return;
  509. WebClient client = new WebClient();
  510. client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
  511. client.OpenReadAsync(new Uri("http://www.google.com/ig/api?weather=" + textBox2.Text));
  512. }*/
  513. }
  514. public class queryUpdateState
  515. {
  516. public HttpWebRequest AsyncRequest { get; set; }
  517. public HttpWebResponse AsyncResponse { get; set; }
  518. }
  519. }