/// <summary> /// Contructor for new Alert /// </summary> /// <param name="row">The culprit row</param> /// <param name="rule">The violated rule</param> /// <param name="column">The column in row containing culprit's identity</param> public Alert(DataRow row, Rule rule, string column) { if (rule == null || column == null || row == null) throw new ArgumentException("Cannot make alerts with null values"); this.table = new DataTable(); foreach (DataColumn col in row.Table.Columns) table.Columns.Add(col.ColumnName, col.DataType); AddRow(row); this.rule = rule; violator = row[column].ToString(); priority = rule.priority; }
/// <summary> /// Removes a rule from the manager /// </summary> /// <param name="rule">The rule to remove</param> public void RemoveRule(Rule rule) { rules.Remove(rule); }
/// <summary> /// adds a rule to be managed, does not allow uplicates /// </summary> /// <param name="rule">The rule to attempt to add</param> public void AddRule(Rule rule) { if (rules.Exists(r => r.Equals(rule))) throw new ArgumentException("Rule Already exists"); rules.Add(rule); }
public override void Act(DataRow row, Rule violated) { addAlert(row, violated); }
public abstract void Act(DataRow row, Rule violated);
public override void Act(DataRow row, Rule violated) { throw new NotImplementedException(); }
public override void Act(DataRow row, Rule violated) { kill(row["SESSION_ID"],row["SESSION_SPID"]); }