protected override void EstablishContext()
        {
            idCodeService = mocks.Stub<IIdCodeService>();
            httpRequestProvider = mocks.Stub<IHttpRequestProvider>();
            httpContextItemsProvider = mocks.Stub<IHttpContextItemsProvider>();
            requestUrlBaseProvider = mocks.Stub<IRequestUrlBaseProvider>();

            var containerMock = new WindsorContainer();

            containerMock.Register(Component.For<IIdCodeService>().Instance(idCodeService));
            containerMock.Register(Component.For<IHttpRequestProvider>().Instance(httpRequestProvider));
            containerMock.Register(Component.For<IHttpContextItemsProvider>().Instance(httpContextItemsProvider));
            containerMock.Register(Component.For<IRequestUrlBaseProvider>().Instance(requestUrlBaseProvider));

            var chainTypes = new List<Type>()
            {
                typeof(HttpContextItemsLeaCodeProvider),
                typeof(DashboardContextLeaCodeProvider),
                typeof(HttpRequestUrlLeaCodeProvider)
            };
            
            var chainRegistrar = new ChainOfResponsibilityRegistrar(containerMock);
            chainRegistrar.RegisterChainOf<ILocalEducationAgencyContextProvider, NullLeaCodeProvider>(chainTypes.ToArray());

            IoC.Initialize(containerMock);
        }
		protected override void RegisterIUserRolesProvider(IWindsorContainer container)
		{
			var registrar = new ChainOfResponsibilityRegistrar(container);

			var types = new[]
		                    {
		                        typeof (PositionTitleUserClaimSetsProvider),
                                typeof (StaffCategoryUserClaimSetsProvider)
		                    };

            registrar.RegisterChainOf<IUserClaimSetsProvider<ClaimsSet, EdFiUserSecurityDetails>, NullUserClaimSetsProvider<ClaimsSet, EdFiUserSecurityDetails>>(types);
		}
        protected override void RegisterIImageContentProvider(IWindsorContainer container)
        {
            var assemblyTypes = typeof(Marker_EdFi_Dashboards_Resources).Assembly.GetTypes();

            var chainTypes = (from t in assemblyTypes
                              let serviceType = t.GetInterface(typeof(IImageContentProvider).Name)
                              where serviceType != null && !t.IsAbstract && t.Name.EndsWith("FileSystemBasedImageContentProvider")
                              select t);

            var chainRegistrar = new ChainOfResponsibilityRegistrar(container);
            chainRegistrar.RegisterChainOf<IImageContentProvider, NullImageProvider>(chainTypes.ToArray(), "ImageContentProviderChain");
        }
                protected override void EstablishContext()
                {
                    // Set up mocked dependences and supplied values
                    container = new WindsorContainer();

                    // Add the facility, capturing a reference so we can "Finalize" it
                    ChainOfResponsibilityFacility facility = null;

                    container.AddFacility <ChainOfResponsibilityFacility>(f => facility = f);

                    // Perform a legacy chain of responsibility registration
                    var registrar = new ChainOfResponsibilityRegistrar(container);

                    registrar.RegisterChainOf <ISomethingElseProvider, NullSomethingElseProvider>(
                        new[]
                    {
                        typeof(FirstSomethingElseProvider), typeof(SecondSomethingElseProvider)
                    });

                    // Finalize all Chain of Responsibility chains (registering the proxy last, required prior to Castle 3.x)
                    facility.FinalizeChains();
                }
        private void RegisterProviders(IWindsorContainer container)
        {
            container.Register(Component
                .For<IListMetadataProvider>()
                .Instance(listMetadataProvider));

            container.Register(Component
                .For<IStudentListUtilitiesProvider>()
                .Instance(studentListUtilitiesProvider));

            container.Register(Component
                .For<ITrendRenderingDispositionProvider>()
                .Instance(trendRenderingDispositionProvider));

            container.Register(Component
                .For<IMetricStateProvider>()
                .Instance(metricStateProvider));

            var assemblyTypes = typeof(Marker_EdFi_Dashboards_Warehouse_Resources).Assembly.GetTypes();

            var chainTypes = (from t in assemblyTypes
                              where typeof(IAdditionalPriorYearMetricProvider).IsAssignableFrom(t) && t != typeof(IAdditionalPriorYearMetricProvider)
                              select t);

            var chainRegistrar = new ChainOfResponsibilityRegistrar(container);
            chainRegistrar.RegisterChainOf<IAdditionalPriorYearMetricProvider, NullAdditionalPriorYearMetricProvider>(chainTypes.ToArray());
        }
Ejemplo n.º 6
0
        private void RegisterProviders(IWindsorContainer container)
        {
            var assemblyTypes = typeof(Marker_EdFi_Dashboards_Resources).Assembly.GetTypes();

            var chainTypes = (from t in assemblyTypes
                              where
                                  typeof(IUserEntryProvider).IsAssignableFrom(t) &&
                                  t != typeof(IUserEntryProvider)
                              orderby t.GetCustomAttributes(true)
                                  .Where(a => a is ChainOfResponsibilityOrderAttribute)
                                  .Select(a => ((ChainOfResponsibilityOrderAttribute)a).Order)
                                  .SingleOrDefault()
                              select t);

            var chainRegistrar = new ChainOfResponsibilityRegistrar(container);
            chainRegistrar.RegisterChainOf<IUserEntryProvider, NullUserEntryProvider>(chainTypes.ToArray());

            container.Register(Component
                .For<ICurrentUserClaimInterrogator>()
                .Instance(currentUserClaimInterrogator));

            container.Register(Component
                .For<IAdminAreaLinks>()
                .Instance(adminAreaLinksFake));

            container.Register(Component
                .For<ILocalEducationAgencyAreaLinks>()
                .Instance(localEducationAgencyAreaLinksFake));

            container.Register(Component
                .For<ISchoolAreaLinks>()
                .Instance(schoolAreaLinksFake));

            container.Register(Component
                .For<IStaffAreaLinks>()
                .Instance(staffAreaLinksFake));

            container.Register(Component
                .For<IRepository<StaffStudentAssociation>>()
                .Instance(staffStudentAssociationRepository));
        }