Esempio n. 1
0
        public void GraphEntityRepository()
        {
            IEntityRepository instance = Factory.GraphEntityRepository;

            Assert.That(instance, Is.TypeOf <IdResolvingEntityRepository>());

            IdResolvingEntityRepository idResolving = (IdResolvingEntityRepository)instance;

            Assert.That(idResolving.Inner, Is.TypeOf <GraphEntityRepository>());
        }
Esempio n. 2
0
        public void GraphEntityRepository_Wiring( )
        {
            IEntityRepository instance = Factory.GraphEntityRepository;

            Assert.That(instance, Is.TypeOf <IdResolvingEntityRepository>( ), "instance");

            IdResolvingEntityRepository idRepo = (IdResolvingEntityRepository)instance;

            Assert.That(idRepo.Inner, Is.TypeOf <GraphEntityRepository>( ), "idRepo.Inner");

            GraphEntityRepository graphRepo = (GraphEntityRepository)idRepo.Inner;

            Assert.That(graphRepo.EntityAccessControlService, Is.Not.Null, "graphRepo.EntityAccessControlService");
        }
Esempio n. 3
0
        /// <summary>
        /// Perform any registrations
        /// </summary>
        /// <param name="builder"></param>
        protected override void Load(ContainerBuilder builder)
        {
            // GraphEntityRepository
            // Note: we use property injection, because we have circular dependencies.  GraphRepo->AccessControl->QueryEngine->GraphRepo.
            builder
            .Register(
                c => new IdResolvingEntityRepository(
                    new GraphEntityRepository( )))
            .OnActivated(
                evt => {
                IdResolvingEntityRepository idRepos   = evt.Instance;
                GraphEntityRepository graphRepos      = (GraphEntityRepository)idRepos.Inner;
                graphRepos.EntityAccessControlService = evt.Context.Resolve <IEntityAccessControlService>();
            })
            .Keyed <IEntityRepository>("Graph");

            // RequestParser
            builder
            .RegisterType <RequestParser>()
            .As <IRequestParser>();
        }