public JsonResult SetRaceStartCountdownDuration(long newDuration) { _logger.LogInformation("GET /SetRaceStartCountdownDuration/" + newDuration); try { _raceManager.RaceStartCountdownDuration = newDuration; ResponseObject.Start startResponse = new ResponseObject.Start { responseMessage = "success", raceStartCountdownDuration = _raceManager.RaceStartCountdownDuration }; return(Json(startResponse)); } catch (Exception error) { _logger.LogError("RaceTimer/GetRaceStartCountdownDuration Exception: " + error.Message); ResponseObject.Start startResponse = new ResponseObject.Start { responseMessage = error.Message, raceStartCountdownDuration = _raceManager.RaceStartCountdownDuration }; return(new JsonResult(startResponse) { StatusCode = (int)HttpStatusCode.BadRequest }); } }
public JsonResult StartRace() { _logger.LogInformation("GET /StartRace"); try { string failPrefix = "StartRace fail: "; ResponseObject.Start startResponse = new ResponseObject.Start { raceStartCountdownDuration = _raceManager.RaceStartCountdownDuration, }; if (_raceManager.GetParticipants().Count == 0) { startResponse.responseMessage = failPrefix + "no lap timers registered."; } else { bool success = _raceManager.StartRace(); if (success) { startResponse.responseMessage = "success"; } else { startResponse.responseMessage = failPrefix + "cannot start race in state " + _raceManager.GetRaceState().ToString(); } } return(Json(startResponse)); } catch (Exception error) { _logger.LogError("RaceTimer/StartRace Exception: " + error.Message); ResponseObject.Start startResponse = new ResponseObject.Start { responseMessage = error.Message, raceStartCountdownDuration = _raceManager.RaceStartCountdownDuration }; return(new JsonResult(startResponse) { StatusCode = (int)HttpStatusCode.BadRequest }); } }