Exemplo n.º 1
0
        private static IConfigurationSource GetConfigurationSource(string ConnectionString = null)
        {
            //read from the app config file if
            //no connection string specified
            if (string.IsNullOrEmpty(ConnectionString))
            {
                return(ConfigurationManager.GetSection(ACTIVE_RECORD_SECTION_NAME) as IConfigurationSource);
            }

            //use inplace config for active record
            //to create a connection string
            var properties = new Dictionary <string, string>
            {
                { "connection.driver_class", "NHibernate.Driver.SqlClientDriver" },
                { "dialect", "NHibernate.Dialect.MsSql2000Dialect" },
                { "connection.provider", "NHibernate.Connection.DriverConnectionProvider" },
                { "connection.connection_string", ConnectionString }
            };


            var source = new InPlaceConfigurationSource();

            source.Add(typeof(ActiveRecordBase), properties);
            return(source);
        }
Exemplo n.º 2
0
        public override bool Execute()
        {
            AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
            AppDomain.CurrentDomain.TypeResolve     += CurrentDomain_AssemblyResolve;
            try
            {
                InPlaceConfigurationSource   src = new InPlaceConfigurationSource();
                IDictionary <string, string> cfg = new Dictionary <string, string>();
                cfg[Environment.Dialect]          = dialect;
                cfg[Environment.ConnectionDriver] = driver;
                cfg[Environment.ConnectionString] = connectionString;
                src.PluralizeTableNames           = PloralizeTableNames;

                src.Add(typeof(ActiveRecordBase), cfg);

                List <Assembly> loadedAssemblies = new List <Assembly>();
                foreach (ITaskItem assembly in assemblies)
                {
                    Assembly asm = Assembly.LoadFrom(assembly.ItemSpec);
                    loadedAssemblies.Add(asm);
                }

                ActiveRecordStarter.ResetInitializationFlag();
                ActiveRecordStarter.Initialize(loadedAssemblies.ToArray(), src);
                Configuration configuration = ActiveRecordMediator.GetSessionFactoryHolder().GetConfiguration(typeof(ActiveRecordBase));
                new SchemaExport(configuration).Execute(true, true, false);
            }
            finally
            {
                AppDomain.CurrentDomain.AssemblyResolve -= CurrentDomain_AssemblyResolve;
                AppDomain.CurrentDomain.TypeResolve     -= CurrentDomain_AssemblyResolve;
            }

            return(true);
        }
Exemplo n.º 3
0
        public static void InitConnection(SCommon.SUtil.SConstants.S_DbType type, string connection_string, Assembly assembly)
        {
            switch (type)
            {
            case SCommon.SUtil.SConstants.S_DbType.MSSQL:
                break;

            case SCommon.SUtil.SConstants.S_DbType.MySQL:

                InPlaceConfigurationSource   source     = new InPlaceConfigurationSource();
                IDictionary <string, string> properties = new Dictionary <string, string>();
                properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");
                properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");

                properties.Add("connection.driver_class", "NHibernate.Driver.MySqlDataDriver");
                properties.Add("dialect", "NHibernate.Dialect.MySQLDialect");
                properties.Add("connection.connection_string", connection_string);

                // 数据库连接配置
                source.Add(typeof(ActiveRecordBase), properties);

                // 载入程序集中所有 ActiveRecord 类。
                ActiveRecordStarter.Initialize(assembly, source);

                // 自主载入指定类型
                //ActiveRecordStarter.Initialize(source, typeof(ActiveRecordBase), typeof(User), typeof(Base));

                // 删除数据库架构
                //ActiveRecordStarter.DropSchema();

                // 创建数据库架构(该方法会删除同名表后再创建)
                //ActiveRecordStarter.CreateSchema();
                break;
            }
        }
