public void processLocationColumn(Column col)
        {
            int rowCount = col.Data.Count;

            string[] jsonResponse = new string[rowCount];

            for (int i = 0; i < rowCount; i++)
            {
                string address = col.Data[i];
                string url     = "https://maps.googleapis.com/maps/api/geocode/json?address=" + address + "&key=AIzaSyBe7bmv5rusSTJ__tPpPoNkCUt0rxjR7jo";
                var    request = (HttpWebRequest)WebRequest.Create(url);

                var response = (HttpWebResponse)request.GetResponse();

                var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
                jsonResponse[i] = responseString;
            }

            int    arrayEntryCount   = 0;
            var    locationHeirarchy = new Dictionary <int, string>();
            string countryList       = "";

            foreach (var val in jsonResponse)
            {
                dynamic jsonResult = JsonConvert.DeserializeObject(val);

                string resultStatus = jsonResult.status;

                // check if identified as a location
                if (resultStatus == "OK")
                {
                    AddressComponents[] address = jsonResult.results[0].address_components.ToObject <AddressComponents[]>();
                    countryList += address[address.Length - 1].long_name;
                    countryList += ",";
                    if (address[0].long_name.ToLower() != col.Data[arrayEntryCount].ToLower())
                    {
                        errorRows.Add(arrayEntryCount);           // if it not a location then add to error
                    }
                }
                else
                {
                    errorRows.Add(arrayEntryCount);           // if it not a location then add to error
                }

                arrayEntryCount++;
            }

            var regionParameter     = new ObjectParameter("region", typeof(string));
            var resolutionParameter = new ObjectParameter("resolution", typeof(string));

            // get
            db.getRegionCodeAndResolution(countryList, regionParameter, resolutionParameter);
            col.Region     = regionParameter.Value.ToString();
            col.Resolution = resolutionParameter.Value.ToString();
        }
Пример #2
0
        public String CheckCountry()
        {
            Column col  = new Column();
            string loc1 = "rathgama";
            string loc2 = "London";
            string loc6 = "Dublin";
            string loc3 = "Paris";
            string loc4 = "NY";
            string loc5 = "Rathnapura";

            col.Data = new List <string>();
            col.Data.Add(loc6);
            col.Data.Add(loc2);
            col.Data.Add(loc1);


            int rowCount = col.Data.Count;

            string[] jsonResponse = new string[rowCount];

            /*
             * for (int i = 0; i < rowCount; i++)
             * {
             *  string address = col.Data[i];
             *  string url = "https://maps.googleapis.com/maps/api/geocode/json?address=" + address + "&key=AIzaSyBe7bmv5rusSTJ__tPpPoNkCUt0rxjR7jo";
             *  var request = (HttpWebRequest)WebRequest.Create(url);
             *
             *  var response = (HttpWebResponse)request.GetResponse();
             *
             *  var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
             *  jsonResponse[i] = responseString;
             * }
             */
            //jsonResponse[0]="{ \"results" : [{\"address_components\" : [{\"long_name\" : \"Rathgama\",\"short_name\" : \"Rathgama\", \"types\" : [ \"locality\", \"political\" ]},{\"long_name\" : \"Galle\",  \"short_name\" : \"Galle\", \"types\" : [ \"administrative_area_level_2\", \"political\" ]},  { \"long_name\" : \"Southern Province\", \"short_name\" : \"SP\", \"types\" : [ \"administrative_area_level_1\", \"political\" ]}, { \"long_name\" : \"Sri Lanka\", \"short_name\" : \"LK\", \"types\" : [ \"country\", "political" ] } ], "formatted_address" : "Rathgama, Sri Lanka", "geometry" : { "bounds" : { "northeast" : {  "lat" : 6.0994063, "lng" : 80.15857869999999 }, "southwest" : { "lat" : 6.085765599999999, "lng" : 80.1325178} }, "location" : { "lat" : 6.0936187, "lng" : 80.14305419999999},"location_type" : "APPROXIMATE", "viewport" : {"northeast" : { "lat" : 6.0994063, "lng" : 80.15857869999999 },"southwest" : { "lat" : 6.085765599999999, "lng" : 80.1325178 } } }, "place_id" : "ChIJc73LoPd24ToRpNTaC290rk0", "types" : [ "locality", "political" ] } ], "status" : "OK"}"

            int    arrayEntryCount   = 0;
            var    locationHeirarchy = new Dictionary <int, string>();
            string countryList       = "";

            foreach (var val in jsonResponse)
            {
                arrayEntryCount++;
                dynamic jsonResult = JsonConvert.DeserializeObject(val);

                string resultStatus = jsonResult.status;

                if (resultStatus == "OK")
                {
                    //LocationCount++;
                    AddressComponents[] address = jsonResult.results[0].address_components.ToObject <AddressComponents[]>();
                    countryList += address[address.Length - 1].long_name;
                    countryList += ",";
                }
            }

            FYPEntities entity = new FYPEntities();

            var regionParameter     = new ObjectParameter("region", typeof(string));
            var resolutionParameter = new ObjectParameter("resolution", typeof(string));

            entity.getRegionCodeAndResolution(countryList, regionParameter, resolutionParameter);


            return(regionParameter.Value.ToString() + " " + resolutionParameter.Value.ToString());
        }