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)); }
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); } }