예제 #1
0
 /// <summary>
 /// Construtor padrão.
 /// </summary>
 /// <param name="expression"></param>
 public ConditionalContainer(string expression)
 {
     if (!string.IsNullOrEmpty(expression))
     {
         var cond = new Conditional(expression);
         cond.Parent = this;
         _conditionals.Add(cond);
     }
 }
예제 #2
0
 /// <summary>
 /// Adiciona uma condição do tipo OR.
 /// </summary>
 /// <param name="conditional"></param>
 /// <returns></returns>
 public virtual ConditionalContainer Or(Conditional conditional)
 {
     if (conditional == null)
     {
         throw new ArgumentNullException("conditional");
     }
     conditional.Parent = this;
     _conditionals.Add(conditional);
     if (_conditionals.Count > 1)
     {
         _logicalOperators.Add(LogicalOperator.Or);
     }
     return(this);
 }
예제 #3
0
 /// <summary>
 /// Adiciona a condição inicial. Essa operação limpa todas a outras condições já existentes.
 /// </summary>
 /// <param name="expression"></param>
 /// <returns></returns>
 public virtual ConditionalContainer Start(Conditional conditional)
 {
     if (conditional == null)
     {
         throw new ArgumentNullException("conditional");
     }
     foreach (var i in _conditionals)
     {
         i.Parent = null;
     }
     _conditionals.Clear();
     _logicalOperators.Clear();
     conditional.Parent = this;
     _conditionals.Add(conditional);
     return(this);
 }
예제 #4
0
 /// <summary>
 /// Construtor padrão.
 /// </summary>
 /// <param name="conditional"></param>
 public ConditionalContainer(Conditional conditional)
 {
     if (conditional != null)
     {
         conditional.Parent = this;
         _conditionals.Add(conditional);
         if (conditional is ConditionalContainer)
         {
             var cc = (ConditionalContainer)conditional;
             if (cc.ParameterContainer != this.ParameterContainer)
             {
                 cc.ParameterContainer = this.ParameterContainer;
             }
         }
     }
 }
예제 #5
0
 /// <summary>
 /// Adiciona a condição inicial. Essa operação limpa todas a outras condições já existentes.
 /// </summary>
 /// <param name="conditional"></param>
 /// <returns></returns>
 public virtual WhereClause <T> Start(Conditional conditional)
 {
     _container.Start(conditional);
     return(this);
 }
예제 #6
0
 /// <summary>
 /// Adiciona uma condição do tipo OR.
 /// </summary>
 /// <param name="conditional"></param>
 /// <returns></returns>
 public WhereClause <T> Or(Conditional conditional)
 {
     _container.Or(conditional);
     return(this);
 }
예제 #7
0
 /// <summary>
 /// Adiciona uma condição do tipo AND.
 /// </summary>
 /// <param name="conditional"></param>
 /// <returns></returns>
 public WhereClause <T> And(Conditional conditional)
 {
     _container.And(conditional);
     return(this);
 }