public async Task <PlayerMeritTable> GetCompetitionPlayerMeritTable() { this._competitionMeritTable = await this._playerMeritTableRepository.GetFullBySourceAndID(PlayerMeritTableSourceTypes.Competition, this.Competition.ID); if (this._competitionMeritTable == null) { this._competitionMeritTable = new PlayerMeritTable(); this._competitionMeritTable.PlayerMeritTableSourceTypeID = PlayerMeritTableSourceTypes.Competition; this._competitionMeritTable.PlayerMeritTableSourceID = (short)this.Competition.ID; this._competitionMeritTable.MeritCalculationEngineID = (MeritCalculationEngines)this.Competition.PlayerMeritTableCalculationEngineID.Value; this._competitionMeritTable.SetAuditFields(); } //this.this.competitionMeritTable = this.competitionMeritTable; //this._calculationEngine = PlayerMeritTableCalculationEngineFactory.Create(this.competitionMeritTable.MeritCalculationEngineID); return(this._competitionMeritTable); }
public Task Remove(PlayerMeritTable playerMeritTable, GameXPlayer playerGame, Team team, CompetitionEvent competitionEvent, MeritCalculationEngine config) { var line = playerMeritTable.GetOrCreateLine(team, playerGame.Player); var gameCalculationEngine = this._gameCalculationEngineFactory.Create(playerGame.Game.GameCalculationEngineID); line.Remove(playerGame); var droppedChalks = gameCalculationEngine.CalculateDroppedChalks(playerGame); line.RemoveDroppedChalks(playerGame, droppedChalks); var opponentScoresInWonGames = ListHelper.ConvertToList(line.DataString1); var playerScoresInLostGames = ListHelper.ConvertToList(line.DataString2); ListHelper.RemoveResultFromLists(playerGame, opponentScoresInWonGames, playerScoresInLostGames); this.CalculateAdditionalData(line, playerGame, competitionEvent, config, gameCalculationEngine, opponentScoresInWonGames, playerScoresInLostGames); return(Task.CompletedTask); }
public async Task <PlayerMeritTable> GetLeaguePlayerMeritTable() { var leagueEvent = this.CompetitionEvent.CastEntity <League>(); this._leagueMeritTable = await this._playerMeritTableRepository.GetFullBySourceAndID(PlayerMeritTableSourceTypes.League, this.CompetitionEvent.ID); if (this._leagueMeritTable == null) { this._leagueMeritTable = new PlayerMeritTable(); this._leagueMeritTable.PlayerMeritTableSourceTypeID = PlayerMeritTableSourceTypes.League; this._leagueMeritTable.PlayerMeritTableSourceID = this.CompetitionEvent.ID; this._leagueMeritTable.MeritCalculationEngineID = leagueEvent.MeritCalculationEngineID.Value; this._leagueMeritTable.SetAuditFields(); } //this.this._competitionEventMeritTable = this._competitionEventMeritTable; //this._calculationEngine = PlayerMeritTableCalculationEngineFactory.Create(this._competitionEventMeritTable.MeritCalculationEngineID); return(this._leagueMeritTable); }