diff --git a/WeatherDashboard.Web/Views/Home/Index.cshtml b/WeatherDashboard.Web/Views/Home/Index.cshtml index e93c19e..9b913a4 100644 --- a/WeatherDashboard.Web/Views/Home/Index.cshtml +++ b/WeatherDashboard.Web/Views/Home/Index.cshtml @@ -13,11 +13,23 @@
@Model.Current.Temperature°F
-@foreach (var forecast in Model.Forecast) -{ -
-
@forecast.Summary.ConditionName
-
@forecast.Summary.HighTemp
-
@forecast.Summary.LowTemp
-
-} \ No newline at end of file +
+ + @foreach (var forecast in Model.Forecast) + { +
+
@forecast.Summary.ConditionName
+
@forecast.Summary.HighTemp / @forecast.Summary.LowTemp
+
+ + @foreach (var hourForecast in forecast.HourForecasts) + { +
+
@hourForecast.Time
+
@hourForecast.ConditionName
+
@hourForecast.Temperature
+
+ } + } + +
\ No newline at end of file diff --git a/WeatherDashboard.Web/WeatherDashboard.Web.csproj b/WeatherDashboard.Web/WeatherDashboard.Web.csproj index eee1150..136583a 100644 --- a/WeatherDashboard.Web/WeatherDashboard.Web.csproj +++ b/WeatherDashboard.Web/WeatherDashboard.Web.csproj @@ -6,6 +6,13 @@ enable + + + + + + + <_WebToolingArtifacts Remove="Properties\PublishProfiles\Release.pubxml" /> @@ -18,8 +25,4 @@ - - - - diff --git a/WeatherDashboard.Web/wwwroot/css/site.css b/WeatherDashboard.Web/wwwroot/css/site.css index 5c3f609..5540922 100644 --- a/WeatherDashboard.Web/wwwroot/css/site.css +++ b/WeatherDashboard.Web/wwwroot/css/site.css @@ -1,5 +1,5 @@ html { - font-size: 20px; + font-size: 20px; } /*@media (min-width: 768px) { @@ -9,18 +9,18 @@ html { }*/ .btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus { - box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb; + box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb; } html { - position: relative; - min-height: 100%; + position: relative; + min-height: 100%; } body { font-family: 'Montserrat', sans-serif; color: #444; - margin:40px; + margin: 20px 10px; background-color: floralwhite; } @@ -38,4 +38,16 @@ body { .current-temperature { font-size: 100px; font-weight: 500; -} \ No newline at end of file +} + +.detailed-conditions { +} + + .detailed-conditions .day-summary { + font-size: 30px; + } + + .detailed-conditions .day-detail { + font-size: 13px; + opacity: 0.5; + } diff --git a/WeatherDashboard/DayForecast.cs b/WeatherDashboard/DayForecast.cs new file mode 100644 index 0000000..dd0ec34 --- /dev/null +++ b/WeatherDashboard/DayForecast.cs @@ -0,0 +1,13 @@ +using Newtonsoft.Json; + +namespace WeatherDashboard +{ + public class DayForecast + { + [JsonProperty("day")] + public ForecastSummary Summary { get; set; } + + [JsonProperty("hour")] + public ICollection HourForecasts { get; set; } + } +} \ No newline at end of file diff --git a/WeatherDashboard/Forecast.cs b/WeatherDashboard/Forecast.cs new file mode 100644 index 0000000..58fe110 --- /dev/null +++ b/WeatherDashboard/Forecast.cs @@ -0,0 +1,32 @@ +using Newtonsoft.Json; + +namespace WeatherDashboard +{ + [JsonConverter(typeof(JsonPathConverter))] + public class Forecast + { + [JsonProperty("last_updated")] + public DateTime? LastUpdated { get; set; } + + [JsonProperty("time")] + public DateTime? Time { get; set; } + + [JsonProperty("temp_f")] + public decimal Temperature { get; set; } + + [JsonProperty("feelslike_f")] + public decimal FeelsLike { get; set; } + + [JsonProperty("humidity")] + public decimal Humidity { get; set; } + + [JsonProperty("wind_mph")] + public decimal WindSpeed { get; set; } + + [JsonProperty("wind_dir")] + public string WindDirection { get; set; } + + [JsonProperty("condition.text")] + public string ConditionName { get; set; } + } +} \ No newline at end of file diff --git a/WeatherDashboard/CurrentForecast.cs b/WeatherDashboard/ForecastSummary.cs similarity index 50% rename from WeatherDashboard/CurrentForecast.cs rename to WeatherDashboard/ForecastSummary.cs index 616e563..3b4a50f 100644 --- a/WeatherDashboard/CurrentForecast.cs +++ b/WeatherDashboard/ForecastSummary.cs @@ -3,15 +3,15 @@ namespace WeatherDashboard { [JsonConverter(typeof(JsonPathConverter))] - public class CurrentForecast + public class ForecastSummary { - [JsonProperty("last_updated")] - public DateTime LastUpdated { get; set; } - - [JsonProperty("temp_f")] - public decimal Temperature { get; set; } - [JsonProperty("condition.text")] public string ConditionName { get; set; } + + [JsonProperty("maxtemp_f")] + public decimal HighTemp { get; set; } + + [JsonProperty("mintemp_f")] + public decimal LowTemp { get; set; } } } \ No newline at end of file diff --git a/WeatherDashboard/WeatherSet.cs b/WeatherDashboard/WeatherSet.cs index 7badda1..479701c 100644 --- a/WeatherDashboard/WeatherSet.cs +++ b/WeatherDashboard/WeatherSet.cs @@ -9,28 +9,9 @@ namespace WeatherDashboard public Location Location { get; set; } [JsonProperty("current")] - public CurrentForecast Current { get; set; } + public Forecast Current { get; set; } [JsonProperty("forecast.forecastday")] - public ICollection Forecast { get; set; } - } - - public class Forecast - { - [JsonProperty("day")] - public ForecastSummary Summary { get; set; } - } - - [JsonConverter(typeof(JsonPathConverter))] - public class ForecastSummary - { - [JsonProperty("condition.text")] - public string ConditionName { get; set; } - - [JsonProperty("maxtemp_f")] - public decimal HighTemp { get; set; } - - [JsonProperty("mintemp_f")] - public decimal LowTemp { get; set; } + public ICollection Forecast { get; set; } } } \ No newline at end of file