30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
|
|
|
namespace TrafficLights.Pages
|
|
{
|
|
public class GetStatusModel : PageModel
|
|
{
|
|
private readonly TrafficLightSimulatorService _trafficLightSimulatorService;
|
|
public GetStatusModel(TrafficLightSimulatorService trafficLightSimulatorService)
|
|
{
|
|
_trafficLightSimulatorService = trafficLightSimulatorService;
|
|
}
|
|
public IActionResult OnGet()
|
|
{
|
|
var currentStatus = _trafficLightSimulatorService.GetStatus();
|
|
var data = new
|
|
{
|
|
currentPeriodName = currentStatus.CurrentPeriod.Name,
|
|
currentPeriodVerboseName = currentStatus.CurrentPeriod.VerboseName,
|
|
currentStateData = currentStatus.CurrentState,
|
|
currentStateIndex = currentStatus.CurrentStateIndex,
|
|
secondsUntilChangeover = currentStatus.SecondsUntilChangeover,
|
|
simulationTime = currentStatus.SimulationTime.ToString()
|
|
};
|
|
|
|
return new JsonResult(currentStatus);
|
|
}
|
|
}
|
|
}
|