public static async Task WeatherForecast(HttpContext context) { var routeValues = context.GetRouteData().Values; var city = routeValues.TryGetValue("city", out var v1) ? (string)v1 : "010"; city = _cities[city]; int days = routeValues.TryGetValue("days", out var v2) ? int.Parse(v2.ToString()) : 4; var report = new WeatherReport(city, days); await RenderWeatherAsync(context, report); }
private static async Task RenderWeatherAsync(HttpContext context, WeatherReport report) { context.Response.ContentType = "text/html;charset=utf-8"; await context.Response.WriteAsync("<html><head><title>Weather</title></head><body>"); await context.Response.WriteAsync($"<h3>{report.City}</h3>"); foreach (var it in report.WeatherInfos) { await context.Response.WriteAsync($"{it.Key.ToString("yyyy-MM-dd")}:"); await context.Response.WriteAsync( $"{it.Value.Condition} ({it.Value.LowTemp} Celus - {it.Value.HighTemp}) <br/> <br/>" ); } await context.Response.WriteAsync("</body></html>"); }