public wfQueryControlSelectorResult Not(string query) { List <Control> result = Results.ToArray().ToList(); wfQueryControlSelectorResult removals = this[query]; removals.Each((i, c) => result.Remove(c)); return(new wfQueryControlSelectorResult(_wfQuery, result)); }
/// <summary> /// /// </summary> /// <param name="index">positive numbers (and zero) count from the beginning of the results; negative numbers count from the end.</param> /// <returns></returns> public wfQueryControlSelectorResult Eq(int index) { wfQueryControlSelectorResult result = null; int offsetIndex = Math.Abs(index); if (offsetIndex < Length) { if (index < 0) { // count from end result = new wfQueryControlSelectorResult(_wfQuery, Results.Reverse().Skip(offsetIndex).Take(1).ToList(), this); } else { // count from beginning result = new wfQueryControlSelectorResult(_wfQuery, Results.Skip(index).Take(1).ToList(), this); } return(result); } return(null); }
internal wfQueryControlSelectorResult(wfQueryContext wfQuery, List <Control> results, wfQueryControlSelectorResult previousResults) : this(wfQuery) { _previousResults = previousResults; results.ForEach(c => _results.AddLast(c)); }