private locationObject processJsonJavaScriptSerializer(string json)
        {
            JavaScriptSerializer js            = new JavaScriptSerializer();
            locationObject       latLonDetails = js.Deserialize <locationObject>(json);

            return(latLonDetails);
        }
 public void loadcache(locationObject locObject)
 {
     if (Cache["locObject"] == null)
     {
         Cache.Insert("locObject", locObject, null, DateTime.UtcNow.AddSeconds(10.00), System.Web.Caching.Cache.NoSlidingExpiration);
     }
 }
        protected void Button2_Click(object sender, EventArgs e)
        {
            locationObject result = new locationObject();

            String lat, lon;

            try
            {
                string url = @"http://localhost:57770/Service1.svc/GetLatLon/address=" + TextBox1.Text;

                Console.WriteLine(url);



                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

                WebResponse  response       = request.GetResponse();
                Stream       responseStream = response.GetResponseStream();
                StreamReader reader         = new StreamReader(responseStream);
                String       json           = reader.ReadToEnd();

                result = processJsonJavaScriptSerializer(json);

                lat = result.latitude.ToString();
                lon = result.longitude.ToString();

                Label4.Text = lat;
                Label5.Text = lon;

                loadcache(result);

                Panel2.Visible = true;
                Label3.Text    = "Lat:" + lat + " ,Lon:" + lon;
            }
            catch (Exception err)
            {
                Console.WriteLine(err);
            }
            finally
            {
            }
        }
        protected void Button5_Click(object sender, EventArgs e)
        {
            locationObject locObject = Cache["locObject"] as locationObject;

            if (locObject == null)
            {
                //Cache is invalid now make panel invisible
                Panel2.Visible = true;
                Panel3.Visible = false;
            }
            else
            {
                Panel2.Visible = true;
                Panel3.Visible = true;
                // Cache is valid
                // Get All city Info

                Double lat = locObject.latitude;
                Double lon = locObject.longitude;

                String solarbaseurl = "http://*****:*****@solarbaseurl + "SolarIntensity?lat=" + lat + "&lon =" + lon;

                String windbaseurl = "http://*****:*****@windbaseurl + "WindIntensity?lat=" + lat + "&lon =" + lon;

                String mapbaseurl = "http://*****:*****@mapbaseurl + "/getMapURL?lat=" + lat + "&lon=" + lon;

                String gasbaseurl = "http://*****:*****@gasbaseurl + "/getGasStation?lat=" + lat + "&lon=" + lon;


                try
                {
                    string solarjson = getJsonString(solarurl);
                    string windjson  = getJsonString(windurl);
                    string mapjson   = getJsonString(mapurl);
                    string gasjson   = getJsonString(gasurl);

                    wsresult    solarws   = processJsonWS(solarjson);
                    wsresult    windws    = processJsonWS(windjson);
                    imgresult   imgrs     = processJsonImg(mapjson);
                    gasresult[] gasoutput = processJsonGas(gasjson);
                    ListView1.DataSource = gasoutput;
                    ListView1.DataBind();


                    if (solarws.status.Equals("Invalid Input"))
                    {
                        Label7.Text = "Invalid Input";
                    }
                    else
                    {
                        Label7.Text = solarws.avgIntensity.ToString();
                    }


                    if (windws.status.Equals("Invalid Input"))
                    {
                        Label6.Text = "Invalid Input";
                    }
                    else
                    {
                        Label6.Text = windws.avgIntensity.ToString();
                    }

                    Image1.ImageUrl = imgrs.url;
                }
                catch (Exception err)
                {
                    Console.WriteLine(err);
                }
            }
        }