Files
event-sourcing-jambo/source/Consumer/Jambo.Consumer.Infrastructure/Modules/ApplicationModule.cs
Ivan Paulovich fc74b10766 Spliting projects
2017-12-21 15:59:03 -02:00

41 lines
1.4 KiB
C#

namespace Jambo.Consumer.Infrastructure.Modules
{
using Autofac;
using Jambo.Domain.Model.Blogs;
using Jambo.Domain.Model.Posts;
using Jambo.Consumer.Infrastructure.DataAccess.Repositories.Blogs;
using Jambo.Consumer.Infrastructure.DataAccess.Repositories.Posts;
using Jambo.Consumer.Infrastructure.DataAccess;
public class ApplicationModule : Module
{
public string ConnectionString { get; set; }
public string DatabaseName { get; set; }
protected override void Load(ContainerBuilder builder)
{
MongoContext mongoContext = new MongoContext(ConnectionString, DatabaseName);
mongoContext.DatabaseReset(DatabaseName);
builder.Register(c => mongoContext)
.As<MongoContext>().SingleInstance();
builder.RegisterType<BlogReadOnlyRepository>()
.As<IBlogReadOnlyRepository>()
.InstancePerLifetimeScope();
builder.RegisterType<BlogWriteOnlyRepository>()
.As<IBlogWriteOnlyRepository>()
.InstancePerLifetimeScope();
builder.RegisterType<PostReadOnlyRepository>()
.As<IPostReadOnlyRepository>()
.InstancePerLifetimeScope();
builder.RegisterType<PostWriteOnlyRepository>()
.As<IPostWriteOnlyRepository>()
.InstancePerLifetimeScope();
}
}
}