Exemplo n.º 4
0
        public static void StartDatabase()
        {
            if (Utilities.ConfigurationManager.GetStringValue("SQLUsername") == "root")
            {
                Utilities.ConsoleStyle.Warning(@"'root' Username is not safe, please modify this for your security");
            }
            var config = new DatabaseConfiguration(DatabaseType.MySQL, Utilities.ConfigurationManager.GetStringValue("SQLHost"),
                                                   Utilities.ConfigurationManager.GetStringValue("SQLDB"),
                                                   Utilities.ConfigurationManager.GetStringValue("SQLUsername"), Utilities.ConfigurationManager.GetStringValue("SQLPassword"));

            var source = new InPlaceConfigurationSource();

            source.Add(typeof(ActiveRecordBase), config.GetProperties());

            ActiveRecordStarter.Initialize(source,
                                           typeof(CharacterRecord), typeof(MapRecords),
                                           typeof(TriggerRecord), typeof(ItemRecord), typeof(WorldItemRecord),
                                           typeof(NpcRecord), typeof(NpcPositionRecord), typeof(NpcDialogRecord),
                                           typeof(ZaapRecord), typeof(AccountDataRecord), typeof(OriginalBreedStartMapRecord),
                                           typeof(IncarnamTeleportRecord), typeof(ExpFloorRecord), typeof(BaseSpellRecord),
                                           typeof(MonstersTemplateRecord), typeof(MonsterLevelRecord), typeof(MountTemplateRecord),
                                           typeof(GuildCreatorLocationRecord), typeof(SpellRecord), typeof(ShopItemRecord),
                                           typeof(BreedRecord), typeof(GuildRecord), typeof(DungeonRoomRecord),
                                           typeof(WorldMountRecord), typeof(PaddockRecord), typeof(DropRecord),
                                           typeof(BannedAccountRecord), typeof(ElitesRecord), typeof(LiveActionRecord),
                                           typeof(HotelRecord), typeof(ServerInfoRecord), typeof(ItemSetRecord),
                                           typeof(IODataRecord), typeof(JobDataRecord), typeof(CraftRecord), typeof(ItemBagRecord),
                                           typeof(AuctionHouseRecord), typeof(AuctionHouseItemRecord));
        }
        /// <summary>
        /// Initialize Active Record, and initialize the container.
        /// If <paramref name="rhinoContainerConfig"/> is <see langword="null" /> or <see cref="string.Empty">string.Empty</see>
        /// a <see cref="RhinoContainer">RhinoContainer</see> will not be initialized.
        /// </summary>
        /// <param name="rhinoContainerConfig">The configuration file to initialize a <see cref="RhinoContainer">RhinoContainer</see>
        /// or <see langword="null" />.</param>
        /// <param name="cfg">The configuration to supply to AR</param>
        /// <param name="assemblies">The assemblies to load for NHibernate mapping files.</param>
        public void FixtureInitialize(string rhinoContainerConfig, InPlaceConfigurationSource cfg, params Assembly[] assemblies)
        {
            if (cfg == null)
            {
                throw new ArgumentNullException("cfg");
            }

            IoC.Reset();
            ActiveRecordStarter.ResetInitializationFlag();

            cfg.Add(typeof(ActiveRecordBase), CreateProperties());

            //here we either configure the IUnitOfWorkFactory appropriately (which calls ActiveRecordStarter)
            //or we configure ActiveRecordStarter ourselves

            if (!string.IsNullOrEmpty(rhinoContainerConfig))
            {
                if (!IoC.IsInitialized)
                {
                    IoC.Initialize(new RhinoContainer(rhinoContainerConfig));
                }
                IHandler unitOfWorkFactoryHandler = IoC.Container.Kernel
                                                    .GetHandler(typeof(IUnitOfWorkFactory));
                unitOfWorkFactoryHandler
                .AddCustomDependencyValue("configurationSource", cfg);
                unitOfWorkFactoryHandler
                .AddCustomDependencyValue("assemblies", assemblies);
                IoC.Resolve <IUnitOfWorkFactory>().Init();
            }
            else
            {
                ActiveRecordStarter.Initialize(assemblies, cfg);
            }
        }
