public void GetWeatherWithSave(WeatherParameter Param)
        {
            var jsonObject = GetWeather(Param);
            WeatherObject WObject = new JavaScriptSerializer().Deserialize<WeatherObject>(jsonObject);


            SaveObject(WObject);

        }
        /// <summary>
        /// THIS ONLY RETURN WEATHEROBJECT.
        /// IF YOU WANT TO JSON OR XML OR HTML CHANGE RETURN TYPE...
        /// </summary>
        /// <param name="RequestType">Please Select from enum</param>
        /// <param name="Format">Default Json .xml or html.</param>
        /// <param name="UnitType">metric or imperial </param>
        /// <param name="q">ID or CityName</param>
        /// <param name="Lat">empty string</param>
        /// <param name="Long">empty string</param>
        /// <returns></returns>
        public string GetWeather(WeatherParameter Param)
        {

            var wFormat = "";
            var RType = "";
            var UType = "";



            switch (Param.Format)
            {
                case DataFormat.jSon:
                    wFormat = "mode=json";
                    break;
                case DataFormat.Xml:
                    wFormat = "mode=xml";
                    break;
                case DataFormat.Html:
                    wFormat = "mode=html";
                    break;
                default:
                    break;
            }

            switch (Param.RequestType)
            {
                case RequestType.ByCityName:
                    RType = "q=" + Param.q;
                    break;
                case RequestType.ByCoordinates:
                    RType = "lat=" + Param.Lat + "&lon=" + Param.Lon;
                    break;
                case RequestType.ByCityId:  
                    RType = "iq="+Param.q;
                    break;
                default:
                    break;
            }

            switch (Param.UnitType)
	        {
		        case UnitType.Imperial:
                            UType="units=imperial";
                            break;
                case UnitType.Metrics:
                    UType="units=metric";
                 break;
                default:
                break;
	        }

            
            var BaseUrl = "http://api.openweathermap.org/data/2.5/weather?"+wFormat+"&"+RType+"&"+UType;
            var Content = "";
       
            WebRequest request = WebRequest.Create(
             BaseUrl);
          
            request.Credentials = CredentialCache.DefaultCredentials;
         
            WebResponse response = request.GetResponse();
         
            Console.WriteLine(((HttpWebResponse)response).StatusDescription);
          
            Stream dataStream = response.GetResponseStream();
           
            StreamReader reader = new StreamReader(dataStream);
       
            string responseFromServer = reader.ReadToEnd();
           
            Content = responseFromServer;





            reader.Close();
            response.Close();

            return Content;
        }
 /// <summary>
 /// IF YOU GET WEATHER OBJECT PLEASE SET WEATHER PARAMETER FORMAT JSON
 /// </summary>
 /// <param name="Param"></param>
 /// <returns></returns>
 public WeatherObject GetWeatherobject(WeatherParameter Param)
 {
     var jsonObject = GetWeather(Param);
     WeatherObject WObject = new JavaScriptSerializer().Deserialize<WeatherObject>(jsonObject);
     return WObject;
 }