private int GetBdMigrationVersion()
        {
            var version = 0;

            Utils.Config.Load();
            var connectionString = Utils.Config.GetProperty("DefaultConnectionString");

            Log.Info("Получение версии бд со строкой {0}", connectionString);
            var config = new NHibernate.Cfg.Configuration();

            config.Configure("hibernate.cfg.xml");
            config.DataBaseIntegration(
                properties => properties.ConnectionString = connectionString);

            try
            {
                using (var session = config.BuildSessionFactory().OpenSession())
                {
                    var versionString =
                        session.CreateSQLQuery("SELECT \"Version\" FROM \"VersionInfo\" order by \"Version\" desc limit 1;").UniqueResult();
                    version = Int32.Parse(versionString.ToString());
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Не удалось проверить версию БД, попробуем развернуть БД.", "Внимание", MessageBoxButton.OK, MessageBoxImage.Warning);
                Log.ErrorException("Не удалось проверить версию БД, попробуем развернуть БД. Тест версии бд провален, считаем версию как 0", ex);
            }

            return(version);
        }
        public bool TestConnection()
        {
            var result = true;

            Utils.Config.Load();
            var connectionString = Utils.Config.GetProperty("DefaultConnectionString");

            Log.Info("Тест подключения со строкой {0}", connectionString);
            var config = new NHibernate.Cfg.Configuration();

            config.Configure("hibernate.cfg.xml");
            config.DataBaseIntegration(
                properties => properties.ConnectionString = connectionString);

            try
            {
                using (var session = config.BuildSessionFactory().OpenSession())
                {
                }
            }
            catch (Exception ex)
            {
                result = false;
                Log.ErrorException("Тест подключения провалился", ex);
            }

            return(result);
        }