Exemplo n.º 6
0
        public void InitDB(string FileDB)
        {
            ActiveRecordStarter.ResetInitializationFlag();

            IDictionary <string, string> properties = new Dictionary <string, string>
            {
                { "connection.driver_class", "NHibernate.Driver.SQLite20Driver" },
                { "dialect", "NHibernate.Dialect.SQLiteDialect" },
                { "connection.provider", "NHibernate.Connection.DriverConnectionProvider" },
                { "connection.connection_string", "Data Source=" + FileDB + ";locked=true" },
                {
                    "proxyfactory.factory_class",
                    @"NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle"
                }
            };



            try
            {
                InPlaceConfigurationSource source = new InPlaceConfigurationSource();
                source.Add(typeof(ActiveRecordBase), properties);

                ActiveRecordStarter.Initialize(source, TestRequest_DBHelper.GetTypes());
            }
            catch (Exception e1)
            {
                MessageBox.Show(e1.ToString());
            }
        }
Exemplo n.º 7
0
        public void Initialize( )
        {
            var source = new InPlaceConfigurationSource( );

            source.Add(typeof(ActiveRecordBase), this.Properties);

            ActiveRecordStarter.Initialize(GetDataAccessAssemblies( ), source);
        }
Exemplo n.º 8
0
        public static void StartDatabase()
        {
            var config = new DatabaseConfiguration(DatabaseType.MySQL, Utilities.ConfigurationManager.GetStringValue("SQLHost"),
                                                   Utilities.ConfigurationManager.GetStringValue("SQLDB"),
                                                   Utilities.ConfigurationManager.GetStringValue("SQLUsername"), Utilities.ConfigurationManager.GetStringValue("SQLPassword"));
            var source = new InPlaceConfigurationSource();

            source.Add(typeof(ActiveRecordBase), config.GetProperties());
            ActiveRecordStarter.Initialize(source, typeof(AccountRecord), typeof(GameServerRecord),
                                           typeof(AccountCharactersInformationsRecord));
        }
Exemplo n.º 9
0
        /// <summary>
        /// Opens the file.
        /// </summary>
        private void OpenFile()
        {
            bool createSchema = false;

            if (!File.Exists(Filename))
            {
                createSchema = true;
                SqlCeEngine engine = new SqlCeEngine(SqlCE.GetConnectionString(Filename));
                engine.CreateDatabase();
                engine.Dispose();
            }


            if (!SqlCeTicketDataSource.ActiveRecordsInitialized)
            {
                IDictionary <string, string> properties = new Dictionary <string, string>();
                properties.Add("connection.driver_class", "NHibernate.Driver.SqlServerCeDriver");
                properties.Add("dialect", "NHibernate.Dialect.MsSqlCeDialect");
                properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");
                properties.Add("connection.connection_string", SqlCE.GetConnectionString(Filename));
                properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");

                InPlaceConfigurationSource source = new InPlaceConfigurationSource();
                source.Add(typeof(ActiveRecordBase), properties);

                ActiveRecordStarter.Initialize(Assembly.GetExecutingAssembly(), source);
                SqlCeTicketDataSource.ActiveRecordsInitialized = true;
            }
            else
            {
                SqlCeConnection con = new SqlCeConnection(SqlCE.GetConnectionString(Filename));
                con.Open();
                DifferentDatabaseScope scope = new DifferentDatabaseScope(con);
            }

            if (createSchema)
            {
                ActiveRecordStarter.CreateSchema();
            }

            AllTickets = new ObservableCollection <ITicket>();
            IQueryable <ITicket> list = (from t in TicketRecord.Queryable
                                         select t).Cast <ITicket>();

            list.ToList().ForEach((Action <ITicket>) delegate(ITicket t)
            {
                t.PropertyChanged += new PropertyChangedEventHandler(ticket_PropertyChanged);
                AllTickets.Add(t);
            });
            AllTickets.CollectionChanged += new NotifyCollectionChangedEventHandler(Tickets_CollectionChanged);
            UpdateActiveTickets();
        }
Exemplo n.º 10
0
        public static InPlaceConfigurationSource GetConfigSource()
        {
            Hashtable properties = new Hashtable();

            properties.Add("hibernate.connection.driver_class", "NHibernate.Driver.NpgsqlDriver");
            properties.Add("hibernate.dialect", "NHibernate.Dialect.PostgreSQLDialect");
            properties.Add("hibernate.connection.provider", "NHibernate.Connection.DriverConnectionProvider");
            properties.Add("hibernate.connection.connection_string", ConfigurationManager.ConnectionStrings[GetServidor()].ConnectionString);
            InPlaceConfigurationSource source = new InPlaceConfigurationSource();

            source.Add(typeof(ActiveRecordBase), properties);

            return(source);
        }
