Exemple #1
0
        public async Task <WeatherModel> GetCurrentWeatherResultDataAsync <T>(ILogger <T> logger, string cityName, string metric, OpenWeatherMapModel resourceData)
        {
            var resultData = new WeatherModel();
            await Task.Run(() =>
            {
                var config  = new MapperConfiguration(cfg => cfg.CreateMap <OpenWeatherMapModel, LogInfo>());
                var mapper  = new Mapper(config);
                var logInfo = mapper.Map <LogInfo>(resourceData);
                logger.LogInformation(logInfo.ToString());
                var resultTemperature = metric.Equals("celsius") ? resourceData.Main.Temp : MetricHelper.CToF(resourceData.Main.Temp);
                resultData            = new WeatherModel
                {
                    City              = cityName,
                    Temperature       = resultTemperature,
                    Date              = DateTime.Now.ToString(),
                    TemperatureMetric = metric
                };
            });

            return(resultData);
        }
Exemple #2
0
        public async Task <IEnumerable <WeatherModel> > GetWeather5DaysResultDataAsync <T>(ILogger <T> logger, string cityName, string metric, WeatherFiveDaysData resourceData)
        {
            var weatherFiveDaysModel = new WeatherFiveDaysModel
            {
                WeatherFiveDays = new List <WeatherModel>()
            };
            await Task.Run(() =>
            {
                var listWheather = resourceData.list;
                foreach (var itemWheather in listWheather)
                {
                    var resultTemperature = metric.Equals("celsius") ? itemWheather.main.Temp : MetricHelper.CToF(itemWheather.main.Temp);

                    var resultData = new WeatherModel
                    {
                        City              = cityName,
                        Temperature       = resultTemperature,
                        Date              = itemWheather.dt_txt,
                        TemperatureMetric = metric
                    };
                    weatherFiveDaysModel.WeatherFiveDays.Add(resultData);
                }
            });

            return(weatherFiveDaysModel.WeatherFiveDays);
        }