public CurrentWeatherDomainModel MapToCurrentWeatherDomainModel(OpenWeatherCurrentWeatherDataModel datamodel) { CurrentWeatherDomainModel domainModel = new CurrentWeatherDomainModel(); domainModel.Temperature = datamodel.Main.Temp; domainModel.WeatherDescription = datamodel.Weather[0].Description; return(domainModel); }
public string GetWeatherForecastForZip(int zipcode, ITemperatureStrategy temperatureStrategy, DateTime date) { //ToDo: Get API Key from Settings // Use DI here instead of creating OpenWeatherAPI here ( Provider can be easily changed later) // OpenWeatherAPI openWeatherAPI = new OpenWeatherAPI(_httpClient, "a1fcc507923163ff1bae113a80d8f82a"); var data = Task.Run(() => _weatherForecastProvider.GetCurrentWeather(zipcode)); data.Wait(); CurrentWeatherDomainModel model = data.Result; float temperatureKelvin = model.Temperature; string cloudiness = model.WeatherDescription; TemperatureInfo temperatureInfo = temperatureStrategy.GetTemperatureFromKelvin(temperatureKelvin); double roundedTemperature = Math.Round(temperatureInfo.Temperature); return($"In {zipcode} hat es am {date.ToString("d")} {roundedTemperature} {temperatureInfo.Display} und es ist {cloudiness}" + Environment.NewLine); }