Exemplo n.º 11
0
        private InPlaceConfigurationSource _GetConfigSource()
        {
            Dictionary <string, string> properties = new Dictionary <string, string>();

            properties.Add("connection.driver_class", "NHibernate.Driver.NpgsqlDriver");
            properties.Add("dialect", "NHibernate.Dialect.PostgreSQLDialect");
            properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");
            properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");
            properties.Add("show_sql", _ShowSql.ToString());
            properties.Add("connection.connection_string", _ConnectionString);
            InPlaceConfigurationSource source = new InPlaceConfigurationSource();

            source.Add(typeof(ActiveRecordBase), properties);
            return(source);
        }
Exemplo n.º 12
0
        public static void InitActiveRecord(Assembly[] assemblies)
        {
            var config = new InPlaceConfigurationSource();

            config.PluralizeTableNames = true;
            config.Add(typeof(ActiveRecordBase),
                       new Dictionary <string, string> {
                { Environment.Dialect, "NHibernate.Dialect.MySQLDialect" },
                { Environment.ConnectionDriver, "NHibernate.Driver.MySqlDataDriver" },
                { Environment.ConnectionProvider, "NHibernate.Connection.DriverConnectionProvider" },
                { Environment.ConnectionStringName, ConnectionHelper.DefaultConnectionStringName },
                { Environment.Hbm2ddlKeyWords, "none" }
            });
            ActiveRecordStarter.Initialize(assemblies, config);
        }
        protected IConfigurationSource GetConfigSource()
        {
            InPlaceConfigurationSource source = new InPlaceConfigurationSource();

            Dictionary <string, string> properties = new Dictionary <string, string>();

            properties.Add("hibernate.connection.driver_class", "NHibernate.Driver.SqlClientDriver");
            properties.Add("hibernate.dialect", "NHibernate.Dialect.MsSql2000Dialect");
            properties.Add("hibernate.connection.provider", "NHibernate.Connection.DriverConnectionProvider");
            properties.Add("hibernate.connection.connection_string",
                           "Data Source=.;Initial Catalog=test;Integrated Security=SSPI");

            source.Add(typeof(ActiveRecordBase), properties);
            source.Add(typeof(NonAbstractRootType), properties);

            return(source);
        }
Exemplo n.º 14
0
        /// <summary>
        /// Handle the initialisation of ActiveRecord data layer. This must only be done once in the
        /// application lifecycle so this class maintains a count to enforce this.
        /// </summary>
        public static void InitDB()
        {
            lock (_lockingObject)
            {
                if (!_hasInitialised)
                {
                    try
                    {
                        string data_source = ReservationsServiceInitHelper.BuildReservationsDataSourceString();
                        Log.Info(string.Format(" ... using => {0} as database", data_source));
                        Log.Info(string.Format(" ... initializing database connection"));

                        IDictionary <string, string> properties = new Dictionary <string, string>();
                        properties["connection.driver_class"] = "NHibernate.Driver.FirebirdClientDriver";
                        properties["dialect"]                      = "NHibernate.Dialect.FirebirdDialect";
                        properties["connection.provider"]          = "NHibernate.Connection.DriverConnectionProvider";
                        properties["connection.connection_string"] = data_source;
                        //#if DEBUG
                        //                        properties["show_sql"] = "true";
                        //#endif
                        properties["proxyfactory.factory_class"] =
                            "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle";

                        InPlaceConfigurationSource source = new InPlaceConfigurationSource();
                        source.Add(typeof(ActiveRecordBase), properties);
                        ActiveRecordStarter.Initialize(source,
                                                       typeof(Location),
                                                       typeof(Session),
                                                       typeof(Table),
                                                       typeof(Guest),
                                                       typeof(Reservation),
                                                       typeof(Terminal)
                                                       );

                        Log.Info(string.Format("... database initialised ok ***"));
                    }
                    catch (SystemException e)
                    {
                        Log.FatalException("*** database did NOT initialise ***", e);
                        throw;
                    }
                    _hasInitialised = true;
                }
            }
        }
