private static Common.Weather.WeatherPeriodData ConvertToWeatherPeriodData(DailyWeather source) {
            var destination = new Common.Weather.WeatherPeriodData();

            if (source.WeatherConditions != null && source.WeatherConditions.Count > 0) {
                destination.Condition = ConvertToWeatherCondition(source.WeatherConditions[0].Id);
            }
            destination.Humidity = source.Humidity;
            destination.Pressure = source.Pressure;
            if (source.DailyTemperature != null) {
                if (source.DailyTemperature.Maximum.HasValue) {
                    destination.MaxTemperature = new Temperature() { Kelvin = source.DailyTemperature.Maximum.Value };
                }
                if (source.DailyTemperature.Minimum.HasValue) {
                    destination.MinTemperature = new Temperature() { Kelvin = source.DailyTemperature.Minimum.Value };
                }
            }

            //destination.MaxPrecipitation = ;
            //destination.PrecipitationType = ;

            destination.CloudCover = null;
            destination.DewPoint = null;
            destination.MaxTemperatureTime = null;
            destination.MinTemperatureTime = null;
            destination.Ozone = null;
            destination.PrecipitationProbability = null;
            destination.Visibility = null;
            destination.WindChill = null;
            destination.WindDirection = null;
            destination.WindSpeed = null;

            return destination;
        }
        private static Common.Weather.WeatherPeriod ConvertToWeatherPeriod(DailyWeatherResponse source, DailyWeather day) {
            var destination = new Common.Weather.WeatherPeriod();

            destination.TimeFrom = UnixToDateTime(day.Timestamp.Value);
            destination.TimeTo = destination.TimeFrom.AddDays(1);
            destination.Weather = ConvertToWeatherPeriodData(day);

            return destination;
        }