internal DBTableRequiredInitAction(DBTriggerInfo triggerToDelete, DBTable table)
     : this(table)
 {
     if (triggerToDelete == null)
     {
         throw new ArgumentNullException("triggerToDelete");
     }
     this.TriggerToDelete = triggerToDelete;
 }
Пример #2
0
        /// <summary>
        /// Возвращает существующий триггер таблицы.
        /// </summary>
        /// <param name="triggerName">Название триггера.</param>
        /// <returns></returns>
        public DBTriggerInfo GetTrigger(string triggerName)
        {
            if (string.IsNullOrEmpty(triggerName))
            {
                throw new ArgumentNullException("triggerName");
            }

            //получаем триггер
            string        triggerNameLow = triggerName.ToLower();
            DBTriggerInfo trigger        = null;

            if (this.TriggersByName.ContainsKey(triggerNameLow))
            {
                trigger = this.TriggersByName[triggerNameLow];
            }

            return(trigger);
        }
Пример #3
0
        /// <summary>
        /// Возвращает существующий триггер существующей таблицы, соответвующий схеме триггера.
        /// </summary>
        /// <param name="existingTable">Существующая таблица.</param>
        /// <returns></returns>
        private DBTriggerInfo GetExistingTrigger(DBTableInfo existingTable)
        {
            if (existingTable == null)
            {
                throw new ArgumentNullException("existingTable");
            }

            //получаем триггер по имени
            DBTriggerInfo existingTrigger = existingTable.GetTrigger(this.Name);

            //если триггер по полному имени не получили, пытаемся найти триггер относительному имени.
            if (existingTrigger == null)
            {
                foreach (DBTriggerInfo triggerInfo in existingTable.Triggers)
                {
                    if (triggerInfo.NameLow.EndsWith("_" + this.Schema.RelativeNameLow))
                    {
                        existingTrigger = triggerInfo;
                        break;
                    }
                }
            }
            return(existingTrigger);
        }