示例#1
0
 /// <summary>
 /// Returns a Or criteria instance.
 /// </summary>
 /// <param name="first">The first criteria.</param>
 /// <param name="second">The second criteria.</param>
 public Or(Criteria first, Criteria second)
 {
     if (first == null)
         throw new ArgumentNullException("first");
     if (second == null)
         throw new ArgumentNullException("second");
     FirstElement = first;
     SecondElement = second;
 }
示例#2
0
 /// <summary>
 /// Creates an Or criteria instance.
 /// </summary>
 /// <param name="criteria">The specified criteria.</param>
 /// <returns>An <see cref="Or"/> criteria instance.</returns>
 public Criteria Or(Criteria criteria)
 {
     return new Or(this, criteria);
 }
示例#3
0
 /// <summary>
 /// Creates an And criteria instance.
 /// </summary>
 /// <param name="criteria">The specified criteria.</param>
 /// <returns>An <see cref="And"/> criteria instance.</returns>
 public Criteria And(Criteria criteria)
 {
     return new And(this, criteria);
 }
示例#4
0
        protected override void ExtractValues(List<object> values)
        {
            List<object> arguments = new List<object>(values);
            Live = ExtractIfContains(ref arguments, Query.LiveKey);
            Name = ExtractField(ref arguments, Query.NameKey);

            var skip = ExtractField(ref arguments, Query.SkipKey);
            Skip = !string.IsNullOrEmpty(skip) ? int.Parse(skip) : -1;
            var take = ExtractField(ref arguments, Query.TakeKey);
            Take = !string.IsNullOrEmpty(take) ? int.Parse(take) : -1;

            Projection = ExtractProjection(ref arguments);
            OrderBy = ExtractOrderBy(ref arguments);

            Where = (Criteria) CreateCriteria(arguments);
        }