Exemplo n.º 15
0
        public void SetupFixture()
        {
            Environment.CurrentDirectory = TestContext.CurrentContext.TestDirectory;
            var connectionStringName = ConnectionHelper.GetConnectionName();

            ConnectionString = ConnectionHelper.GetConnectionString();
            if (!ActiveRecordStarter.IsInitialized)
            {
                var config = new InPlaceConfigurationSource();
                config.PluralizeTableNames = true;
                config.Add(typeof(ActiveRecordBase),
                           new Dictionary <string, string> {
                    { NHibernate.Cfg.Environment.Dialect, "NHibernate.Dialect.MySQLDialect" },
                    { NHibernate.Cfg.Environment.ConnectionDriver, "NHibernate.Driver.MySqlDataDriver" },
                    { NHibernate.Cfg.Environment.ConnectionProvider, "NHibernate.Connection.DriverConnectionProvider" },
                    { NHibernate.Cfg.Environment.ConnectionStringName, connectionStringName },
                    { NHibernate.Cfg.Environment.Hbm2ddlKeyWords, "none" },
                    { NHibernate.Cfg.Environment.FormatSql, "true" },
                    { NHibernate.Cfg.Environment.UseSqlComments, "true" }
                });
                ActiveRecordStarter.Initialize(new[] { Assembly.Load("Test.Support"), Assembly.Load("ReportTuner"), Assembly.Load("Common.Web.Ui") }, config);
            }

            var holder  = ActiveRecordMediator.GetSessionFactoryHolder();
            var session = holder.CreateSession(typeof(ActiveRecordBase));
            var ownerId = uint.Parse(ConfigurationManager.AppSettings["ReportsContactGroupOwnerId"]);

            if (session.Get <ContactGroupOwner>(ownerId) == null)
            {
                session.CreateSQLQuery($"Insert into contacts.contact_group_owners (Id) VALUES({ownerId})").UniqueResult();
            }
            holder = ActiveRecordMediator.GetSessionFactoryHolder();
            holder.ReleaseSession(session);
            IntegrationFixture2.Factory = holder.GetSessionFactory(typeof(ActiveRecordBase));

            _webServer = SeleniumFixture.StartServer();
            SeleniumFixture.GlobalSetup();

            using (var taskService = ScheduleHelper.GetService()) {
                ScheduleHelper.CreateFolderIfNeeded(taskService);
            }
        }
Exemplo n.º 16
0
        public void Setup()
        {
            ConnectionHelper.DefaultConnectionStringName = ConnectionHelper.GetConnectionName();

            var config = new InPlaceConfigurationSource();

            config.PluralizeTableNames = true;
            config.Add(typeof(ActiveRecordBase),
                       new Dictionary <string, string> {
                { Environment.Dialect, "NHibernate.Dialect.MySQLDialect" },
                { Environment.ConnectionDriver, "NHibernate.Driver.MySqlDataDriver" },
                { Environment.ConnectionProvider, "NHibernate.Connection.DriverConnectionProvider" },
                { Environment.ConnectionStringName, ConnectionHelper.GetConnectionName() },
                { Environment.Isolation, "ReadCommitted" },
                { Environment.Hbm2ddlKeyWords, "none" },
                { Environment.FormatSql, "true" },
                { Environment.UseSqlComments, "true" }
            });
            ActiveRecordStarter.Initialize(new[] { typeof(Job).Assembly, Assembly.Load("Test.Support") }, config);
        }
Exemplo n.º 17
0
 private void ActiveRecordInitialize(string connectionName, Assembly[] assemblies)
 {
     if (!ActiveRecordStarter.IsInitialized)
     {
         var config = new InPlaceConfigurationSource();
         config.IsRunningInWebApp   = true;
         config.PluralizeTableNames = true;
         config.Add(typeof(ActiveRecordBase),
                    new Dictionary <string, string> {
             { NHibernate.Cfg.Environment.Dialect, "NHibernate.Dialect.MySQLDialect" },
             { NHibernate.Cfg.Environment.ConnectionDriver, "NHibernate.Driver.MySqlDataDriver" },
             { NHibernate.Cfg.Environment.ConnectionProvider, "NHibernate.Connection.DriverConnectionProvider" },
             { NHibernate.Cfg.Environment.ConnectionStringName, connectionName },
             { NHibernate.Cfg.Environment.Hbm2ddlKeyWords, "none" },
             { NHibernate.Cfg.Environment.FormatSql, "true" },
             { NHibernate.Cfg.Environment.Isolation, "ReadCommitted" }
         });
         ActiveRecordStarter.Initialize(assemblies, config);
     }
 }
