Beispiel #1
0
		private void AppendCompareOperator(Filter filter) {
			var filterCondition = (FilterCondition) filter;
            var compareOperator = ChangeCompareOperatorToIsWhenParameterValueIsNull(filterCondition);
			AddSpace();
            _builder.Append(CompareOperatorToSymbol.Get(compareOperator));
			AddSpace();
		}
 private void AddLogicOperator(Filter filter)
 {
     AddSpace();
     var filterLogic = filter as FilterLogic;
     _builder.Append(LogicOperatorToSymbol.Get(filterLogic.LogicOperator));
     AddSpace();
 }
Beispiel #3
0
		private static Filter CreateFilterLogic(LogicOperator logicOperator, Filter leftFilter, Filter rightFilter) {
			return new FilterLogic {
				Left = leftFilter,
				Right = rightFilter,
				LogicOperator = logicOperator
			};
		}
Beispiel #4
0
		private void BuildRecursive(Filter filter) {
			if (filter is FilterCondition) {
				AddFilterParameter((FilterCondition)filter);
				return;
			}
			OpenParentesis();
			BuildRecursive((Filter)filter.Left);
			AddLogicOperator(filter);
			BuildRecursive((Filter)filter.Right);
			CloseParentesis();
		}
 private void GetAllValueParametersRecursive(Filter filter, List<object> parameters)
 {
     GoToSubNode(filter.Left, parameters);
     GoToSubNode(filter.Right, parameters);
 }
 public int UpdateSql(string table, string[] columns, object[] values, Filter filter)
 {
     return 0;
 }
 public ResultSet SelectSql(string[] tables, string[] columns, Filter filter, OrderBy[] orderBys, int skip, int take)
 {
     return new ResultSet();
 }
 public int DeleteSql(string table, Filter filter)
 {
     return 0;
 }
 public int CountSql(string table, Filter filter)
 {
     return 0;
 }
Beispiel #10
0
 private static Filter GetFilterValor(Filter filter, decimal valor) {
     var mesmoValor = Filter.Eq("vl_eneat_rec_cp", valor);
     var valorNull = Filter.Eq("vl_eneat_rec_cp", null);
     return Filter.And(filter, Filter.Or(mesmoValor, valorNull));
 }
Beispiel #11
0
		public int Where(Filter where) {
			_update.Filter = where;
			_update.Execute();
			return _update.AfectedRows;
		}
 public int Where(Filter where)
 {
     _delete.Filter = where;
     _delete.Execute();
     return _delete.AfectedRows;
 }
Beispiel #13
0
        public virtual int UpdateSql(string table, string[] columns, object[] values, Filter filter)
        {
            string sql = Dialect.GetUpdateSql(table, columns, values);

            In[] parameters = Dialect.ConvertToNamedParameters(values);
            if (filter != null) {
                string whereSql = Dialect.GetWhereSql(filter, parameters.Count());
                object[] pars = filter.GetAllValueParameters();
                In[] filterParameters = Dialect.ConvertToNamedParameters(parameters.Count(), pars);
                filterParameters = filterParameters.Where(x => x.Value != null && x.Value != DBNull.Value).ToArray();
                parameters = parameters.Concat(filterParameters).ToArray();
                sql = sql + " " + whereSql;
            }

            return Database.ExecuteSql(sql, parameters);
        }
 public virtual string Build(Filter filter)
 {
     AppendWordWhere();
     BuildRecursive(filter);
     return _builder.ToString();
 }
Beispiel #15
0
        public virtual ResultSet SelectSql(string[] tables, string[] columns, Filter filter, OrderBy[] orderBys, int skip, int take)
        {
            var selectBuilder = new SelectBuilder(Dialect, tables, columns);
            selectBuilder.Filter = filter;
            selectBuilder.OrderBys = orderBys;
            selectBuilder.Skip = skip;
            selectBuilder.Take = take;

            string sql = selectBuilder.Build();
            if (selectBuilder.HasFilter) {
                return Database.Query(sql, selectBuilder.Parameters);
            }
            return Database.Query(sql);
        }
Beispiel #16
0
        public virtual int DeleteSql(string table, Filter filter)
        {
            string sql = Dialect.GetDeleteSql(table);

            if (filter != null) {
                string whereSql = Dialect.GetWhereSql(filter, 0);
                object[] pars = filter.GetAllValueParameters();
                In[] parameters = Dialect.ConvertToNamedParameters(0, pars);
                return Database.ExecuteSql(sql + " " + whereSql, parameters);
            }

            return Database.ExecuteSql(sql);
        }
Beispiel #17
0
        public virtual int CountSql(string table, Filter filter)
        {
            string sql = Dialect.GetCountSql(table);
            object obj;

            if (filter != null) {
                string whereSql = Dialect.GetWhereSql(filter, 0);
                object[] pars = filter.GetAllValueParameters();
                In[] parameters = Dialect.ConvertToNamedParameters(0, pars);
                obj = Database.QueryScalar(sql + " " + whereSql, parameters);
                return Convert.ToInt32(obj);
            }

            obj = Database.QueryScalar(sql);
            return Convert.ToInt32(obj);
        }
 public static Filter Or(Filter leftFilter, Filter rightFilter)
 {
     return CreateFilterLogic(LogicOperator.Or, leftFilter, rightFilter);
 }
 public int Where(Filter where)
 {
     _count.Filter = where;
     _count.Execute();
     return _count.CountedRows;
 }
 public IFluentSelectOrderBy Where(Filter where)
 {
     _select.Filter = where;
     return this;
 }
        public void Init()
        {
            _dialect = new Mock<Dialect>();

            _dialect.Setup(p => p.WordWhere).Returns(_wordWhere);
            _dialect.Setup(p => p.GetParameterName(It.IsAny<int>()))
                    .Returns((int input) => ":par" + input);
            _dialect.Setup(p => p.WordNull).Returns("null");

            _whereBuilder = new WhereBuilder(_dialect.Object, 0);

            _filter1 = CreateFilter(1);
            _filter2 = CreateFilter(2);
            _filter3 = CreateFilter(3);
            _filter4 = CreateFilter(4);
        }
 public virtual string GetWhereSql(Filter filter, int parameterStartIndex)
 {
     var whereBuilder = new WhereBuilder(this, parameterStartIndex);
     return whereBuilder.Build(filter);
 }
        private void TestFilterCondition(Filter filter, CompareOperator compareOperator)
        {
            FilterCondition filterCondition = (FilterCondition) filter;

            Assert.AreEqual(compareOperator, filterCondition.CompareOperator);

            CheckFilterParameter(filterCondition.Left, "col1", FilterParameterType.Column);
            CheckFilterParameter(filterCondition.Right, 1, FilterParameterType.Value);
        }