Example #1
0
        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
                });
            }
        }
Example #2
0
        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
                });
            }
        }