コード例 #1
0
        /// <summary>
        /// Возвращает функциональное тело триггера для таблицы основных данных.
        /// </summary>
        /// <param name="triggerSchema">Схема триггера.</param>
        /// <returns></returns>
        internal override string GetTriggerBody(DBTriggerSchema triggerSchema)
        {
            if (triggerSchema == null)
            {
                throw new ArgumentNullException("triggerSchema");
            }

            //возвращаем тело триггера для основной таблицы.
            return(triggerSchema.GetBody(this));
        }
コード例 #2
0
ファイル: DBTrigger.cs プロジェクト: soroush01110011/MVP
        /// <summary>
        /// Создает экземпляр DBTrigger.
        /// </summary>
        /// <param name="schema">Схема триггера.</param>
        /// <param name="table">Таблица.</param>
        internal DBTrigger(DBTriggerSchema schema, DBTable table)
        {
            if (schema == null)
            {
                throw new ArgumentNullException("schema");
            }
            if (table == null)
            {
                throw new ArgumentNullException("table");
            }

            this.Schema = schema;
            this.Table  = table;
        }
コード例 #3
0
        protected internal override ICollection <DBTriggerSchema> InitTriggers()
        {
            List <DBTriggerSchema> triggers = new List <DBTriggerSchema>();

            //добавляем кастомные триггеры, если они присутствуют в схеме.
            foreach (ConstructorInfo triggerConstructor in this.ObjectSchemaAdapter.ClassDefinition.TriggerTypeConstructors)
            {
                DBTriggerSchema triggerSchema = (DBTriggerSchema)triggerConstructor.Invoke(new object[] { this.ObjectSchemaAdapter });
                if (triggerSchema == null)
                {
                    throw new Exception(string.Format("Не удалось создать экземпляр схемы триггера типа {0}.", triggerConstructor.DeclaringType.FullName));
                }
                triggers.Add(triggerSchema);
            }

            return(triggers);
        }