/// <summary> /// Updates records of the specific league participant /// </summary> /// <param name="team">League participant you want records to be updated of</param> private static void UpdateThisLeagueParticipant(LeagueParticipantModel team) { DynamicParameters parameters = new DynamicParameters(); parameters.Add("@Id", team.Id); parameters.Add("@Victories", team.Victories); parameters.Add("@Draws", team.Draws); parameters.Add("@Defeats", team.Defeats); parameters.Add("@Scored", team.Scored); parameters.Add("@Conceded", team.Conceded); parameters.Add("@ScoreDifferential", team.Scored - team.Conceded); parameters.Add("@Points", team.Points); using (IDbConnection connection = new SqlConnection(DatabaseAccess.GetConnectionString())) { connection.Execute("dbo.SP_UpdateLeagueParticipant", parameters, commandType: CommandType.StoredProcedure); } }
/// <summary> /// Updates league participants that played in a specific game, on a specific tournament /// </summary> /// <param name="tournament">Tournament where the game of the 2 league participants happened on</param> /// <param name="game">Game 2 league participants played on</param> public static void UpdateLeagueParticipants(TournamentModel tournament, GameModel game) { GameParticipantModel homeTeam = game.Competitors[0]; GameParticipantModel awayTeam = game.Competitors[1]; LeagueParticipantModel winner = new LeagueParticipantModel(); LeagueParticipantModel loser = new LeagueParticipantModel(); if (homeTeam.Score > awayTeam.Score) { winner = GetDataByTournament <LeagueParticipantModel>(game.TournamentId, "dbo.SP_GetLeagueParticipantsByTournament") .Find(team => team.TeamName == homeTeam.TeamName); loser = GetDataByTournament <LeagueParticipantModel>(game.TournamentId, "dbo.SP_GetLeagueParticipantsByTournament") .Find(team => team.TeamName == awayTeam.TeamName); winner.Victories += 1; winner.Scored += homeTeam.Score; winner.Conceded += awayTeam.Score; winner.Points += tournament.VictoryPoints; loser.Defeats += 1; loser.Scored += awayTeam.Score; loser.Conceded += homeTeam.Score; } else if (homeTeam.Score == awayTeam.Score) { winner = GetDataByTournament <LeagueParticipantModel>(game.TournamentId, "dbo.SP_GetLeagueParticipantsByTournament") .Find(team => team.TeamName == awayTeam.TeamName); loser = GetDataByTournament <LeagueParticipantModel>(game.TournamentId, "dbo.SP_GetLeagueParticipantsByTournament") .Find(team => team.TeamName == homeTeam.TeamName); winner.Draws += 1; winner.Scored += awayTeam.Score; winner.Conceded += homeTeam.Score; winner.Points += tournament.DrawPoints; loser.Draws += 1; loser.Scored += homeTeam.Score; loser.Conceded += awayTeam.Score; loser.Points += tournament.DrawPoints; } else { winner = GetDataByTournament <LeagueParticipantModel>(game.TournamentId, "dbo.SP_GetLeagueParticipantsByTournament") .Find(team => team.TeamName == awayTeam.TeamName); loser = GetDataByTournament <LeagueParticipantModel>(game.TournamentId, "dbo.SP_GetLeagueParticipantsByTournament") .Find(team => team.TeamName == homeTeam.TeamName); winner.Victories += 1; winner.Scored += awayTeam.Score; winner.Conceded += homeTeam.Score; winner.Points += tournament.VictoryPoints; loser.Defeats += 1; loser.Scored += homeTeam.Score; loser.Conceded += awayTeam.Score; } UpdateThisLeagueParticipant(winner); UpdateThisLeagueParticipant(loser); }