Skip to content

Instantly share code, notes, and snippets.

@cprieto
Created September 9, 2009 04:16
Show Gist options
  • Save cprieto/183464 to your computer and use it in GitHub Desktop.
Save cprieto/183464 to your computer and use it in GitHub Desktop.
protected virtual void InitializeWindsor()
{
if (Container != null) return;
Container = new WindsorContainer();
ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(Container));
Container
.RegisterControllers(typeof(RegistrationController).Assembly);
// Register repositories
Container
.Register(Component.For<IMemberRepository>().ImplementedBy<MemberRepository>())
.Register(Component.For<ISchoolRepository>().ImplementedBy<SchoolRepository>())
.Register(Component.For<IUploadRepository>().ImplementedBy<UploadRepository>())
.Register(Component.For<IBlogRepository>().ImplementedBy<BlogRepository>())
.Register(Component.For<ICategoryRepository>().ImplementedBy<CategoryRepository>())
.Register(Component.For<IForumRepository>().ImplementedBy<ForumRepository>())
.Register(Component.For<IDocumentRepository>().ImplementedBy<DocumentRepository>())
.Register(Component.For<ILanguageRepository>().ImplementedBy<LanguageRepository>())
.Register(Component.For<IResourceTypeRepository>().ImplementedBy<ResourceTypeRepository>());
// Register services
Container
.Register(Component.For<IRegistrationService>().ImplementedBy<RegistrationService>())
.Register(Component.For<IMembershipService>().ImplementedBy<MembershipService>())
.Register(Component.For<IAuthenticationService>().ImplementedBy<AuthenticationService>())
.Register(Component.For<IUploadService>().ImplementedBy<UploadService>())
.Register(Component.For<IBlogService>().ImplementedBy<BlogService>())
.Register(Component.For<IDocumentService>().ImplementedBy<DocumentService>());
// Register the mapping engine
Container
.Register(Component.For<IConfiguration, IConfigurationProvider>()
.ImplementedBy<Configuration>()
.DependsOn(Property.ForKey("mappers").Eq(MapperRegistry.AllMappers())))
.Register(Component.For<IMappingEngine>().ImplementedBy<MappingEngine>().LifeStyle.Singleton)
.Register(AllTypes.Of(typeof (ICustomMapper<>))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment