Example #1
0
        public virtual void Delete <TEntity>(TEntity entity, ApplicationUser currentUser) where TEntity : class, EntityWithTechnicalKey
        {
            ISecuredEntityValidator <TEntity> validator = securedEntityValidatorFactory.MakeSecuredEntityValidator <TEntity>();

            validator.ValidateAccess(entity, currentUser, typeof(TEntity), UNKNOWN_ENTITY_ID);
            nemeStatsDbContext.Set <TEntity>().Remove(entity);
        }
 public GamingGroupController(
     IGamingGroupSaver gamingGroupSaver,
     IGamingGroupRetriever gamingGroupRetriever,
     IPlayerWithNemesisViewModelBuilder playerWithNemesisViewModelBuilder,
     IGameDefinitionSummaryViewModelBuilder gameDefinitionSummaryViewModelBuilder,
     IGamingGroupContextSwitcher gamingGroupContextSwitcher,
     IPlayerRetriever playerRetriever,
     IGameDefinitionRetriever gameDefinitionRetriever,
     IPlayedGameRetriever playedGameRetriever,
     IPlayedGameDetailsViewModelBuilder playedGameDetailsViewModelBuilder,
     ITransformer transformer,
     ITopGamingGroupsRetriever topGamingGroupsRetriever,
     ISecuredEntityValidator securedEntityValidator,
     IDeleteGamingGroupComponent deleteGamingGroupComponent)
 {
     this.gamingGroupSaver     = gamingGroupSaver;
     this.gamingGroupRetriever = gamingGroupRetriever;
     this.playerWithNemesisViewModelBuilder     = playerWithNemesisViewModelBuilder;
     this.gameDefinitionSummaryViewModelBuilder = gameDefinitionSummaryViewModelBuilder;
     this.gamingGroupContextSwitcher            = gamingGroupContextSwitcher;
     this.playerRetriever                   = playerRetriever;
     this.gameDefinitionRetriever           = gameDefinitionRetriever;
     this.playedGameRetriever               = playedGameRetriever;
     this.playedGameDetailsViewModelBuilder = playedGameDetailsViewModelBuilder;
     this.transformer = transformer;
     this.topGamingGroupsRetriever   = topGamingGroupsRetriever;
     this.securedEntityValidator     = securedEntityValidator;
     this.deleteGamingGroupComponent = deleteGamingGroupComponent;
 }
Example #3
0
 public GamingGroupController(
     IGamingGroupSaver gamingGroupSaver,
     IGamingGroupRetriever gamingGroupRetriever,
     IPlayerWithNemesisViewModelBuilder playerWithNemesisViewModelBuilder,
     IGameDefinitionSummaryViewModelBuilder gameDefinitionSummaryViewModelBuilder,
     IGamingGroupContextSwitcher gamingGroupContextSwitcher,
     IPlayerRetriever playerRetriever,
     IGameDefinitionRetriever gameDefinitionRetriever,
     IPlayedGameRetriever playedGameRetriever,
     IPlayedGameDetailsViewModelBuilder playedGameDetailsViewModelBuilder,
     ITransformer transformer,
     ITopGamingGroupsRetriever topGamingGroupsRetriever,
     ISecuredEntityValidator securedEntityValidator,
     IDeleteGamingGroupComponent deleteGamingGroupComponent,
     INemesisHistoryRetriever nemesisHistoryRetriever,
     IRecentChampionRetriever recentChampionRetriever)
 {
     _gamingGroupSaver     = gamingGroupSaver;
     _gamingGroupRetriever = gamingGroupRetriever;
     _playerWithNemesisViewModelBuilder     = playerWithNemesisViewModelBuilder;
     _gameDefinitionSummaryViewModelBuilder = gameDefinitionSummaryViewModelBuilder;
     _gamingGroupContextSwitcher            = gamingGroupContextSwitcher;
     _playerRetriever                   = playerRetriever;
     _gameDefinitionRetriever           = gameDefinitionRetriever;
     _playedGameRetriever               = playedGameRetriever;
     _playedGameDetailsViewModelBuilder = playedGameDetailsViewModelBuilder;
     _transformer = transformer;
     _topGamingGroupsRetriever   = topGamingGroupsRetriever;
     _deleteGamingGroupComponent = deleteGamingGroupComponent;
     _nemesisHistoryRetriever    = nemesisHistoryRetriever;
     _recentChampionRetriever    = recentChampionRetriever;
 }
Example #4
0
 public void SetUp()
 {
     securedEntityValidator = MockRepository.GenerateMock <ISecuredEntityValidator <EntityWithTechnicalKey> >();
     securedEntityValidatorFactory.Expect(mock => mock.MakeSecuredEntityValidator <EntityWithTechnicalKey>())
     .Repeat.Once()
     .Return(securedEntityValidator);
 }
