Exemple #1
0
    /// <summary>
    /// Gets current conditions using helper method.
    /// </summary>
    public async Task ShowCurrentConditionsAsync()
    {
        if (City == null)
        {
            City = await SetCityAsync();
        }

        var currentConditions = await GetWeatherHelper.GetCurrentConditions(City.Key, Language);

        Console.WriteLine($"\n Wybrałeś {City.LocalizedName}, {City.AdministrativeArea.LocalizedName}, {City.Country.LocalizedName}. Jest {currentConditions.LocalObservationDateTime:g} \n " +
                          $"{currentConditions.WeatherText}, {currentConditions.Temperature.Metric.Value}°{currentConditions.Temperature.Metric.Unit}" +
                          $"({currentConditions.Temperature.Imperial.Value}°{currentConditions.Temperature.Imperial.Unit})" + Environment.NewLine);
    }
Exemple #2
0
    /// <summary>
    /// Displays forecast for either next 12 hours or the next five days.
    /// </summary>
    public async Task ShowLatestForecastAsync()
    {
        if (City == null)
        {
            City = await SetCityAsync();
        }

        Console.WriteLine($"Prognoza dla: {City.LocalizedName}. Wybierz preferowany rodzaj prognozy:" + Environment.NewLine +
                          "1. Prognoza godzinowa (12 godzin)" + Environment.NewLine +
                          "2. Prognoza dniowa (5 dni)" + Environment.NewLine);

        Console.Write("Wpisz numer i potwierdź klawiszem ENTER: ");
        int.TryParse(Console.ReadLine(), out int selectedNumber);

        if (selectedNumber == 1)
        {
            var forecast = await GetWeatherHelper.Get12hrsForecast(City.Key, Language);

            foreach (var f in forecast)
            {
                Console.WriteLine($"{City.LocalizedName}, {f.DateTime.Hour:D2}:{f.DateTime.Minute:D2}" + Environment.NewLine +
                                  $"{f.IconPhrase}, {f.Temperature.Value}°{f.Temperature.Unit}.");
                if (f.HasPrecipitation)
                {
                    Console.WriteLine($"{f.PrecipitationType}, {f.PrecipitationIntensity}.");
                }
                Console.WriteLine(Environment.NewLine);
            }
        }
        else if (selectedNumber == 2)
        {
            var forecast = await GetWeatherHelper.Get5DaysForecast(City.Key, Language);

            Console.WriteLine($"{City.LocalizedName}, {forecast.Headline.EffectiveDate:ddd d MMM yyyy}" + Environment.NewLine +
                              $"{forecast.Headline.Text}" + Environment.NewLine);
            foreach (var f in forecast.DailyForecasts)
            {
                Console.WriteLine($"{f.Date:dddd}:" + Environment.NewLine +
                                  $"W ciągu dnia {f.Day.IconPhrase}, a w nocy {f.Night.IconPhrase}. Temperatura od {f.Temperature.Minimum.Value}°C do {f.Temperature.Maximum.Value}°C."
                                  + Environment.NewLine);
            }
        }
        else
        {
            Console.WriteLine("Nie wybrano żadnej opcji - powrót do menu głównego" + Environment.NewLine);
        }

        Console.WriteLine("Naciśnij dowolny klawisz, by wrócić do menu.");
        Console.ReadKey();
        System.Console.WriteLine(Environment.NewLine);
    }
Exemple #3
0
    public async Task <City> SetCityAsync()
    {
        Console.WriteLine("Podaj nazwę miejscowości: " + Environment.NewLine);
        string query = Console.ReadLine();

        int resultCounter = 1;

        var cities = new List <City>(await GetWeatherHelper.GetCitiesAsync(query, Language));

        Console.WriteLine("Wybierz jeden z poniższych wyników: ");
        foreach (var c in cities)
        {
            Console.WriteLine($"{resultCounter}. {c.LocalizedName}, {c.AdministrativeArea.LocalizedName}, {c.Country.LocalizedName}" + Environment.NewLine);
            resultCounter++;
        }

        Console.Write("Wpisz numer i potwierdź klawiszem ENTER: ");
        int.TryParse(Console.ReadLine(), out int selectedNumber);

        Console.WriteLine("Miasto zostało ustawione.");

        return(cities[selectedNumber - 1]);
    }