public IActionResult Detail(string parkCode, bool?changeTemp)
        {
            if (changeTemp != null)
            {
                SetSessionData <bool>("IsFahrenheit", !GetSessionData <bool>("IsFahrenheit"));
            }

            DetailViewModel vm = new DetailViewModel();

            vm.Park = _db.GetNationalPark(parkCode);

            IList <ParkWeatherItem> weatherItems = _weatherDb.GetWeatherForPark(parkCode);

            foreach (var weatherItem in weatherItems)
            {
                WeatherViewItem weathView = new WeatherViewItem();
                weathView.Day       = weatherItem.Day;
                weathView.DayOfWeek = DateTime.Today.AddDays(weatherItem.Day - 1).DayOfWeek.ToString();
                weathView.Forecast  = weatherItem.Forecast;
                weathView.High      = weatherItem.High;
                weathView.Low       = weatherItem.Low;
                weathView.SetImageSrc();
                weathView.SetRecommendations();
                if (!GetSessionData <bool>("IsFahrenheit"))
                {
                    weathView.ConvertToCelsius();
                }
                vm.Weather.Add(weathView);
            }

            return(GetAuthenticatedView("Detail", vm));
        }
예제 #2
0
        public void TestGetWeatherForPark()
        {
            bool result = false;

            // populate 5 test weather items, increase relative day by one each time
            for (int i = 0; i < 5; i++)
            {
                _weatherItem.Day = _weatherItem.Day + i;
                result           = _db.AddWeatherItem(_weatherItem);
                Assert.IsTrue(result);
            }

            var weatherItemsForPark = _db.GetWeatherForPark("TEST");

            Assert.IsTrue(weatherItemsForPark.Count == 5);
        }