public static ContainerBootstrapper Bootstrap()
        {
            var container = new WindsorContainer().
                            Install(FromAssembly.This());

            container.Register(Component.For <IDocumentMapper>().ImplementedBy <DocumentMapper>());


            //container.AddFacility<FactorySupportFacility>();
            container.Register(Component.For <ISessionFactory>()
                               .UsingFactoryMethod(() => NHibernateConfiguration.CreateSessionFactory()));

            container.Register(Component.For <ISession>()
                               .UsingFactoryMethod(kernel => kernel.Resolve <ISessionFactory>().OpenSession())
                               .LifestylePerWebRequest());

            container.Register(Component.For <ITransaction>()
                               .UsingFactoryMethod(kernel => kernel.Resolve <ISession>().BeginTransaction())
                               .LifestylePerWebRequest());

            container.Register(Component.For <IUserRepository>()
                               .ImplementedBy <UserRepository>()
                               .LifeStyle.Transient);

            container.Register(Component.For <IDocumentRepository>()
                               .ImplementedBy <DocumentRepository>()
                               .LifeStyle.Transient);

            container.Register(Component.For <IUnitOfWork>()
                               .ImplementedBy <UnitOfWork>()
                               .LifeStyle.Transient);

            return(new ContainerBootstrapper(container));
        }
Esempio n. 2
0
        private SessionFactory()
        {
            var connectionStringName = ConfigurationManager.AppSettings["Database"];
            var connectionString     = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString;

            factory = NHibernateConfiguration.CreateSessionFactory(
                MySQLConfiguration.Standard.ConnectionString(connectionString));
        }
Esempio n. 3
0
 public void SetUp()
 {
     _configurationService = new FakeConfigurationService();
     _configurationService.ConnectionString = @"Data Source=tcp:[database-server];Initial Catalog=[database];User ID=[database user];Password=[database password];";
     _dbConfiguration = new NHibernateConfiguration(_configurationService);
     _sessionFactory  = _dbConfiguration.CreateSessionFactory();
     _repository      = new NHibernateRepository(_sessionFactory.OpenSession());
 }
Esempio n. 4
0
 public void Setup()
 {
     try
     {
         var sessionFactory =
             NHibernateConfiguration.CreateSessionFactory(SQLiteConfiguration.Standard.InMemory().ShowSql(),
                                                          NHibernateConfigurationConfigurationOptions.None);
         Assert.IsNotNull(sessionFactory);
         session = sessionFactory.OpenSession();
         var config = NHibernateConfiguration.Config;
         new SchemaExport(config).Execute(false, true, false, session.Connection, null);
     }
     catch (FluentConfigurationException e)
     {
         Assert.Fail(e.Message + Environment.NewLine +
                     "inner: " + e.InnerException?.Message + e.InnerException?.ToString() + Environment.NewLine +
                     "potential reasons: " + string.Join(";", e.PotentialReasons) + Environment.NewLine +
                     "e stacktrace: " + e.StackTrace);
     }
 }
Esempio n. 5
0
        public static void Main(string[] args)
        {
            var nhc = new NHibernateConfiguration();

            nhc.CreateSessionFactory();
        }