Example #5
0
 public GamingGroupRetriever(
     IDataContext dataContext,
     ISecuredEntityValidator securedEntityValidator)
 {
     _dataContext            = dataContext;
     _securedEntityValidator = securedEntityValidator;
 }
 public GamingGroupRetriever(
     IDataContext dataContext,
     ISecuredEntityValidator securedEntityValidator,
     IRecentPlayerAchievementsUnlockedRetriever recentPlayerAchievementsUnlockedRetriever)
 {
     _dataContext            = dataContext;
     _securedEntityValidator = securedEntityValidator;
     _recentPlayerAchievementsUnlockedRetriever = recentPlayerAchievementsUnlockedRetriever;
 }
Example #7
0
        public virtual void DeleteById <TEntity>(object id, ApplicationUser currentUser) where TEntity : class, EntityWithTechnicalKey
        {
            TEntity entityToDelete = FindById <TEntity>(id);

            ISecuredEntityValidator <TEntity> securedEntityValidator = securedEntityValidatorFactory.MakeSecuredEntityValidator <TEntity>();

            securedEntityValidator.ValidateAccess(entityToDelete, currentUser, typeof(TEntity), id);

            nemeStatsDbContext.Set <TEntity>().Remove(entityToDelete);
        }
Example #8
0
 public CreatePlayedGameComponent(
     ISecuredEntityValidator securedEntityValidator,
     ILinkedPlayedGameValidator linkedPlayedGameValidator,
     IPlayedGameSaver playedGameSaver,
     IBusinessLogicEventSender businessLogicEventSender)
 {
     _securedEntityValidator    = securedEntityValidator;
     _linkedPlayedGameValidator = linkedPlayedGameValidator;
     _playedGameSaver           = playedGameSaver;
     _businessLogicEventSender  = businessLogicEventSender;
 }
Example #9
0
        public void SetUp()
        {
            gameDefinitionDbSetMock = MockRepository.GenerateMock<DbSet<GameDefinition>>();

            nemeStatsDbContext.Expect(mock => mock.Set<GameDefinition>())
                .Repeat.Once()
                .Return(gameDefinitionDbSetMock);

            securedEntityValidator = MockRepository.GenerateMock<ISecuredEntityValidator>();
            securedEntityValidatorFactory.Expect(mock => mock.MakeSecuredEntityValidator<GameDefinition>(dataContext))
                .Repeat.Once()
                .Return(securedEntityValidator);
        }
Example #10
0
        public void SetUp()
        {
            gameDefinitionDbSetMock = MockRepository.GenerateMock <DbSet <GameDefinition> >();

            nemeStatsDbContext.Expect(mock => mock.Set <GameDefinition>())
            .Repeat.Once()
            .Return(gameDefinitionDbSetMock);

            securedEntityValidator = MockRepository.GenerateMock <ISecuredEntityValidator <GameDefinition> >();
            securedEntityValidatorFactory.Expect(mock => mock.MakeSecuredEntityValidator <GameDefinition>())
            .Repeat.Once()
            .Return(securedEntityValidator);
        }
Example #11
0
 public PlayedGameCreator(
     IDataContext applicationDataContext,
     INemeStatsEventTracker playedGameTracker,
     INemesisRecalculator nemesisRecalculator,
     IChampionRecalculator championRecalculator, ISecuredEntityValidator <Player> securedEntityValidatorForPlayer, ISecuredEntityValidator <GameDefinition> securedEntityValidatorForGameDefinition)
 {
     this.dataContext                             = applicationDataContext;
     this.playedGameTracker                       = playedGameTracker;
     this.nemesisRecalculator                     = nemesisRecalculator;
     this.championRecalculator                    = championRecalculator;
     this.securedEntityValidatorForPlayer         = securedEntityValidatorForPlayer;
     this.securedEntityValidatorForGameDefinition = securedEntityValidatorForGameDefinition;
 }
Example #12
0
 public PlayedGameSaver(
     IDataContext applicationDataContext,
     ISecuredEntityValidator securedEntityValidator,
     IPointsCalculator pointsCalculator,
     IApplicationLinker applicationLinker,
     IBusinessLogicEventSender businessLogicEventSender, IWinnerTypeCalculator winnerTypeCalculator)
 {
     _dataContext              = applicationDataContext;
     _securedEntityValidator   = securedEntityValidator;
     _pointsCalculator         = pointsCalculator;
     _applicationLinker        = applicationLinker;
     _businessLogicEventSender = businessLogicEventSender;
     _winnerTypeCalculator     = winnerTypeCalculator;
 }
