private IWeather Translate(ICity city, IWeatherItem weatherItem)
 {
     return(_weatherFactory.Create(
                city,
                weatherItem.DateTime,
                weatherItem.Description,
                weatherItem.Celsius,
                weatherItem.Fahrenheit,
                weatherItem.MetersPerSecond,
                weatherItem.MilesPerHour,
                weatherItem.KilometersPerHour,
                weatherItem.Precipitation));
 }
示例#2
0
        public async Task <IEnumerable <IWeather> > GetAsync(DateTime dateTime, int cityCode)
        {
            using (var databaseContext = _databaseContextFactory.Create())
            {
                var dateFrom = dateTime.Date;
                var dateTo   = dateFrom.AddDays(1);

                var weatherEntities = await databaseContext
                                      .Weather
                                      .Where(entity => entity.City.Code == cityCode)
                                      .Where(entity => entity.DateTime >= dateFrom)
                                      .Where(entity => entity.DateTime < dateTo)
                                      .Select(
                    entity => new
                {
                    entity.DateTime,
                    entity.Celsius,
                    entity.Fahrenheit,
                    entity.Description,
                    entity.KilometersPerHour,
                    entity.MetersPerSecond,
                    entity.MilesPerHour,
                    entity.Precipitation,
                })
                                      .ToListAsync();

                var weatherCollection = weatherEntities.Select(
                    arg => _weatherFactory.Create(
                        null,
                        arg.DateTime,
                        arg.Description,
                        arg.Celsius,
                        arg.Fahrenheit,
                        arg.MetersPerSecond,
                        arg.MilesPerHour,
                        arg.KilometersPerHour,
                        arg.Precipitation))
                                        .ToArray();

                return(weatherCollection);
            }
        }