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")); }
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")); }