/// <summary> /// Helper method to parse a string into rule actions /// </summary> /// <param name="acts">the string to parse into actions</param> /// <returns>An array of the parsed actions</returns> private Action[] StringToActions(string acts) { //split string by ANDs string[] buff = acts.Split(new string[] { " AND " }, StringSplitOptions.None); if (buff.Contains("")) throw new ArgumentException("Illegal AND statement in actions"); //check each split string to match a valid action Action[] returned = new Action[buff.Length]; for (int c = 0; c < buff.Length; c++) { if (buff[c].Contains("NOTIFY")) returned[c] = new AlertAction(alert); else if (buff[c].Contains("ALERT")) returned[c] = new AlertAction(alert); else if (buff[c].Contains("KILL")) returned[c] = new CancelAction(kill); else throw new ArgumentException("Unsupported Action"); } return returned; }