コード例 #1
0
 public EntityFactoryService(
     ISessionManagerProvider sessionManagerProvider, ISessionFactoryManager factoryManager,
     IApplicationContextProvider applicationContextProvider)
 {
     _sessionManagerProvider     = sessionManagerProvider.ThrowIfNull(nameof(sessionManagerProvider));
     _factoryManager             = factoryManager.ThrowIfNull(nameof(factoryManager));
     _applicationContextProvider = applicationContextProvider.ThrowIfNull(nameof(applicationContextProvider));
 }
コード例 #2
0
        public void _Init()
        {
            _eventAggregator           = new EventAggregator();
            _connectedDataProviderStub = new Mock <IDataProvider>();
            _connectedDataProviderStub
            .SetupGet(dp => dp.IsConnectedToDatabase)
            .Returns(true);

            _sut = new SessionFactoryManager(_eventAggregator);
        }
コード例 #3
0
        public static ISessionFactoryManager GetSessionFactoryManager()
        {
            var sfm = ServiceProvider.GetService <ISessionFactoryManager>();

            if (sfm != null)
            {
                return(sfm);
            }
            m_defaultSfm = new Feng.NH.SessionFactoryManager();
            return(m_defaultSfm);
        }
コード例 #4
0
        /// <summary>
        /// Drops the test databases.
        /// </summary>
        /// <param name="sessionFactoryManager">The session factory manager.</param>
        public void DropTestDatabase(ISessionFactoryManager sessionFactoryManager)
        {
            foreach (ISessionFactory factory in sessionFactoryManager.GetAll())
            {
                using (var session = factory.OpenSession())
                {
                    var cmd = session.Connection.CreateCommand();
                    var database = session.Connection.Database;

                    cmd.CommandText = string.Format("DROP DATABASE IF EXISTS `{0}`;", database);
                    cmd.ExecuteNonQuery();
                }
            }
        }
コード例 #5
0
ファイル: SessionManager.cs プロジェクト: pleb/Chillow
        public SessionManager(ISessionStorage sessionStorage, ISessionFactoryManager sessionFactoryManager, ILog log)
        {
            if (sessionStorage == null)
            {
                throw Error.ArgumentNull("sessionStorage");
            }

            if (sessionFactoryManager == null)
            {
                throw Error.ArgumentNull("sessionFactoryManager");
            }

            if (log == null)
            {
                throw Error.ArgumentNull("log");
            }

            SessionStorage = sessionStorage;
            SessionFactoryManager = sessionFactoryManager;
            Log = log;
        }
コード例 #6
0
        public NHibernateConversationManager(ISessionFactoryManager sessionFactoryManager)
        {
            if (sessionFactoryManager == null) throw new ArgumentNullException("sessionFactoryManager");

            //Check that all the factories managed by this manager are valid
            //(That means, can be used in persistent conversations)
            foreach (var factory in sessionFactoryManager.Factories)
            {
                var factoryImpl = (factory as ISessionFactoryImplementor);
                if (factoryImpl == null) throw new InvalidOperationException(ErrorMessages.InvalidSessionFactoryManager);

                //Should have conversationSessionContext as current_session_context_class
                var context = (factoryImpl.CurrentSessionContext as ConversationSessionContext);
                if (context == null)
                {
                    string factoryName = factoryImpl.Settings != null ? factoryImpl.Settings.SessionFactoryName : "";
                    throw new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, ErrorMessages.InvalidFactory, factoryName ?? ""));
                }
            }

            this.sessionFactoryManager = sessionFactoryManager;
        }
コード例 #7
0
        /// <summary>
        /// Builds the test databases.
        /// </summary>
        /// <param name="sessionFactoryManager">The session factory manager.</param>
        public void BuildTestDatabase(ISessionFactoryManager sessionFactoryManager)
        {
            foreach (ISessionFactory factory in sessionFactoryManager.GetAll())
            {
                using (var session = factory.OpenSession())
                {
                    var cmd = session.Connection.CreateCommand();
                    var database = session.Connection.Database;

                    cmd.CommandText = string.Format("DROP DATABASE IF EXISTS `{0}`;", database);
                    cmd.ExecuteNonQuery();
                    cmd.CommandText = string.Format("CREATE DATABASE IF NOT EXISTS `{0}`;", database);
                    cmd.ExecuteNonQuery();
                    session.Connection.ChangeDatabase(database);
                }

                var configuration = sessionFactoryManager.GetConfigurationForFactory(factory);

                SchemaExport export = new SchemaExport(configuration);

                export.Execute(false, true, false);
            }
        }
コード例 #8
0
ファイル: BaseHibernateTest.cs プロジェクト: pleb/Chillow
 protected void DropTestDatabase(ISessionFactoryManager sessionFactoryManager)
 {
     NHibernateDatabaseTestProvider.DropTestDatabase(sessionFactoryManager);
 }
コード例 #9
0
 public PlayerIdentityDao(ISessionFactoryManager sessionFactoryManager)
 {
     _sessionFactoryManager = sessionFactoryManager;
 }
コード例 #10
0
 public ServiceInterceptor(ISessionFactoryManager sessionFactoryManager, ILogger logger)
 {
     _sessionFactoryManager = sessionFactoryManager;
     _logger = logger;
 }
コード例 #11
0
 public static void InitSessionFactoryManager(ISessionFactoryManager sessionFactoryManager)
 {
     _sessionFactoryManger = sessionFactoryManager;
 }
コード例 #12
0
 public TransactionManagerMock(ISessionFactoryManager sessionFactoryManager)
     : base(sessionFactoryManager)
 {
     SessionWasBound   = false;
     SessionWasUnbound = false;
 }
