public async Task <ActionResult> PlayHorn(BasicLocalRequest request) { if (!await this.IsAPITokenValid(request.ApiToken)) { return(new BadRequestObjectResult("UnAuthorized")); } await this.HubContext.Clients.All.SendAsync("ReceivePlayHorn"); return(new OkObjectResult("Success")); }
public async Task <ActionResult> ShowScoreboardPage(BasicLocalRequest request) { if (!await this.IsAPITokenValid(request.ApiToken)) { return(new BadRequestObjectResult("UnAuthorized")); } await this.HubContext.Clients.All.SendAsync("RecieveSwitchScoreboardPage"); Connector.MediaScreenShowing = false; return(new OkObjectResult("Success")); }
public async Task <ActionResult> StopTimer(BasicLocalRequest request) { if (!await this.IsAPITokenValid(request.ApiToken)) { return(new BadRequestObjectResult("UnAuthorized")); } await this.HubContext.Clients.All.SendAsync("RecieveToggleTimer", "stop"); var response = new TimerResponse() { Period = Connector.Game.GameComplete ? 4 : (int)(Connector.GameScore.GameTime.Minutes / 12) + 1, TimerRunning = Connector.TimerRunning }; //whenever you start or stop the timer, return back to the current period (to store for recording fouls) and whether the timer was already running return(new OkObjectResult(response)); }
public async Task <ActionResult> Undo(BasicLocalRequest request) { if (!await this.IsAPITokenValid(request.ApiToken)) { return(new BadRequestObjectResult("UnAuthorized")); } var lastRecord = Connector.UndoLog.Last(); if (lastRecord.Type == Models.UndoLogType.Score) { UndoFoulScoreRequest apiRequest = new UndoFoulScoreRequest { ApiToken = Connector.CurrentApiToken, LeagueKey = Connector.League.LeagueKey, Id = lastRecord.Id }; string errorMsg = ""; var undoString = this.ApiClient.Post <string>("Scoring/UndoScore", JsonConvert.SerializeObject(apiRequest), ref errorMsg); if (undoString != null) { Connector.GameScore = GetUpdatedGameScore(Connector.Game.GameId); await this.HubContext.Clients.All.SendAsync("updateScore", Connector.GameScore); Connector.UndoLog.Remove(Connector.UndoLog.Last()); } else { return(new BadRequestObjectResult("Undo Error")); } } else if (lastRecord.Type == Models.UndoLogType.Foul) { UndoFoulScoreRequest apiRequest = new UndoFoulScoreRequest { ApiToken = Connector.CurrentApiToken, LeagueKey = Connector.League.LeagueKey, Id = lastRecord.Id }; string errorMsg = ""; var undoString = this.ApiClient.Post <string>("Scoring/UndoFoul", JsonConvert.SerializeObject(apiRequest), ref errorMsg); if (undoString != null) { Connector.GameScore = GetUpdatedGameScore(Connector.Game.GameId); await this.HubContext.Clients.All.SendAsync("updateScore", Connector.GameScore); Connector.UndoLog.Remove(Connector.UndoLog.Last()); } else { return(new BadRequestObjectResult("Undo Error")); } } return(new OkObjectResult("Success")); }