コード例 #1
0
        public RssUpdateJob()
        {
            var configureMapper = IsThereAnyNewsAutomapper.ConfigureMapper();

            var itanDatabaseContext = new ItanDatabaseContext();
            var updateRepository    = new EntityRepository(itanDatabaseContext, configureMapper);
            var infrastructure      = new Infrastructure();
            var importOpml          = new ImportOpml();

            this.service = new Service(updateRepository, configureMapper, null, infrastructure, importOpml);
        }
コード例 #2
0
        public static void RegisterDependencies()
        {
            var builder = new ContainerBuilder();

            var assemblies = BuildManager.GetReferencedAssemblies().Cast <Assembly>().ToArray();

            builder.RegisterControllers(assemblies);

            builder.RegisterAssemblyTypes(assemblies)
            .Where(t => t.Name.EndsWith("Repository"))
            .AsImplementedInterfaces();

            builder.RegisterAssemblyTypes(assemblies)
            .Where(t => t.Name.EndsWith("Service"))
            .AsImplementedInterfaces();

            builder.RegisterAssemblyTypes(assemblies)
            .Where(t => t.Name.EndsWith("Wrapper"))
            .AsImplementedInterfaces();

            builder.RegisterType <ItanDatabaseContext>().InstancePerLifetimeScope();
            builder.RegisterType <RssUpdateJob>().InstancePerLifetimeScope();

            builder.RegisterType <HtmlStripper>().As <IHtmlStripper>();
            builder.RegisterType <Infrastructure>().As <IInfrastructure>();
            builder.RegisterType <ImportOpml>().As <IImportOpml>();
            builder.RegisterType <WebConfigReaderWrapper>().As <IConfigurationReaderWrapper>();

            builder.RegisterType <UserAuthentication>().As <IUserAuthentication>();

            builder.RegisterType <RssSubscriptionHandler>().Keyed <ISubscriptionHandler>(StreamType.Rss);
            builder.RegisterType <PersonSubscriptionHandler>().Keyed <ISubscriptionHandler>(StreamType.Person);
            builder.RegisterType <ChannelUpdatesSubscriptionHandler>().Keyed <ISubscriptionHandler>(StreamType.ChannelUpdate);
            builder.RegisterType <ChannelCreationsSubscriptionHandler>().Keyed <ISubscriptionHandler>(StreamType.ChannelCreation);
            builder.RegisterType <ExceptionSubscriptionHandler>().Keyed <ISubscriptionHandler>(StreamType.Exception);

            builder.RegisterType <SubscriptionHandlerFactory>().As <ISubscriptionHandlerFactory>();

            builder.Register(c => IsThereAnyNewsAutomapper.ConfigureMapper()).As <IMapper>()
            .InstancePerLifetimeScope();

            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        }
コード例 #3
0
ファイル: RssUpdateJob.cs プロジェクト: DawidC/isthereanynews
        public RssUpdateJob()
        {
            var itanDatabaseContext        = new ItanDatabaseContext();
            var updateRepository           = new UpdateRepository(itanDatabaseContext);
            var rssEntriesRepository       = new RssEntriesRepository(itanDatabaseContext);
            var rssChannelsRepository      = new RssChannelsRepository(itanDatabaseContext);
            var rssChannelUpdateRepository = new RssChannelUpdateRepository(itanDatabaseContext);

            var configureMapper = IsThereAnyNewsAutomapper.ConfigureMapper();
            ISyndicationFeedAdapter syndicationFeedAdapter = new SyndicationFeedAdapter(configureMapper);

            this.updateService = new UpdateService(
                updateRepository,
                rssEntriesRepository,
                rssChannelsRepository,
                rssChannelUpdateRepository,
                syndicationFeedAdapter);
        }
コード例 #4
0
        public static void RegisterDependencies()
        {
            var builder = new ContainerBuilder();

            builder.RegisterControllers(Assembly.GetCallingAssembly());

            builder.RegisterAssemblyTypes(AppDomain.CurrentDomain.GetAssemblies())
            .Where(t => t.Name.EndsWith("Repository"))
            .AsImplementedInterfaces();

            builder.RegisterAssemblyTypes(AppDomain.CurrentDomain.GetAssemblies())
            .Where(t => t.Name.EndsWith("Service"))
            .AsImplementedInterfaces();

            builder.RegisterType <ItanDatabaseContext>().InstancePerLifetimeScope();
            builder.RegisterType <RssUpdateJob>().InstancePerLifetimeScope();
            builder.RegisterType <RssReadersJob>().InstancePerLifetimeScope();

            builder.RegisterType <WebConfigReader>().As <IConfigurationReader>();
            builder.RegisterType <OpmlReader>().As <IOpmlReader>();

            builder.RegisterType <SessionProvider>().As <ISessionProvider>();
            builder.RegisterType <UserAuthentication>().As <IUserAuthentication>();

            builder.RegisterType <RssSubscriptionHandler>().Keyed <ISubscriptionHandler>(StreamType.Rss);
            builder.RegisterType <PersonSubscriptionHandler>().Keyed <ISubscriptionHandler>(StreamType.Person);

            builder.RegisterType <SubscriptionHandlerFactory>().As <ISubscriptionHandlerFactory>();

            builder.Register(c => IsThereAnyNewsAutomapper.ConfigureMapper()).As <IMapper>()
            .InstancePerLifetimeScope();

            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
        }