/// <summary> /// Adds a <see cref="Game"/> entity to the data store. /// </summary> /// <param name="newGame">The <see cref="Game"/> entity to add to the data store.</param> public void AddGame(Game newGame) { Guard.ThrowIfNull(newGame, $"{GetType()}.{nameof(AddGame)}: {nameof(newGame)}"); var newGameDecorator = new GameDecorator(newGame); newGameDecorator.DecideWinnerAndLoser(); _gameRepository.Add(newGame); EditTeams(Direction.Up, newGameDecorator); _sharedRepository.SaveChanges(); }