Exemplo n.º 18
0
        public InPlaceConfigurationSource CreateSource()
        {
            InPlaceConfigurationSource source = new InPlaceConfigurationSource();

            for (int i = 0; i < (int)ProfileType.Last - 1; i++)
            {
                if (m_host[i].Length > 0)
                {
                    Hashtable properties = new Hashtable();

                    properties.Add("hibernate.connection.driver_class", "NHibernate.Driver.MySqlDataDriver");
                    properties.Add("hibernate.dialect", "NHibernate.Dialect.MySQLDialect");
                    properties.Add("hibernate.connection.provider", "NHibernate.Connection.DriverConnectionProvider");
                    properties.Add("hibernate.connection.connection_string", GenerateConnectionString(DatabaseType.MySQL, (ProfileType)i));

                    source.Add(typeof(ActiveRecordBase), properties);
                }
            }

            return(source);
        }
Exemplo n.º 19
0
        public static void Setup(TestContext testContext)
        {
            if (!ActiveRecordStarter.IsInitialized)
            {
                //Castle.ActiveRecord.Framework.IConfigurationSource config = ActiveRecordSectionHandler.Instance;
                //Castle.ActiveRecord.Framework.IConfigurationSource config = new XmlConfigurationSource("QuartzAdmin.web.Tests.dll.config");
                InPlaceConfigurationSource  config     = new InPlaceConfigurationSource();
                Dictionary <string, string> properties = new Dictionary <string, string>();

                properties.Add("connection.driver_class", "NHibernate.Driver.SQLite20Driver");
                properties.Add("dialect", "NHibernate.Dialect.SQLiteDialect");
                properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");
                properties.Add("connection.connection_string", "Data Source=|DataDirectory|..\\..\\..\\database\\quartz_admin.db");
                properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");

                config.Add(typeof(ActiveRecordBase), properties);

                Assembly asm1 = Assembly.Load("QuartzAdmin.web");
                ActiveRecordStarter.Initialize(asm1, config);
            }
        }
Exemplo n.º 20
0
        /// <summary>
        /// The common test setup code. To activate it in a specific test framework,
        /// it must be called from a framework-specific setup-Method.
        /// </summary>
        public virtual void SetUp()
        {
            ActiveRecordStarter.ResetInitializationFlag();
            Dictionary <string, string> properties = new Dictionary <string, string>();

            properties.Add("connection.driver_class", "NHibernate.Driver.SQLite20Driver");
            properties.Add("dialect", "NHibernate.Dialect.SQLiteDialect");
            properties.Add("connection.provider", typeof(InMemoryConnectionProvider).AssemblyQualifiedName);
            properties.Add("connection.connection_string", "Data Source=:memory:;Version=3;New=True");
            properties.Add("proxyfactory.factory_class", "Castle.ActiveRecord.ByteCode.ProxyFactoryFactory, Castle.ActiveRecord");
            foreach (var p in GetProperties())
            {
                properties[p.Key] = p.Value;
            }

            var config = new InPlaceConfigurationSource();

            config.Add(typeof(ActiveRecordBase), properties);
            foreach (var type in GetAdditionalBaseClasses())
            {
                config.Add(type, properties);
            }
            Configure(config);

            var types      = GetTypes();
            var assemblies = GetAssemblies();

            if (types == null)
            {
                types = new Type[0];
            }
            if (assemblies == null)
            {
                assemblies = new Assembly[0];
            }

            ActiveRecordStarter.Initialize(assemblies, config, types);
            ActiveRecordStarter.CreateSchema();
        }
Exemplo n.º 21
0
        public void SetupFixture()
        {
            System.Environment.CurrentDirectory = TestContext.CurrentContext.TestDirectory;
            ConnectionStringName = ConnectionHelper.GetConnectionName();
            ConnectionString     = ConnectionHelper.GetConnectionString();
            //в тестах не может быть блокировок
            With.DefaultMaxRepeatCount = 0;

            var nhibernateParams = new Dictionary <string, string> {
                { Environment.Dialect, "NHibernate.Dialect.MySQLDialect" },
                { Environment.ConnectionDriver, "NHibernate.Driver.MySqlDataDriver" },
                { Environment.ConnectionProvider, "NHibernate.Connection.DriverConnectionProvider" },
                { Environment.ConnectionStringName, ConnectionStringName },
                { Environment.Hbm2ddlKeyWords, "none" },
                { Environment.FormatSql, "true" },
                { Environment.UseSqlComments, "true" }
            };

            if (!ActiveRecordStarter.IsInitialized)
            {
                var config = new InPlaceConfigurationSource();
                config.PluralizeTableNames = true;
                config.Add(typeof(ActiveRecordBase), nhibernateParams);

                ActiveRecordStarter.Initialize(new[] {
                    typeof(ReportResultLog).Assembly,
                    typeof(ContactGroup).Assembly,
                    Assembly.Load("Test.Support")
                },
                                               config);

                HbmSerializer.Default.HbmAutoImport = false;
                foreach (var cfg in ActiveRecordMediator.GetSessionFactoryHolder().GetAllConfigurations())
                {
                    cfg.AddInputStream(HbmSerializer.Default.Serialize(Assembly.Load("Common.Models")));
                }
                GeneralReport.Factory = ActiveRecordMediator.GetSessionFactoryHolder().GetSessionFactory(typeof(ActiveRecordBase));
            }
        }
Exemplo n.º 22
0
        private ArquivoFiscalRecord GetRecordInformacoesArquivo()
        {
            IDictionary <string, string> properties = new Dictionary <string, string>();

            properties.Add("connection.driver_class",
                           ConfigurationManager.AppSettings["ActiveRecordDriver"]);
            properties.Add("dialect",
                           ConfigurationManager.AppSettings["ActiveRecordDialect"]);
            properties.Add("connection.provider",
                           ConfigurationManager.AppSettings["ActiveRecordConnectionProvider"]);
            properties.Add("connection.connection_string",
                           ConfigurationManager.ConnectionStrings["DBArquivoSpedFiscal"].ConnectionString);
            properties.Add("proxyfactory.factory_class",
                           ConfigurationManager.AppSettings["ActiveRecordProxyFactory"]);

            InPlaceConfigurationSource source = new InPlaceConfigurationSource();

            source.Add(typeof(ActiveRecordBase), properties);
            ActiveRecordStarter.Initialize(source, typeof(ArquivoFiscalRecord));

            return(ArquivoFiscalRecord.Find(this._NumeroIdentificacaoArquivo));
        }
Exemplo n.º 23
0
        public static void MainProgress(string serverIP)
        {
            string server   = serverIP;
            string port     = "3306";
            string logId    = "root";
            string password = "******";
            string database = "myobject";

            server   = ConfigManager.GetStringVal(ConfigManager.enmAppKey.MYSQL, "SERVER", "");
            database = ConfigManager.GetStringVal(ConfigManager.enmAppKey.MYSQL, "DATABASE", "myobject");
            logId    = DES.Decode(ConfigManager.GetStringVal(ConfigManager.enmAppKey.MYSQL, "NAME", "FmKfww+xL4U="), Global.DB_PWDKEY);
            password = DES.Decode(ConfigManager.GetStringVal(ConfigManager.enmAppKey.MYSQL, "PWD", "FmKfww+xL4U="), Global.DB_PWDKEY);
            port     = ConfigManager.GetStringVal(ConfigManager.enmAppKey.MYSQL, "PORT", "3306");

            string connstr = "server=" + server + ";port=" + port + ";user id=" + logId + ";password="******";database=" + database + ";charset=utf8;";
            InPlaceConfigurationSource source1 = new InPlaceConfigurationSource();
            Hashtable properties = new Hashtable();

            properties.Add("hibernate.connection.driver class", "NHibernate.Driver.MySqlDataDriver");
            properties.Add("hibernate.dialect", "NHibernate.Dialect.MySQLDialect");
            properties.Add("hibernate.connection.provider", "NHibernate.Connection.DriverConnectionProvider");
            properties.Add("hibernate.connection.connection_string", connstr);
            source1.Add(typeof(ActiveRecordBase), properties);
            Type[] types = { typeof(TB_User),
                             typeof(PTS_TABLE_SRC),
                             typeof(TB_PROJECT),
                             typeof(TB_EXPENSE),
                             typeof(TB_BILL),
                             typeof(PTS_OBJECT_TYPE_SRC),
                             typeof(PTS_EXCEL_PROFILE_SRC),
                             typeof(TB_RATIO),
                             typeof(pts_proj_ratio),
                             typeof(PTS_PROJ_COST), };
            Castle.ActiveRecord.ActiveRecordStarter.Initialize(source1, types);
            WY.Common.Data.DbHelper.Initialize("MySql.Data.MySqlClient", connstr);
        }
