Beispiel #1
0
        public async Task <ActionResult> UndoScore(UndoFoulScoreRequest request)
        {
            if (!await this.IsAPITokenValid(request.ApiToken))
            {
                return(new BadRequestObjectResult("UnAuthorized"));
            }

            string leagueId = await this.GetLeagueId(request.LeagueKey);

            if (leagueId == null)
            {
                return(new BadRequestObjectResult("League Not Found"));
            }

            try
            {
                await this.ScoringLogRepository.UndoScore(request.Id);

                return(new OkObjectResult("Undo Success"));
            }
            catch { }

            return(new BadRequestObjectResult("Error with undo"));
        }
Beispiel #2
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"));
        }