diff --git a/BinaryDad.AacpsBusAlert.Web/BinaryDad.AacpsBusAlert.Web.csproj b/BinaryDad.AacpsBusAlert.Web/BinaryDad.AacpsBusAlert.Web.csproj index c78c9c7..d350116 100644 --- a/BinaryDad.AacpsBusAlert.Web/BinaryDad.AacpsBusAlert.Web.csproj +++ b/BinaryDad.AacpsBusAlert.Web/BinaryDad.AacpsBusAlert.Web.csproj @@ -1,4 +1,4 @@ - + net6.0 @@ -6,4 +6,13 @@ enable + + + + + + + + + diff --git a/BinaryDad.AacpsBusAlert.Web/Controllers/ApiController.cs b/BinaryDad.AacpsBusAlert.Web/Controllers/ApiController.cs new file mode 100644 index 0000000..c990536 --- /dev/null +++ b/BinaryDad.AacpsBusAlert.Web/Controllers/ApiController.cs @@ -0,0 +1,22 @@ +using BinaryDad.AacpsBusAlert.Services; +using Microsoft.AspNetCore.Mvc; + +namespace BinaryDad.AacpsBusAlert.Web.Controllers +{ + [Route("api")] + public class ApiController : Controller + { + private readonly BusRouteService busRouteService; + + public ApiController(BusRouteService busRouteService) + { + this.busRouteService = busRouteService; + } + + [Route("routes")] + public Task> GetBusRoutesAsync() + { + return busRouteService.GetBusRoutesAsync(); + } + } +} diff --git a/BinaryDad.AacpsBusAlert.Web/Controllers/HomeController.cs b/BinaryDad.AacpsBusAlert.Web/Controllers/HomeController.cs index 90480c7..fa63a24 100644 --- a/BinaryDad.AacpsBusAlert.Web/Controllers/HomeController.cs +++ b/BinaryDad.AacpsBusAlert.Web/Controllers/HomeController.cs @@ -1,4 +1,6 @@ -using BinaryDad.AacpsBusAlert.Web.Models; +using BinaryDad.AacpsBusAlert.Services; +using BinaryDad.AacpsBusAlert.Web.Models; +using BinaryDad.Extensions; using Microsoft.AspNetCore.Mvc; using System.Diagnostics; @@ -6,16 +8,25 @@ namespace BinaryDad.AacpsBusAlert.Web.Controllers { public class HomeController : Controller { - private readonly ILogger _logger; + private readonly ILogger logger; + private readonly BusRouteService busRouteService; - public HomeController(ILogger logger) + public HomeController(ILogger logger, BusRouteService busRouteService) { - _logger = logger; + this.logger = logger; + this.busRouteService = busRouteService; } - public IActionResult Index() + public async Task Index() { - return View(); + var userRoutes = new[] { 203, 365, 277, 269, 274 }; + + //var busRoutes = await CacheHelper.GetAsync("BusRoutes", () => busRouteService.GetBusRoutesAsync()); + var busRoutes = await busRouteService.GetBusRoutesAsync(); + + var matchedBusRoutes = busRoutes.Join(userRoutes, r => r.BusNumber, u => u, (r, u) => r).ToList(); + + return View(matchedBusRoutes); } public IActionResult Privacy() diff --git a/BinaryDad.AacpsBusAlert.Web/Program.cs b/BinaryDad.AacpsBusAlert.Web/Program.cs index 3155fc3..a1d7cb6 100644 --- a/BinaryDad.AacpsBusAlert.Web/Program.cs +++ b/BinaryDad.AacpsBusAlert.Web/Program.cs @@ -1,7 +1,10 @@ +using BinaryDad.AacpsBusAlert.Services; + var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllersWithViews(); +builder.Services.AddTransient(); var app = builder.Build(); diff --git a/BinaryDad.AacpsBusAlert.Web/Views/Home/Index.cshtml b/BinaryDad.AacpsBusAlert.Web/Views/Home/Index.cshtml index d2d19bd..64237be 100644 --- a/BinaryDad.AacpsBusAlert.Web/Views/Home/Index.cshtml +++ b/BinaryDad.AacpsBusAlert.Web/Views/Home/Index.cshtml @@ -1,8 +1,16 @@ -@{ +@model ICollection +@{ + ViewData["Title"] = "Home Page"; + + var busRoutes = Model.OrderBy(r => r.BusNumber); } -
-

Welcome

-

Learn about building Web apps with ASP.NET Core.

-
+@foreach (var busRoute in busRoutes) +{ +
+

@busRoute.BusNumber - @busRoute.Schools

+

@busRoute.Impact

+

@busRoute.Schedules

+
+} \ No newline at end of file diff --git a/BinaryDad.AacpsBusAlert.Web/Views/_ViewImports.cshtml b/BinaryDad.AacpsBusAlert.Web/Views/_ViewImports.cshtml index 15c503b..e3e0cc5 100644 --- a/BinaryDad.AacpsBusAlert.Web/Views/_ViewImports.cshtml +++ b/BinaryDad.AacpsBusAlert.Web/Views/_ViewImports.cshtml @@ -1,3 +1,4 @@ -@using BinaryDad.AacpsBusAlert.Web +@using BinaryDad.AacpsBusAlert +@using BinaryDad.AacpsBusAlert.Web @using BinaryDad.AacpsBusAlert.Web.Models @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers