32 lines
815 B
C#
32 lines
815 B
C#
using Microsoft.AspNetCore.Mvc;
|
|
using YongeStreet.Services;
|
|
|
|
namespace YongeStreet.Controllers;
|
|
|
|
record City(string name, int id);
|
|
|
|
public class ApiController: Controller
|
|
{
|
|
|
|
private readonly DataService _dataService;
|
|
private readonly ILogger<ApiController> _logger;
|
|
|
|
public ApiController(DataService dataService, ILogger<ApiController> logger)
|
|
{
|
|
_dataService = dataService;
|
|
_logger = logger;
|
|
}
|
|
|
|
public ActionResult Roads(string city, string date="")
|
|
{
|
|
var extractDate = Util.ParseDateOnly(date);
|
|
if (!extractDate.HasValue)
|
|
{
|
|
return BadRequest($"Cannot parse provided date {date}. The date must be in the format yyyy-MM-dd.");
|
|
}
|
|
return Json(_dataService.GetRoads(city, extractDate.Value));
|
|
|
|
|
|
}
|
|
|
|
} |