コード例 #1
0
        public void HandleInput(TriggerActionType type, params object[] inputs)
        {
            if (TriggerActions.Last().Triggered)
            {
                return;
            }

            foreach (var trigger in TriggerActions)
            {
                if (trigger.Triggered)
                {
                    continue;
                }

                trigger.HandleInput(type, inputs);
                break;
            }

            if (TriggerActions.Last().Triggered)
            {
                if (FinalAction != null)
                {
                    FinalAction();
                }
                Reset();
            }
        }
コード例 #2
0
    public string GetCreateTriggerHeaderString(
      string triggerName,
      string dataTableName, 
      TriggerActions action)
    {
      var quotedTriggerName = IsQuoted(triggerName) ?
        triggerName : Quote(triggerName);
      var quotedTableName = QuoteForTableName(dataTableName);
      string actionName;
      switch (action)
      {
        case TriggerActions.INSERT:
          actionName = "INSERT";
          break;
        case TriggerActions.UPDATE:
          actionName = "UPDATE";
          break;
        case TriggerActions.DELETE:
          actionName = "DELETE";
          break;
        default:
          throw new NotSupportedException(
            string.Format("Trigger action {0} isn't supported by this dialect.", action));
      }

      return string.Format("create trigger {0} after {1} on {2}\nbegin",
        quotedTriggerName, actionName, quotedTableName);
    }
コード例 #3
0
    public string GetCreateTriggerHeaderString(
      string triggerName,
      string dataTableName, 
      TriggerActions action)
    {
      string actionName;
      switch (action)
      {
        case TriggerActions.INSERT:
          actionName = "INSERT";
          break;
        case TriggerActions.UPDATE:
          actionName = "UPDATE";
          break;
        case TriggerActions.DELETE:
          actionName = "DELETE";
          break;
        default:
          throw new NotSupportedException(
            string.Format("Trigger action {0} isn't supported by this dialect.", action));
      }

      return string.Format(
        "CREATE TRIGGER {0} " +
        "ON {1} " +
        "AFTER {2} AS\nBEGIN\nSET NOCOUNT ON;",
        QuoteForTriggerName(triggerName),
        QuoteForTableName(dataTableName), actionName);
    }
コード例 #4
0
        public string GetCreateTriggerHeaderString(
            string triggerName,
            string dataTableName,
            TriggerActions action)
        {
            var quotedTriggerName = IsQuoted(triggerName) ?
                                    triggerName : Quote(triggerName);
            var    quotedTableName = QuoteForTableName(dataTableName);
            string actionName;

            switch (action)
            {
            case TriggerActions.INSERT:
                actionName = "INSERT";
                break;

            case TriggerActions.UPDATE:
                actionName = "UPDATE";
                break;

            case TriggerActions.DELETE:
                actionName = "DELETE";
                break;

            default:
                throw new NotSupportedException(
                          string.Format("Trigger action {0} isn't supported by this dialect.", action));
            }

            return(string.Format("create trigger {0} after {1} on {2}\nbegin",
                                 quotedTriggerName, actionName, quotedTableName));
        }
コード例 #5
0
 public string GetDropTriggerString(string triggerName,
                                    string dataTableName, TriggerActions action)
 {
     return(string.Format("IF OBJECT_ID ('{0}', 'TR') IS NOT NULL " +
                          "DROP TRIGGER {1};", triggerName,
                          QuoteForTriggerName(triggerName)));
 }
コード例 #6
0
 public string GetDropTriggerString(string triggerName,
   string dataTableName, TriggerActions action)
 {
   return string.Format("IF OBJECT_ID ('{0}', 'TR') IS NOT NULL " +
                        "DROP TRIGGER {1};", triggerName,
                        QuoteForTriggerName(triggerName));
 }
コード例 #7
0
        public string GetCreateTriggerHeaderString(
            string triggerName,
            string dataTableName,
            TriggerActions action)
        {
            string actionName;

            switch (action)
            {
            case TriggerActions.INSERT:
                actionName = "INSERT";
                break;

            case TriggerActions.UPDATE:
                actionName = "UPDATE";
                break;

            case TriggerActions.DELETE:
                actionName = "DELETE";
                break;

            default:
                throw new NotSupportedException(
                          string.Format("Trigger action {0} isn't supported by this dialect.", action));
            }

            return(string.Format(
                       "CREATE TRIGGER {0} " +
                       "ON {1} " +
                       "AFTER {2} AS\nBEGIN\nSET NOCOUNT ON;",
                       QuoteForTriggerName(triggerName),
                       QuoteForTableName(dataTableName), actionName));
        }
コード例 #8
0
   public AuditTrigger(Table dataTable, AuditTable auditTable,
       INamingStrategy namingStrategy, TriggerActions action)
       : base(namingStrategy.GetTriggerName(dataTable, action),
 dataTable.GetQuotedName(),
 action)
   {
       _auditTable = auditTable;
         _dataColumnNames = (
       from column in dataTable.ColumnIterator
       select column.GetQuotedName()
       ).ToArray();
   }
