protected override void Context() { base.Context(); 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=:memory:;Version=3;New=True;" }, { "connection.release_mode", "on_close" } }; NHibernateConfig config = new NHibernateConfig(() => { var cfg = new Configuration().Configure() .SetProperties(properties); cfg.AddMappingsFromAssembly(typeof(WidgetMap).Assembly); return(cfg); }, _repositoryFactory, _uowStorage); UnitOfWork.Configure(config); UnitOfWork.Start(() => { wasExecuted = true; }); }
protected override void Context() { base.Context(); _config = new NHibernateConfig(_repositoryFactory, _uowStorage); UnitOfWork.Configure(_config); }
public static void AddPatientToDatabase(string firstName, string lastName, params DateTime[] appointmentDate) { PatientEntity patient = new PatientEntity { FirstName = firstName, LastName = lastName }; foreach (DateTime item in appointmentDate) { var appointment = new AppointmentEntity { Date = item }; patient.AddAppointment(appointment); } ISessionFactory sessionForTests = NHibernateConfig.CreateSessionFactory(Database.TEST_DB_NAME); using (ISession session = sessionForTests.OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { session.SaveOrUpdate(patient); transaction.Commit(); } } }
public Dictionary <int, Configuration> CreateAll(NHibernateConfig cofig) { Dictionary <int, Configuration> configs = new Dictionary <int, Configuration>(); foreach (Connection connection in cofig.Connections) { //1. Create an empty configuration object Configuration cfg = new Configuration(); //3. if not rooted, assume path from base directory if (Path.IsPathRooted(_hibernateConfig) == false) { _hibernateConfig = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, connection.File); } //4. Try creating the configuration if the file exists if (File.Exists(_hibernateConfig)) { cfg.Configure(new XmlTextReader(_hibernateConfig)); _hibernateConfig = ""; } else { ExceptionFactory.DataAccessException .Add.Message(Resources.CannotFindHibernateConfigFileException) .Add.Arguments(_hibernateConfig) .Raise(); } configs.Add(connection.TenantId, cfg); } return(configs); }
public void Integrated_add_new_patient() { // Arrange string firstName = "Dave"; string lastName = "Grohl"; Patient patient = new Patient { FirstName = firstName, LastName = lastName }; // Act _patientService.AddNewPatient(patient); // Assert ISessionFactory sessionForTests = NHibernateConfig.CreateSessionFactory(Database.TEST_DB_NAME); IList <PatientEntity> patients; using (ISession session = sessionForTests.OpenSession()) { patients = session.QueryOver <PatientEntity>().Fetch(x => x.Appointments).Eager.List(); } Assert.IsNotNull(patients); Assert.IsNotEmpty(patients); Assert.IsTrue(patients.Count == 1); PatientEntity result = patients.First(); StringAssert.Contains(result.FirstName, firstName); StringAssert.Contains(result.LastName, lastName); }
protected override void Context() { base.Context(); 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=:memory:;Version=3;New=True;" }, { "connection.release_mode", "on_close" }, { "proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle" } }; NHibernateConfig config = new NHibernateConfig(properties, _repositoryFactory, _uowStorage, typeof(Foo).Assembly); UnitOfWork.Configure(config); UnitOfWork.Start(() => { wasExecuted = true; }); }
public static IList <AppointmentEntity> GetAllAppointments() { ISessionFactory sessionForTests = NHibernateConfig.CreateSessionFactory(Database.TEST_DB_NAME); using (ISession session = sessionForTests.OpenSession()) { return(session.QueryOver <AppointmentEntity>().List()); } }
// This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { services.AddMvc(); NHibernateConfig.IniciarNHibernate(); var schemaUpdate = new SchemaUpdate(NHibernateConfig.NHIBERNATE_CONFIGURATION); schemaUpdate.Execute(true, true); }
public static IList <PatientEntity> GetPatientFromDatabase(string firstName, string lastName) { ISessionFactory sessionForTests = NHibernateConfig.CreateSessionFactory(Database.TEST_DB_NAME); using (ISession session = sessionForTests.OpenSession()) { return(session.QueryOver <PatientEntity>().Where(k => k.FirstName == firstName && k.LastName == lastName) .Fetch(x => x.Appointments).Eager.TransformUsing(Transformers.DistinctRootEntity).List()); } }
protected override void Context() { base.Context(); NHibernateConfig config = new NHibernateConfig(@".\hibernate.cfg.xml", _repositoryFactory, _uowStorage); UnitOfWork.Configure(config); UnitOfWork.Start(() => { wasExecuted = true; }); }
private Dictionary <int, Configuration> CreateConfiguration(NHibernateConfig config) { if (_configurationBuilder == null) { ExceptionFactory.DataAccessException .Wrap <InvalidOperationException>() .AddMessage("Configuration Builder Instance has not been set") .Raise(); } return(_configurationBuilder.BuildAll(config)); }
protected void Application_Start() { var container = CreateUnityContainer(); AreaRegistration.RegisterAllAreas(); NHibernateConfig.ConfigureDatabase(container); UnityConfig.RegisterComponents(container); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }
protected override void Context() { base.Context(); NHibernateConfig config = new NHibernateConfig(_repositoryFactory, _uowStorage); UnitOfWork.Configure(config); UnitOfWork.Start(() => { Transaction.Begin(); NHibernateConfig.GenerateSchema(); Transaction.Commit(); wasExecuted = true; }); }
protected override void Context() { base.Context(); FileStream fs = new FileStream(@".\hibernate.cfg.xml", FileMode.Open, FileAccess.Read); NHibernateConfig config = new NHibernateConfig(fs, _repositoryFactory, _uowStorage); UnitOfWork.Configure(config); fs.Dispose(); UnitOfWork.Start(() => { wasExecuted = true; }); }
protected override void Context() { base.Context(); foo = new MockFooRepo(); ObjectFactory.Initialize( factory => factory .ForRequestedType <IFooRepository>().TheDefault.IsThis(foo)); UnitOfWork.Start(() => { Transaction.Begin(); NHibernateConfig.GenerateSchema(); Repository <IFooRepository> .Do.Something(); Transaction.Commit(); }); }
private void OnSaveConfigurationCommand(object parameter) { if (NHibernateConfig == null) { Notify("Config isn't loaded", NotificationType.Error); return; } ConfirmDialog dialog = new ConfirmDialog() { HeaderText = "Artist remove confirmation", MessageText = "Do you really want to save configuration? Backup will be create automatically" }; if (dialog.ShowDialog() == true) { //backup old config DirectoryInfo dir = new DirectoryInfo(BackupDir); if (!dir.Exists) { dir.Create(); } string newName = "backup" + DateTime.Now.ToBinary().ToString() + '-' + NHibernateConfig.FileName; string fullPath = BackupDir + "\\" + newName; File.Copy(NHibernateConfig.FileName, fullPath, true); if (NHibernateConfig.Save(NHibernateConfig.FileName)) { Notify( String.Format("Configuration has been successfully saved. Created backup {0}", newName), NotificationType.Success); TestNewNHibernateConfiguration(); } else { Notify("Can't save configuration. Unexpected error", NotificationType.Error); } } }
protected override void Context() { base.Context(); UnitOfWork.Start(() => { Transaction.Begin(); NHibernateConfig.GenerateSchema(); ObjectFactory.Initialize( factory => factory .ForRequestedType<IFooRepository>() .TheDefaultIsConcreteType<MockFooRepo>()); Repository<IFooRepository>.Do.Something(); Assert.IsTrue(_uowStorage.HasTransactionManager); Transaction.Commit(); }); }
protected override void Context() { base.Context(); //DepCon.ClearRegistrations(); fooRepo = new MockFooRepo(); //DepCon.RegisterInstance<IFooRepository>(fooRepo); ObjectFactory.Initialize( factory => factory .ForRequestedType <IFooRepository>().TheDefault.IsThis(fooRepo)); 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=FooDb.s3db" }, { "connection.release_mode", "on_close" }, { "proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle" } }; NHibernateConfig config = new NHibernateConfig(properties, _repositoryFactory, _uowStorage, typeof(Foo).Assembly); UnitOfWork.Configure(config); UnitOfWork.Start(() => { Transaction.Begin(); Repository <IFooRepository> .Do.Something(); Transaction.Rollback(); }); UnitOfWork.Start(() => { foo = fooRepo.CheckForIt(); }); }
public System.Collections.Generic.Dictionary <int, Configuration> CreateAll(NHibernateConfig config) { throw new System.Exception("The method or operation is not implemented."); }
public void EstablishConnection() { #region Old Code //NHibernateConfig config = NHibernateConfig.Load(AppDomain.CurrentDomain.BaseDirectory + "Connections.xml"); //if (config == null) //{ // _configuration = CreateConfiguration(); // EstablishConnection(_configuration); //} //else //{ // _configurations = CreateConfiguration(config); // EstablishConnection(_configurations); //} #endregion #region Test Code ////Test Module //IPersistencyService _persistencyService = ObjectBuilder.Get<IPersistencyService>(); ////Test1: GetAlldataBases //List<IDataBase> dbs = _persistencyService.GetAllDataBases(); ////Test2: CreateDataBases //DataBase dbase = new DataBase(); //dbase.DBConfiguration = "dsgsdgsg"; //dbase.DBType = EnumDB.Sql; //dbase.Name = "Dev3"; //int dbId = _persistencyService.CreateDataBase(dbase); ////Test3: UpdateDataBases //DataBase dbaseUpdate = new DataBase(); //dbaseUpdate.Id = 5; //dbaseUpdate.DBConfiguration = "dsgsdgsg"; //dbaseUpdate.DBType = EnumDB.Sql; //dbaseUpdate.Name = "DevUpdate"; //_persistencyService.UpdateDataBase(dbaseUpdate); ////Test4: CreateTenantDataBase //DataBaseTenant dataBaseTenant = new DataBaseTenant(); //dataBaseTenant.TenantId = 4; //dataBaseTenant.DataBaseId = 2; //_persistencyService.CreateTenantDataBase(2,4); ////Test5: UpdateTenantDataBase //dataBaseTenant = new DataBaseTenant(); //dataBaseTenant.TenantId = 4; //dataBaseTenant.DataBaseId = 2; //_persistencyService.UpdateTenantDataBase(3,4); #endregion if (File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TenantDBHibernatecfg.xml"))) { if (_configurationBuilder == null) { ExceptionFactory.DataAccessException .Wrap <InvalidOperationException>() .AddMessage("Configuration Builder Instance has not been set") .Raise(); } //1.Get DataBase List ICollection <DataBase> listDataBases = GetDataBaseList(); //2.Get DataBaseTenant List ICollection <DataBaseTenant> listDataBaseTenant = GetTenantDataBaseList(); //3.EstablishConnection _configurations = CreateConfiguration(listDataBases); EstablishConnection(_configurations, listDataBaseTenant); } else { NHibernateConfig config = NHibernateConfig.Load(AppDomain.CurrentDomain.BaseDirectory + "Connections.xml"); if (config != null)//EstablishConnection By Connections.xml { _configurations = CreateConfiguration(config); EstablishConnection(_configurations); } else//Establish By Default Connection { _configuration = CreateConfiguration(); EstablishConnection(_configuration); } } }