Exemplo n.º 24
0
        private static void ConfigureDatabase()
        {
            ActiveRecordStarter.Initialize(
                InPlaceConfigurationSource.BuildForMSSqlServer("localhost", "test"),
                typeof(Customer),
                typeof(CustomerOperation),
                typeof(Operation));
            ActiveRecordStarter.CreateSchema();
            Customer customer = new Customer();

            customer.Name = "oren";
            ActiveRecordMediator.Save(customer);

            Operation op = new Operation();

            op.Name = "View";
            ActiveRecordMediator.Save(op);

            CustomerOperation co = new CustomerOperation();

            co.Customer  = customer;
            co.Operation = op;
            ActiveRecordMediator.Save(co);
        }
Exemplo n.º 25
0
        private void btnConnect_Click(object sender, EventArgs e)
        {
            ActiveRecordStarter.ResetInitializationFlag();

            IDictionary <string, string> properties = new Dictionary <string, string>
            {
                { "connection.driver_class", "NHibernate.Driver.SqlClientDriver" },
                { "dialect", "NHibernate.Dialect.MsSql2008Dialect" },
                { "connection.provider", "NHibernate.Connection.DriverConnectionProvider" },


                //Catalog Name Table. Как создать БД с помощью метода ActiveRecordStarter.CreateSchema();
                //пока выяснить не удалось но CreateSchema() прекрасно добавляет таблицы к БД
                { "connection.connection_string", "Data Source=PC;Initial Catalog=vvv;Integrated Security=True" },
                {
                    "proxyfactory.factory_class",
                    @"NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle"
                }
            };



            try
            {
                InPlaceConfigurationSource source = new InPlaceConfigurationSource();
                source.Add(typeof(ActiveRecordBase), properties);

                ActiveRecordStarter.Initialize(source, MainDBHelper.GetTypes());

                ActiveRecordStarter.CreateSchema();
            }
            catch (Exception e1)
            {
                MessageBox.Show(e1.ToString());
            }
        }
Exemplo n.º 26
0
        public void IsUniqueDoesNotDeadlockOnAutoflushTransaction()
        {
            InPlaceConfigurationSource source       = (InPlaceConfigurationSource)GetConfigSource();
            DefaultFlushType           originalType = source.DefaultFlushType;

            try
            {
                ActiveRecordStarter.Initialize(source, typeof(Blog2));
                Recreate();
                source.DefaultFlushType = DefaultFlushType.Auto;

                using (new TransactionScope())
                {
                    Blog2.DeleteAll();
                    Blog2 blog = new Blog2();
                    blog.Name = "FooBar";
                    blog.Save();
                }
            }
            finally
            {
                source.DefaultFlushType = originalType;
            }
        }
Exemplo n.º 27
0
 /// <summary>
 /// Hook for modifying the configuration before initialization
 /// </summary>
 /// <param name="config"></param>
 public virtual void Configure(InPlaceConfigurationSource config)
 {
 }
Exemplo n.º 28
0
 public override void Configure(InPlaceConfigurationSource config)
 {
     config.DefaultFlushType = DefaultFlushType.Leave;
 }