private static void AssertForecastDocument(WeatherForecastDocument forecast)
        {
            Assert.IsTrue(forecast.Items.Any(), "There should be any forecasts!");

            var item = forecast.Items.First();

            Assert.IsFalse(string.IsNullOrEmpty(item.Description), "Forecast item should have a description!");
            Assert.IsFalse(string.IsNullOrEmpty(item.Icon), "Forecast item should have an icon!");
        }
예제 #2
0
        private static IEnumerable <ForecastDayViewModel> CreateDayViewModels(WeatherForecastDocument doc)
        {
            var groups = doc.Items.GroupBy(i => i.TimeUtc.ToLocalTime().Date).Select(x => x);

            foreach (var group in groups.Take(5))
            {
                var items = group.Select(i => new ForecastDayItemViewModel(i));
                yield return(new ForecastDayViewModel(group.Key, items));
            }
        }
예제 #3
0
        private void Publish(WeatherForecastDocument doc)
        {
            var days = CreateDayViewModels(doc);

            Days.Clear();
            foreach (var d in days)
            {
                Days.Add(d);
            }
        }