예제 #1
0
        /// <summary>
        /// Выполняет проверку наличия объектов в БД
        /// </summary>
        /// <param name="connection">Соединение с БД</param>
        /// <param name="configFileName">Полное имя файла конфигурации</param>
        /// <returns>Результаты проверки</returns>
        public static DbCheckResult Check(IDbConnection connection, string configFileName)
        {
            DbCheckConfig config = new DbCheckConfig(configFileName);

            DbObject[] dbobjects = config.DbObjects;

            DbCheckResult result = new DbCheckResult(
                true, new StringCollection());

            using (DbCheckerCache cache = new DbCheckerCache(connection, config))
            {
                foreach (DbObject dbobj in dbobjects)
                {
                    IDbChecker dbchecker = cache[dbobj];

                    if (!dbchecker.IsDbObjectExists(dbobj))
                    {
                        result.Success = false;
                        result.Errors.Add(dbobj.GetErrorMessage());
                    }
                }
            }

            return(result);
        }
예제 #2
0
 /// <summary>
 /// Конструктор
 /// </summary>
 public DbCheckerCache(IDbConnection connection, DbCheckConfig config)
 {
     this.m_oConnection = connection;
     this.m_oConfig     = config;
     this.m_oHashtable  = new Hashtable();
 }