private async Task <ActionResult> ExecuteChampionship(ChampionshipModel model) { RPSSolver solver = new RPSSolver(); Parser parser = new Parser(); CompetitorData secondPlace = new CompetitorData(); string errorMessage; bool result = false; var championship = parser.StringToCompetitors(model.Input, out errorMessage); if (string.IsNullOrEmpty(errorMessage)) { CompetitorData[] finalists = solver.Solve(championship); model.Winner = finalists[0].Name; model.Strategy = finalists[0].Strategy.ToString(); secondPlace = finalists[1]; ApiClient client = new ApiClient(); result = await client.SaveResult(model.Winner, secondPlace.Name); } else { model.ErrorMessage = errorMessage; } return(View("Execute", model)); }
public IHttpActionResult NewMatch(NewChampionshipModel model) { RPSSolver solver = new RPSSolver(); Parser parser = new Parser(); CompetitorData secondPlace = new CompetitorData(); string errorMessage; var championship = parser.StringToCompetitors(model.Data, out errorMessage); if (string.IsNullOrEmpty(errorMessage)) { CompetitorData[] finalists = solver.Solve(championship); return(Ok(new { winner = new string[] { finalists[0].Name, finalists[0].Strategy.ToString() } })); } return(Json(new { status = "Error", message = errorMessage })); }