private MatchPivot(uint id, uint editionId, uint matchNumber, uint bestOf, uint roundId, uint?minutes, uint winnerId, uint?winnerSeed, uint?winnerEntryId, uint?winnerRank, uint?winnerRankPoints, uint loserId, uint?loserSeed, uint?loserEntryId, uint?loserRank, uint?loserRankPoints, bool walkover, bool retirement, bool disqualification, bool unfinished, string rawSuperTieBreak) : base(id, null, null) { Edition = Get <EditionPivot>(editionId); MatchNumber = matchNumber; BestOf = (BestOfPivot)bestOf; Round = Get <RoundPivot>(roundId); Minutes = minutes; Winner = Get <PlayerPivot>(winnerId); WinnerSeed = winnerSeed; WinnerEntry = !winnerEntryId.HasValue ? null : Get <EntryPivot>(winnerEntryId.Value); WinnerRank = winnerRank; WinnerRankPoints = winnerRankPoints; Loser = Get <PlayerPivot>(loserId); LoserSeed = loserSeed; LoserEntry = !loserEntryId.HasValue ? null : Get <EntryPivot>(loserEntryId.Value); LoserRank = loserRank; LoserRankPoints = loserRankPoints; Walkover = walkover; Retirement = retirement; Disqualification = disqualification; Unfinished = unfinished; RawSuperTieBreak = rawSuperTieBreak; PointGrid = GridPointPivot.GetByLevelAndRound(Edition.Level.Id, Round.Id); Edition.AddMatch(this); }