public sCallTimeOfDayCondition(sCallTime? start, sCallTime? end, sCallTimeOfDayRange? timeRange, sCallTimeDateRange? dateRange,
     ICallAction[] actions,ICallAction[] antiActions,CallConditionBreakTypes? breakType)
 {
     _start = start;
     _end = end;
     _timeRange = timeRange;
     _dateRange = dateRange;
     if (_end == null && _start == null && _timeRange == null && _dateRange == null)
         throw new Exception("You must specify at least one type of time condition");
     _actions = (actions == null ? new ICallAction[0] : actions);
     _antiActions = (antiActions == null ? new ICallAction[0] : antiActions);
     _break = breakType;
 }
 public sCallTimeOfDayCondition(sCallTimeDateRange dateRange, ICallAction[] actions, ICallAction[] antiActions, CallConditionBreakTypes? breakType)
     : this(null, null, null, dateRange, actions, antiActions, breakType) { }
 public sCallTimeOfDayCondition(sCallTime start, sCallTime? end, ICallAction[] actions, ICallAction[] antiActions, CallConditionBreakTypes? breakType) :
     this(start, end, null, null, actions, antiActions, breakType) { }
 public sCatchAllCondition(ICallAction[] actions, ICallAction[] antiActions, CallConditionBreakTypes? breakType)
 {
     _actions = (actions == null ? new ICallAction[0] : actions);
     _antiActions = (antiActions == null ? new ICallAction[0] : antiActions);
     _break = breakType;
 }
 public sCallFieldCondition(string conditionFiled, string conditionValue, bool usesRegex, ICallAction[] actions, ICallAction[] antiActions,CallConditionBreakTypes? breakType)
 {
     _conditionField = conditionFiled;
     _conditionValue = conditionValue;
     _usesRegex = usesRegex;
     _actions = (actions==null ? new ICallAction[0] : actions);
     _antiActions = (antiActions==null ? new ICallAction[0] : antiActions);
     _regex = null;
     _break = breakType;
     if (_usesRegex)
         _regex = new Regex(conditionValue, RegexOptions.Compiled | RegexOptions.ECMAScript);
 }
 public sCallRegexCondition(CallRegexConditionTypes type,sFieldRegexPair[] regexes,ICallAction[] actions,ICallAction[] antiActions,CallConditionBreakTypes? breakType){
     _type=type;
     _regexes=regexes;
     _actions = (actions == null ? new ICallAction[0] : actions);
     _antiActions = (antiActions == null ? new ICallAction[0] : antiActions);
     _break=breakType;
 }