コード例 #9
0
ファイル: AuditTrigger.cs プロジェクト: agamat/Ribbon-1
 public AuditTrigger(Table dataTable, AuditTable auditTable,
                     INamingStrategy namingStrategy, TriggerActions action)
     : base(
         namingStrategy.GetTriggerName(dataTable, action),
         dataTable.GetQuotedName(),
         action)
 {
     _auditTable      = auditTable;
     _dataColumnNames = (
         from column in dataTable.ColumnIterator
         select column.GetQuotedName()
         ).ToArray();
 }
コード例 #10
0
ファイル: NaggyTriggers.cs プロジェクト: saaadhu/naggy
 public static void Register(ITextBuffer buffer, Action delayed, Action disabled)
 {
     TriggerActions triggerActions;
     if (buffersAndActions.TryGetValue(buffer, out triggerActions))
     {
         triggerActions.Delayed.Add(delayed);
         triggerActions.Disabled.Add(disabled);
     }
     else
     {
         var t = new TriggerActions();
         t.Delayed.Add (delayed);
         t.Disabled.Add(disabled);
         buffersAndActions[buffer] = t;
     }
     buffer.Changed += new EventHandler<TextContentChangedEventArgs>(buffer_Changed);
 }
コード例 #11
0
 public string GetTriggerName(Table dataTable, TriggerActions action)
 {
     var unquotedName = dataTable.Name;
       string actionString;
       switch (action)
       {
     case TriggerActions.INSERT:
       actionString = "Insert";
       break;
     case TriggerActions.UPDATE:
       actionString = "Update";
       break;
     case TriggerActions.DELETE:
       actionString = "Delete";
       break;
     default:
       throw new ArgumentOutOfRangeException("action");
       }
       return string.Format("{0}_on{1}", unquotedName, actionString);
 }
コード例 #12
0
        public void AuditOperationColumnUniquelyIdentifiesOperation()
        {
            var dialect = new Dialects.DummyExtendedDialect();

            dialect.Functions.Clear();

            var auditColumns = GetAuditColumnSource().GetAuditColumns(
                new Table("AuditTable"), dialect);

            var auditOperation = auditColumns.Single();
            var operations     = new TriggerActions[] {
                TriggerActions.INSERT,
                TriggerActions.UPDATE,
                TriggerActions.DELETE
            };

            var outputs = from op in operations
                          select auditOperation.ValueFunction(op);

            Assert.AreEqual(outputs.Count(), outputs.Distinct().Count());
        }
コード例 #13
0
ファイル: NamingStrategy.cs プロジェクト: agamat/Ribbon-1
        public string GetTriggerName(Table dataTable, TriggerActions action)
        {
            var    unquotedName = dataTable.Name;
            string actionString;

            switch (action)
            {
            case TriggerActions.INSERT:
                actionString = "Insert";
                break;

            case TriggerActions.UPDATE:
                actionString = "Update";
                break;

            case TriggerActions.DELETE:
                actionString = "Delete";
                break;

            default:
                throw new ArgumentOutOfRangeException("action");
            }
            return(string.Format("{0}_on{1}", unquotedName, actionString));
        }
コード例 #14
0
 public string GetCreateTriggerFooterString(string triggerName,
                                            string dataTableName, TriggerActions action)
 {
     return("SET NOCOUNT OFF;\nEND");
 }
コード例 #15
0
 public string GetCreateTriggerFooterString(string triggerName,
   string dataTableName, TriggerActions action)
 {
   return "SET NOCOUNT OFF;\nEND";
 }
コード例 #16
0
 private void Start()
 {
     characterCollider = FindObjectOfType <TriggerActions>().GetComponent <TriggerActions>();
 }
コード例 #17
0
ファイル: Trigger.cs プロジェクト: akhuang/NHibernate
 public Trigger(string triggerName, string tableName, TriggerActions action)
 {
     _action = action;
       _triggerName = triggerName;
       _tableName = tableName;
 }
コード例 #18
0
 public string GetCreateTriggerFooterString(string triggerName,
                                            string dataTableName, TriggerActions action)
 {
     return("end;");
 }
コード例 #19
0
 public string GetDropTriggerString(string triggerName,
   string dataTableName, TriggerActions action)
 {
   return string.Format("drop trigger if exists {0};",
     triggerName);
 }
コード例 #20
0
 public string GetCreateTriggerFooterString(string triggerName,
   string dataTableName, TriggerActions action)
 {
   return "end;";
 }
コード例 #21
0
 public string GetDropTriggerString(string triggerName,
                                    string dataTableName, TriggerActions action)
 {
     return(string.Format("drop trigger if exists {0};",
                          triggerName));
 }
コード例 #22
0
 public abstract SqlBuilder GetTriggerActionsSql <TTriggerEntity>(TriggerActions <TTriggerEntity> triggerActions)
     where TTriggerEntity : class;