public static void Main()
{
// 1. Step Configure and Initialize ActiveRecord:
// If you want to use the InPlaceConfigurationSource:
// Hashtable properties = new Hashtable();
// 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");
// InPlaceConfigurationSource source = new InPlaceConfigurationSource();
// source.Add(typeof(ActiveRecordBase), properties);
// We are using XmlConfigurationSource:
XmlConfigurationSource source = new XmlConfigurationSource("../appconfig.xml");
ActiveRecordStarter.Initialize( source, typeof(Blog), typeof(Post), typeof(User) );
// 2. Create the schema
// If you want to let AR to create the schema
if (MessageBox.Show("Do you want to let ActiveRecord create the database tables?", "Schema", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
ActiveRecordStarter.CreateSchema();
}
// 3. Create the first user (so you can log in)
if (User.GetUsersCount() == 0)
{
User user = new User("admin", "123");
user.Create();
}
// 4. Bring the Login Form
using(LoginForm login = new LoginForm())
{
if (login.ShowDialog() != DialogResult.OK)
{
return;
}
}
// 5. Show the main form
using(BlogManagement mainForm = new BlogManagement())
{
Application.Run(mainForm);
}
}
}