public HistoricWeather ConvertHistoricWeatherDtoInHistoricWeather(HistoricWeatherDto dto)
        {
            HistoricWeather historicWeather = new HistoricWeather(
                dto.Lat,
                dto.Lon,
                dto.Timezone,
                dto.TimezoneOffset);

            foreach (var daily in dto.Daily)
            {
                HistoricWeatherDaily historicWeatherDaily = new HistoricWeatherDaily(
                    historicWeather.Id,
                    daily.Dt,
                    daily.Sunrise,
                    daily.Sunset,
                    daily.Pressure,
                    daily.Humidity,
                    daily.DewPoint,
                    daily.WindSpeed,
                    daily.WindDeg,
                    daily.Clouds,
                    daily.Pop,
                    daily.Rain,
                    daily.Uvi);

                historicWeatherDaily.AddHistoricTemp(new HistoricTemp
                {
                    Day   = daily.Temp.Day,
                    Min   = daily.Temp.Min,
                    Max   = daily.Temp.Max,
                    Night = daily.Temp.Night,
                    Eve   = daily.Temp.Eve,
                    Morn  = daily.Temp.Morn
                });

                historicWeather.AddHistoricWeatherDaily(historicWeatherDaily);
            }

            return(historicWeather);
        }
        public async Task PersistHistoricWeather(HistoricWeatherDto openWeatherDto)
        {
            await _historicWeatherRepository.AddAsync(ConvertHistoricWeatherDtoInHistoricWeather(openWeatherDto));

            await _historicWeatherRepository.UnitOfWork.Commit();
        }