コード例 #1
0
        static void darkSkyCurrentAPI()
        {
            Out output = new Out();

            DarkSkyController darkSkyController = new DarkSkyController();

            output.outputToConsole("***** DarkSky Current Weather *****");

            string cityName           = "Valletta";
            DarkSkyForecastModel dsfm = darkSkyController.getForecast(cityName, EndpointType.FORECAST);

            output.outputToConsole($"Current Temp in {cityName} is {dsfm.currently.temperature}");
        }
コード例 #2
0
        static void darkSkyForecastAPI()
        {
            Out output = new Out();

            DarkSkyController darkSkyController = new DarkSkyController();

            output.outputToConsole("***** DarkSky Forecast *****");

            string cityName           = "Valletta";
            DarkSkyForecastModel dsfm = darkSkyController.getForecast(cityName, EndpointType.FORECAST);

            foreach (ForecastDay fd in dsfm.daily.data)
            {
                DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(fd.time).UtcDateTime;
                output.outputToConsole($"{dateTime} Minimum: {fd.temperatureMin} Maximum: {fd.temperatureMax}");
            }
        }
コード例 #3
0
        public List <DarkSkyForecast> getForecastList(double latitude, double longitude)
        {
            List <DarkSkyForecast> forecastList = new List <DarkSkyForecast>();

            restClient.endpoint = darkSkyEndpoint.getConditionsEndpoint(latitude, longitude);
            string response = restClient.makeRequest();

            JSONParser <DarkSkyForecastModel> jsonParser = new JSONParser <DarkSkyForecastModel>();

            DarkSkyForecastModel deserialisedDarkSkyForecastModel = new DarkSkyForecastModel();

            deserialisedDarkSkyForecastModel = jsonParser.parseJSON(response, Parser.Version.NETCore2);

            foreach (Data forecastMain in deserialisedDarkSkyForecastModel.hourly.data)
            {
                forecastList.Add(new DarkSkyForecast(forecastMain.time, forecastMain.temperature, forecastMain.apparentTemperature));
            }
            return(forecastList);
        }
コード例 #4
0
        public List <DarkSkyForecast> getForecast(string position)
        {
            List <DarkSkyForecast> forecastList = new List <DarkSkyForecast>();

            restClient.endpoint = darkSkyEndpoint.getForecast(position);
            string response = restClient.makeRequest();

            JSONParser <DarkSkyForecastModel> jsonParser = new JSONParser <DarkSkyForecastModel>();

            DarkSkyForecastModel deserialisedDarkSkyForecastModel = jsonParser.ParseJSON(response, Parser.Version.NETCore3);

            foreach (DarkSkyData dailyForecast in deserialisedDarkSkyForecastModel.daily.data)
            {
                forecastList.Add(new DarkSkyForecast(deserialisedDarkSkyForecastModel.timezone,
                                                     dailyForecast.time,
                                                     dailyForecast.temperatureMin,
                                                     dailyForecast.temperatureMax));
            }

            return(forecastList);
        }
コード例 #5
0
        public DarkSkyForecastModel getForecast(string cityName, EndpointType endpointType)
        {
            AccuWeatherLocationModel awlm = awc.getPosition(cityName);

            //Console.WriteLine(awlm.GeoPosition.Latitude);

            //List<AccuWeatherForecast> forecastList = new List<AccuWeatherForecast>();

            restClient.endpoint = darkSkyApiEndpoint.getByCityNameEndpoint(awlm.GeoPosition.Longitude, awlm.GeoPosition.Latitude, endpointType);
            string response = restClient.makeRequest();

            JSONParser <DarkSkyForecastModel> jsonParser = new JSONParser <DarkSkyForecastModel>();


            DarkSkyForecastModel deserialisedDarkSkyModel = new DarkSkyForecastModel();

            deserialisedDarkSkyModel = jsonParser.parseJSON(response, Parser.Version.NETCore2);

            //foreach (DailyForecast dailyForecast in deserialisedAccuWeatherModel.DailyForecasts)
            //{
            //    forecastList.Add(new AccuWeatherForecast(dailyForecast.EpochDate, dailyForecast.Temperature.Minimum.Value, dailyForecast.Temperature.Maximum.Value));
            //}
            return(deserialisedDarkSkyModel);
        }