/// <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); } }
/// <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); }
/// <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); }
/// <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; } } } }
/// <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); }
/// <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); }
/// <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); }