Example #13
0
 public PlayedGameSaver(
     IDataContext applicationDataContext,
     INemeStatsEventTracker playedGameTracker,
     INemesisRecalculator nemesisRecalculator,
     IChampionRecalculator championRecalculator,
     ISecuredEntityValidator securedEntityValidator,
     IPointsCalculator pointsCalculator,
     IApplicationLinker applicationLinker,
     IBusinessLogicEventSender businessLogicEventSender)
 {
     _dataContext              = applicationDataContext;
     _playedGameTracker        = playedGameTracker;
     _nemesisRecalculator      = nemesisRecalculator;
     _championRecalculator     = championRecalculator;
     _securedEntityValidator   = securedEntityValidator;
     _pointsCalculator         = pointsCalculator;
     _applicationLinker        = applicationLinker;
     _businessLogicEventSender = businessLogicEventSender;
 }
Example #14
0
 public PlayedGameSaver(
     IDataContext applicationDataContext,
     INemeStatsEventTracker playedGameTracker,
     INemesisRecalculator nemesisRecalculator,
     IChampionRecalculator championRecalculator,
     ISecuredEntityValidator securedEntityValidator,
     IPointsCalculator pointsCalculator,
     IBusinessLogicEventBus eventBus, 
     ILinkedPlayedGameValidator linkedPlayedGameValidator, IApplicationLinker applicationLinker) : base(eventBus)
 {
     _dataContext = applicationDataContext;
     _playedGameTracker = playedGameTracker;
     _nemesisRecalculator = nemesisRecalculator;
     _championRecalculator = championRecalculator;
     _securedEntityValidator = securedEntityValidator;
     _pointsCalculator = pointsCalculator;
     _linkedPlayedGameValidator = linkedPlayedGameValidator;
     _applicationLinker = applicationLinker;
 }
Example #15
0
        public void SetUp()
        {
            _gameDefinitionDbSetMock = MockRepository.GenerateMock <DbSet <GameDefinition> >();

            nemeStatsDbContext.Expect(mock => mock.Set <GameDefinition>())
            .Repeat.Once()
            .Return(_gameDefinitionDbSetMock);

            _securedEntityValidator = MockRepository.GenerateMock <ISecuredEntityValidator>();
            securedEntityValidatorFactory.Expect(mock => mock.MakeSecuredEntityValidator <GameDefinition>(dataContext))
            .Repeat.Once()
            .Return(_securedEntityValidator);

            _gameDefinition = new GameDefinition
            {
                Id = _gameDefinitionId
            };
            _securedEntityValidator.Expect(mock => mock.RetrieveAndValidateAccess <GameDefinition>(_gameDefinitionId, currentUser))
            .Return(_gameDefinition);
        }
Example #16
0
        public void SetUp()
        {
            _gameDefinitionDbSetMock = MockRepository.GenerateMock<DbSet<GameDefinition>>();

            nemeStatsDbContext.Expect(mock => mock.Set<GameDefinition>())
                .Repeat.Once()
                .Return(_gameDefinitionDbSetMock);

            _securedEntityValidator = MockRepository.GenerateMock<ISecuredEntityValidator>();
            securedEntityValidatorFactory.Expect(mock => mock.MakeSecuredEntityValidator<GameDefinition>(dataContext))
                .Repeat.Once()
                .Return(_securedEntityValidator);

            _gameDefinition = new GameDefinition
            {
                Id = _gameDefinitionId
            };
            _securedEntityValidator.Expect(mock => mock.RetrieveAndValidateAccess<GameDefinition>(_gameDefinitionId, currentUser))
                .Return(_gameDefinition);
        }
Example #17
0
        //TODO If the passed in TEntity that is new, the Id will not be set until SaveChanges is called
        public virtual TEntity Save <TEntity>(TEntity entity, ApplicationUser currentUser) where TEntity : class, EntityWithTechnicalKey
        {
            ValidateArguments <TEntity>(entity, currentUser);

            if (entity.AlreadyInDatabase())
            {
                //TODO update comments to indicate it can throw an exception
                ISecuredEntityValidator <TEntity> validator = securedEntityValidatorFactory.MakeSecuredEntityValidator <TEntity>();
                //TODO how do I get this to be able to pull the Id from TEntity?
                validator.ValidateAccess(entity, currentUser, typeof(TEntity), UNKNOWN_ENTITY_ID);
            }
            else
            {
                SetGamingGroupIdIfEntityIsSecured <TEntity>(entity, currentUser);
            }

            TEntity savedEntity = AddOrInsertOverride <TEntity>(entity);

            CommitAllChanges();

            return(savedEntity);
        }
Example #18
0
 public DeleteGamingGroupComponent(IDataContext dataContext, ISecuredEntityValidator securedEntityValidator)
 {
     _dataContext            = dataContext;
     _securedEntityValidator = securedEntityValidator;
 }