Esempio n. 1
0
        public static async Task <WeatherModel> GetWeather(string zipCode)
        {
            //Sign up for a free API key at http://openweathermap.org/appid
            string key         = "2c526a0142a73d3f29394eccf6ec1cb0";
            string queryString = "http://api.openweathermap.org/data/2.5/weather?zip="
                                 + zipCode + ",us&appid=" + key + "&units=imperial";

            dynamic results = await DataService.GetDataFromService(queryString).ConfigureAwait(false);

            if (results["weather"] != null)
            {
                WeatherModel weather = new WeatherModel();
                weather.Title       = (string)results["name"];
                weather.Temperature = (string)results["main"]["temp"] + " F";
                weather.Wind        = (string)results["wind"]["speed"] + " mph";
                weather.Humidity    = (string)results["main"]["humidity"] + " %";
                weather.Visibility  = (string)results["weather"][0]["main"];

                DateTime time    = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
                DateTime sunrise = time.AddSeconds((double)results["sys"]["sunrise"]);
                DateTime sunset  = time.AddSeconds((double)results["sys"]["sunset"]);
                weather.Sunrise = sunrise.ToString() + " UTC";
                weather.Sunset  = sunset.ToString() + " UTC";
                return(weather);
            }
            else
            {
                return(null);
            }
        }
 public WeatherMainPage()
 {
     InitializeComponent();
     BindingContext = new WeatherModel();
     //WeatherModel wm = new WeatherModel();
     //BindingContext = wm;
 }
        private async void getWeatherBtn_Clicked(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(zipCodeEntry.Text))
            {
                WeatherModel weather = await Core.GetWeather(zipCodeEntry.Text);

                BindingContext     = weather;
                getWeatherBtn.Text = "Search Again";
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Uruchamia socket klienta.
        /// </summary>
        /// <param name="city">Nazwa miasta</param>
        /// <returns>Dane o pogodzie</returns>
        public static WeatherModel StartClient(string city)
        {
            byte[]       bytes = new byte[1024];
            WeatherModel model = new WeatherModel();

            try
            {
                IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
                IPAddress   ipAddress  = ipHostInfo.AddressList[0];
                IPEndPoint  remoteEP   = new IPEndPoint(ipAddress, 11000);

                Socket sender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

                try
                {
                    sender.Connect(remoteEP);

                    Console.WriteLine("Połączono z {0}", sender.RemoteEndPoint.ToString());

                    byte[] msg = Encoding.UTF8.GetBytes(city + "<EOF>");

                    int bytesSent = sender.Send(msg);

                    int bytesRec = sender.Receive(bytes);
                    model = Helper.Deserialize <WeatherModel>(Encoding.UTF8.GetString(bytes, 0, bytesRec));

                    sender.Shutdown(SocketShutdown.Both);
                    sender.Close();
                }
                catch (ArgumentNullException ane)
                {
                    Console.WriteLine("ArgumentNullException : {0}", ane.ToString());
                }
                catch (SocketException se)
                {
                    Console.WriteLine("SocketException : {0}", se.ToString());
                }
                catch (Exception e)
                {
                    Console.WriteLine("Unexpected exception : {0}", e.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }

            return(model);
        }
Esempio n. 5
0
        /// <summary>
        /// Podpina dane do kontrolek
        /// </summary>
        /// <param name="model">Dane o pogodzie</param>
        private void BindData(WeatherModel model)
        {
            _model                = model;
            labelMiasto.Text      = model.Miasto + ", woj: " + model.Wojewodztwo;
            labelKraj.Text        = model.Kraj;
            labelTemperatura.Text = model.Temperatura + " °C";
            labelOpis.Text        = model.Opis;
            labelOpady.Text       = model.Opady + " mm/m2";
            labelCisnienie.Text   = model.Cisnienie + " hPa";
            labelWiatr.Text       = model.Wiatr + " m/s";
            pictureBoxFoto.Image  = (GetFoto(model.Foto));

            var d1 = model.Dni.ElementAtOrDefault(0);

            if (d1 != null)
            {
                labelD1Opis.Text        = d1.Opis;
                labelD1Temperatura.Text = d1.Temperatura + " °C";
                labelD1Cisnienie.Text   = d1.Cisnienie + " hPa";
                labelD1Dzien.Text       = d1.Dzien;
                pictureBoxD1Foto.Image  = (GetFoto(d1.Foto));
            }

            var d2 = model.Dni.ElementAtOrDefault(1);

            if (d2 != null)
            {
                labelD2Opis.Text        = d2.Opis;
                labelD2Temperatura.Text = d2.Temperatura + " °C";
                labelD2Cisnienie.Text   = d2.Cisnienie + " hPa";
                labelD2Dzien.Text       = d2.Dzien;
                pictureBoxD2Foto.Image  = (GetFoto(d2.Foto));
            }

            var d3 = model.Dni.ElementAtOrDefault(2);

            if (d3 != null)
            {
                labelD3Opis.Text        = d3.Opis;
                labelD3Temperatura.Text = d3.Temperatura + " °C";
                labelD3Cisnienie.Text   = d3.Cisnienie + " hPa";
                labelD3Dzien.Text       = d3.Dzien;
                pictureBoxD3Foto.Image  = (GetFoto(d3.Foto));
            }

            labelAktualizacja.Text = "Ostatnia aktualizacja: " + model.Aktualizacja.ToString("HH:mm:ss  dd.MM.yyyy");
        }
        public static void WriteWeatherForecast(WeatherModel model, string webcite)
        {
            Console.WriteLine($"________-------- {webcite} --------________");
            Console.WriteLine();
            Console.WriteLine("The weather in Saint Petersburg:");
            Console.WriteLine($" * Temperature in Celsius - {model.Temperature} degrees.");
            double temperature = Convert.ToDouble(model.Temperature.Replace(".", ","));

            temperature = Math.Round(temperature * 9 / 5 + 32, 2);
            Console.WriteLine($" * Temperature in Fahrenheit - {temperature} degrees.");
            Console.WriteLine($" * Humidity - {model.Humidity}%.");
            Console.WriteLine($" * Probability of precipitation - {model.PrecipitationProbability}%.");
            Console.WriteLine($" * Сloudiness - {model.CloudCover}%.");
            Console.WriteLine($" * Wind speed - {model.WindSpeed} m/s.");
            Console.WriteLine($" * Wind Direction(comes from) - {model.WindDirection} degrees clockwise from due north.");
            Console.WriteLine();
            Console.WriteLine();
        }
Esempio n. 7
0
        public static async Task <WeatherModel> GetConditions(string city)
        {
            var client = new HttpClient();

            var stringResult = await client.GetStringAsync(
                "http://api.openweathermap.org/data/2.5/weather?" +
                $"q={city}&APPID={myApiKey}&units=imperial");

            var json = JObject.Parse(stringResult);

            var outModel = new WeatherModel()
            {
                Conditions = json["weather"][0]["main"].ToString(),
                TempF      = decimal.Parse(json["main"]["temp"].ToString())
            };

            return(outModel);
        }