Exemplo n.º 1
0
        public static QueryBuilder Compose(params IQueryBuilder[] args)
        {
            var Qb = new Qb();

            args.ForEach(
                a => Qb.Append(a)
                );
            return(Qb);
        }
Exemplo n.º 2
0
        public static QueryBuilder Wrap(params IQueryBuilder[] args)
        {
            var Qb = new Qb();

            Qb.Append("(");
            args.ForEach(
                a => Qb.Append(a)
                );
            Qb.Append(")");
            return(Qb);
        }
Exemplo n.º 3
0
        private static QbFmt ListQueryFunction <T>(string column, List <T> o, Func <T, object> fn, bool isIn)
        {
            if (!o.Any())
            {
                return(Qb.Fmt(isIn ? "FALSE" : "TRUE"));
            }
            var retv = Qb.Fmt($"{column} {(isIn ? "IN" : "NOT IN")} (");

            for (int i = 0; i < o.Count; i++)
            {
                retv.Append($"@{paramId}", fn?.Invoke(o[i]));
                if (i < o.Count - 1)
                {
                    retv.Append(",");
                }
            }
            retv.Append(")");

            return(retv);
        }
Exemplo n.º 4
0
        public static QueryBuilder And(string query, params object[] args)
        {
            var customAnd = Qb.And().Append(query, args);

            return((QueryBuilder)customAnd);
        }
Exemplo n.º 5
0
        public static QueryBuilder And(IQueryBuilder right)
        {
            var customAnd = Qb.And().Append(right);

            return((QueryBuilder)customAnd);
        }
Exemplo n.º 6
0
 public static QbFmt And()
 {
     return(Qb.Fmt("AND"));
 }
Exemplo n.º 7
0
 public static QbFmt Or()
 {
     return(Qb.Fmt("OR"));
 }
Exemplo n.º 8
0
 public static QbFmt Le(string column, object value)
 {
     return(Qb.Fmt($"{column}<=@{paramId}", value));
 }
Exemplo n.º 9
0
 public static IQueryBuilder ToQueryBuilder(this FormattableString query)
 {
     return(Qb.S(query));
 }
Exemplo n.º 10
0
 public static IQueryBuilder ToQueryBuilder(this string query, params object[] args)
 {
     return(Qb.Fmt(query, args));
 }