コード例 #13
0
 public RepositoryBaseNHibernate(ISessionFactoryManager sessionFactoryManager)
 {
     _sessionFactoryManager = sessionFactoryManager;
 }
コード例 #14
0
 public RemoteContext(ISessionFactoryManager sessionFactoryManager)
     : base(sessionFactoryManager)
 {
 }
コード例 #15
0
 public ConvertedPokerPlayerDao(ISessionFactoryManager sessionFactoryManager)
 {
     _sessionFactoryManager = sessionFactoryManager;
 }
コード例 #16
0
 public TransactionManagerNHibernate(ISessionFactoryManager sessionFactoryManager)
 {
     _sessionFactoryManager = sessionFactoryManager;
 }
コード例 #17
0
 /// <summary>
 /// Инициализирует экземпляр ссылкой на <see cref="ISessionFactoryManager"/>
 /// </summary>
 /// <param name="sessionFactoryManager">Ссылка на интерфейс менеджера фабрик сессий</param>
 public ScopedSessionManager(ISessionFactoryManager sessionFactoryManager)
 {
     _sessionFactoryManager = sessionFactoryManager.ThrowIfNull(nameof(sessionFactoryManager));
 }
コード例 #18
0
        private SingletonSessionFactoryManager(ISessionFactoryManager sessionFactoryManager)
        {
            sessionFactoryManager.ThrowIfNull("sessionFactoryManager");

            SessionFactoryManager = sessionFactoryManager;
        }
コード例 #19
0
        public void SetUp()
        {
            var configurationProperties = new Dictionary<string, string>
                                 {
                                     { "connection.driver_class", "NHibernate.Driver.SQLite20Driver" },
                                     { "dialect", "NHibernate.Dialect.SQLiteDialect" },
                                     { "connection.connection_string", "Data Source=:memory:;Version=3;New=True;" },
                                     { "connection.provider", "NHibernate.Connection.DriverConnectionProvider" },
                                     { "session_factory_name", "TestFactory" },
                                     { "proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle" },
                                     { "current_session_context_class", "thread_static" },
                                 };
            configuration = new Configuration { Properties = configurationProperties };
            invalidSessionFactoryManager = new SessionFactoryManager(configuration);

            configuration.Properties["current_session_context_class"] = "Aspid.NHibernate.Context.ConversationSessionContext, Aspid.NHibernate";
            validsessionFactoryManager = new SessionFactoryManager(configuration);
        }
コード例 #20
0
 public TransactionManager(ISessionFactoryManager sessionFactoryManager)
 {
     _sessionFactoryManager = sessionFactoryManager;
 }
コード例 #21
0
 public UserRepository(ISessionFactoryManager sessionFactoryManager)
     : base(sessionFactoryManager)
 {
 }
コード例 #22
0
 public static ISessionFactoryManager GetSessionFactoryManager()
 {
     var sfm = ServiceProvider.GetService<ISessionFactoryManager>();
     if (sfm != null)
         return sfm;
     m_defaultSfm = new Feng.NH.SessionFactoryManager();
     return m_defaultSfm;
 }
コード例 #23
0
 public StatelessSessionProvider(ISessionFactoryManager sessionFactoryManager)
 {
     _sessionFactoryManager = sessionFactoryManager;
 }
コード例 #24
0
 public ConvertedPokerHandDao(ISessionFactoryManager sessionFactoryManager, IPlayerIdentityDao playerIdentityDao)
 {
     _playerIdentityDao     = playerIdentityDao;
     _sessionFactoryManager = sessionFactoryManager;
 }
コード例 #25
0
 public PasswordPolicyRepository(ISessionFactoryManager sessionFactoryManager)
     : base(sessionFactoryManager)
 {
 }
コード例 #26
0
 /// <summary>
 ///   Инициализирует экземпляр ссылками на <see cref="ISessionFactoryProvidersManager" /> и
 ///   <see cref="ISessionFactoryManager" />
 /// </summary>
 /// <param name="sessionFactoryProvidersManager">Ссылка на интерфейс, представляющий менеджер провайдеров фабрик сессий</param>
 /// <param name="sessionFactoryManager">Ссылка на интерфейс, представляющий менеджер фабрик сессий</param>
 public OrmConnectionsChecker(
     ISessionFactoryProvidersManager sessionFactoryProvidersManager, ISessionFactoryManager sessionFactoryManager)
 {
     _sessionFactoryProvidersManager = sessionFactoryProvidersManager.ThrowIfNull(nameof(sessionFactoryProvidersManager));
     _sessionFactoryManager          = sessionFactoryManager.ThrowIfNull(nameof(sessionFactoryManager));
 }
コード例 #27
0
        protected virtual void OnPerTestSetUpStart()
        {
            InitialiseIoc();

            InitialiseLog();

            EventAggregator = new EventAggregator();

            IocProviderMock.Setup(ioc => ioc.Get<IEventAggregator>()).Returns(EventAggregator);

            BusinessRuleStorage = new BusinessRuleStorage();

            IocProviderMock.Setup(ioc => ioc.Get<IBusinessRuleStorage>()).Returns(BusinessRuleStorage);

            SessionFactoryManager = InitialiseNHibernateWith(new[] { new CarMappingSessionFactoryBuildListener() });

            BuildTestDatabase(SessionFactoryManager);

            Session = SessionFactoryManager.GetDefault().OpenSession();

            Repository = new CarRepository(Session, EventAggregator, BusinessRuleStorage, Log);
        }
コード例 #28
0
 public LocalContext(ISessionFactoryManager sessionFactoryManager)
     : base(sessionFactoryManager)
 {
 }