Esempio n. 1
0
        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"));
        }
Esempio n. 2
0
        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"));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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"));
        }