/Controllers/LocationSearchController.cs
C# | 51 lines | 40 code | 10 blank | 1 comment | 0 complexity | 5c3d2b967e3a80e35e7273642afe4987 MD5 | raw file
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Net.Http;
- using System.Web.Configuration;
- using System.Web.Http;
- using HCHunchApp.Web.Models;
- using Newtonsoft.Json.Linq;
- namespace HCHunchApp.Web.Controllers
- {
- public class LocationSearchController : ApiController
- {
- public string Get()
- {
- return "TEST";
- }
- // GET api/locationsearch/5
- public LocationSearchResultItem Get(string search)
- {
- var key = WebConfigurationManager.AppSettings["mapKey"];
- var location_search_url = WebConfigurationManager.AppSettings["location_search_url"];
- var url = string.Format(location_search_url, search, key);
- var searchRequest = (HttpWebRequest)WebRequest.Create(url);
- searchRequest.ContentType = "application/json; charset=utf-8";
- var searchResponse = (HttpWebResponse)searchRequest.GetResponse();
- var responseData = new JObject();
- var item = new LocationSearchResultItem();
- using (var sr = new StreamReader(searchResponse.GetResponseStream()))
- {
- var data = sr.ReadToEnd();
- responseData = JObject.Parse(data);
- item.name = (string)responseData["resourceSets"][0]["resources"][0]["name"];
- item.lat = (double)responseData["resourceSets"][0]["resources"][0]["point"]["coordinates"][0];
- item.lng = (double)responseData["resourceSets"][0]["resources"][0]["point"]["coordinates"][1];
- }
- return item;
- }
- }
- }