Exemple #1
0
 public static IValueAccessor <GraphQLFloat> NullableFloat <T1>(
     this JsonQueryBuilder builder,
     IDbFragment <T1> value1,
     Func <T1, decimal?> transformer)
 {
     return(builder.SelectNullable <GraphQLFloat, T1, decimal?>(value1, transformer));
 }
        public AliasedDbValue(IDbFragment value, string?alias = null)
        {
            Check.IsNotNull(value, nameof(value));

            this.value = value;
            Alias      = alias;
        }
Exemple #3
0
        // ---

        public static IValueAccessor <GraphQLNotNull <GraphQLString> > String <T1>(
            this JsonQueryBuilder builder,
            IDbFragment <T1> value1,
            Func <T1, string> transformer)
        {
            return(builder.Select <GraphQLString, T1, string>(value1, transformer));
        }
Exemple #4
0
 public static IValueAccessor <GraphQLNotNull <GraphQLBoolean> > Bool <T1>(
     this JsonQueryBuilder builder,
     IDbFragment <T1> value1,
     Func <T1, bool?> transformer)
 {
     return(builder.Select <GraphQLBoolean, T1, bool?>(value1, transformer));
 }
Exemple #5
0
 public static IValueAccessor <GraphQLNotNull <GraphQLInt> > Int <T1>(
     this JsonQueryBuilder builder,
     IDbFragment <T1> value1,
     Func <T1, int?> transformer)
 {
     return(builder.Select <GraphQLInt, T1, int?>(value1, transformer));
 }
Exemple #6
0
        public void AddMember(string name, IDbFragment expression)
        {
            Check.IsNotNullOrWhiteSpace(name, nameof(name));
            Check.IsNotNull(expression, nameof(expression));

            members.Add(name, expression);
        }
Exemple #7
0
        public IValueAccessor <TScalar> SelectNullable <TScalar, T1, T2, T3, T4, T5, T6, T7, T>(
            IDbFragment <T1> value1,
            IDbFragment <T2> value2,
            IDbFragment <T3> value3,
            IDbFragment <T4> value4,
            IDbFragment <T5> value5,
            IDbFragment <T6> value6,
            IDbFragment <T7> value7,
            Func <T1, T2, T3, T4, T5, T6, T7, T> resultTransformer)
            where TScalar : IGraphQLType <T>, new()
        {
            var names = new[]
            {
                SelectName(value1),
                SelectName(value2),
                SelectName(value3),
                SelectName(value4),
                SelectName(value5),
                SelectName(value6),
                SelectName(value7),
            };

            return(new ValueAccessor <TScalar>(
                       new TScalar(),
                       names,
                       x => resultTransformer((T1)x[0], (T2)x[1], (T3)x[2], (T4)x[3], (T5)x[4], (T6)x[5], (T7)x[6]),
                       commandResultAccessor));
        }
Exemple #8
0
 public static IValueAccessor <GraphQLNotNull <GraphQLFloat> > Float <T1, T2>(
     this JsonQueryBuilder builder,
     IDbFragment <T1> value1,
     IDbFragment <T2> value2,
     Func <T1, T2, decimal?> transformer)
 {
     return(builder.Select <GraphQLFloat, T1, T2, decimal?>(value1, value2, transformer));
 }
        public PostgresQueryCommand(IServiceProvider serviceProvider, IDbFragment <TResult> fragment)
            : base(serviceProvider)
        {
            Check.IsNotNull(fragment, nameof(fragment));

            selectClause = serviceProvider.GetRequiredService <SelectClause>();
            selectClause.AddSelection(fragment);
        }
Exemple #10
0
        // ---

        public static IValueAccessor <GraphQLString> NullableString <T1, T2>(
            this JsonQueryBuilder builder,
            IDbFragment <T1> value1,
            IDbFragment <T2> value2,
            Func <T1, T2, string> transformer)
        {
            return(builder.SelectNullable <GraphQLString, T1, T2, string>(value1, value2, transformer));
        }
Exemple #11
0
 public static IValueAccessor <GraphQLBoolean> NullableBool <T1, T2>(
     this JsonQueryBuilder builder,
     IDbFragment <T1> value1,
     IDbFragment <T2> value2,
     Func <T1, T2, bool?> transformer)
 {
     return(builder.SelectNullable <GraphQLBoolean, T1, T2, bool?>(value1, value2, transformer));
 }
        public DbDateTimeUnaryOperator(IDbFragment value, string op, bool prefix)
        {
            Check.IsNotNull(value, nameof(value));
            Check.IsNotNull(op, nameof(op));

            this.value  = value;
            this.op     = op;
            this.prefix = prefix;
        }
Exemple #13
0
 public static IValueAccessor <GraphQLInt> NullableInt <T1, T2, T3>(
     this JsonQueryBuilder builder,
     IDbFragment <T1> value1,
     IDbFragment <T2> value2,
     IDbFragment <T3> value3,
     Func <T1, T2, T3, int?> transformer)
 {
     return(builder.SelectNullable <GraphQLInt, T1, T2, T3, int?>(value1, value2, value3, transformer));
 }
Exemple #14
0
        public IValueAccessor <GraphQLNotNull <TScalar> > Select <TScalar, T>(IDbFragment <T> value)
            where TScalar : IGraphQLType <T>, new()
        {
            var name = GetNextName();

            adapter.Select(name, value);

            return(new ValueAccessor <GraphQLNotNull <TScalar> >(new GraphQLNotNull <TScalar>(new TScalar()), name, typeof(T), commandResultAccessor));
        }
        public DbDateTimeBinaryOperator(IDbFragment lhs, string op, IDbFragment rhs)
        {
            Check.IsNotNull(lhs, nameof(lhs));
            Check.IsNotNull(op, nameof(op));
            Check.IsNotNull(rhs, nameof(rhs));

            this.lhs = lhs;
            this.op  = op;
            this.rhs = rhs;
        }
        public static IWrapper <T> Set <T, TSetter>(this IWrapper <T> command, IDbFragment <TSetter> lhs, TSetter rhs)
            where T : IWrapper <UpdateClause>
        {
            Check.IsNotNull(command, nameof(command));
            Check.IsNotNull(lhs, nameof(lhs));

            command.Value.Value.Add(lhs, new ConstantValue(rhs));

            return(command);
        }
Exemple #17
0
        // ---

        public static IValueAccessor <GraphQLNotNull <GraphQLString> > String <T1, T2, T3, T4>(
            this JsonQueryBuilder builder,
            IDbFragment <T1> value1,
            IDbFragment <T2> value2,
            IDbFragment <T3> value3,
            IDbFragment <T4> value4,
            Func <T1, T2, T3, T4, string> transformer)
        {
            return(builder.Select <GraphQLString, T1, T2, T3, T4, string>(value1, value2, value3, value4, transformer));
        }
Exemple #18
0
 public static IValueAccessor <GraphQLNotNull <GraphQLBoolean> > Bool <T1, T2, T3, T4>(
     this JsonQueryBuilder builder,
     IDbFragment <T1> value1,
     IDbFragment <T2> value2,
     IDbFragment <T3> value3,
     IDbFragment <T4> value4,
     Func <T1, T2, T3, T4, bool?> transformer)
 {
     return(builder.Select <GraphQLBoolean, T1, T2, T3, T4, bool?>(value1, value2, value3, value4, transformer));
 }
Exemple #19
0
 public static IValueAccessor <GraphQLFloat> NullableFloat <T1, T2, T3, T4>(
     this JsonQueryBuilder builder,
     IDbFragment <T1> value1,
     IDbFragment <T2> value2,
     IDbFragment <T3> value3,
     IDbFragment <T4> value4,
     Func <T1, T2, T3, T4, decimal?> transformer)
 {
     return(builder.SelectNullable <GraphQLFloat, T1, T2, T3, T4, decimal?>(value1, value2, value3, value4, transformer));
 }
Exemple #20
0
 public static IValueAccessor <GraphQLNotNull <GraphQLInt> > Int <T1, T2, T3, T4, T5>(
     this JsonQueryBuilder builder,
     IDbFragment <T1> value1,
     IDbFragment <T2> value2,
     IDbFragment <T3> value3,
     IDbFragment <T4> value4,
     IDbFragment <T5> value5,
     Func <T1, T2, T3, T4, T5, int?> transformer)
 {
     return(builder.Select <GraphQLInt, T1, T2, T3, T4, T5, int?>(value1, value2, value3, value4, value5, transformer));
 }
Exemple #21
0
 public static IValueAccessor <GraphQLBoolean> NullableBool <T1, T2, T3, T4, T5, T6>(
     this JsonQueryBuilder builder,
     IDbFragment <T1> value1,
     IDbFragment <T2> value2,
     IDbFragment <T3> value3,
     IDbFragment <T4> value4,
     IDbFragment <T5> value5,
     IDbFragment <T6> value6,
     Func <T1, T2, T3, T4, T5, T6, bool?> transformer)
 {
     return(builder.SelectNullable <GraphQLBoolean, T1, T2, T3, T4, T5, T6, bool?>(value1, value2, value3, value4, value5, value6, transformer));
 }
Exemple #22
0
 public static IValueAccessor <GraphQLNotNull <GraphQLFloat> > Float <T1, T2, T3, T4, T5, T6>(
     this JsonQueryBuilder builder,
     IDbFragment <T1> value1,
     IDbFragment <T2> value2,
     IDbFragment <T3> value3,
     IDbFragment <T4> value4,
     IDbFragment <T5> value5,
     IDbFragment <T6> value6,
     Func <T1, T2, T3, T4, T5, T6, decimal?> transformer)
 {
     return(builder.Select <GraphQLFloat, T1, T2, T3, T4, T5, T6, decimal?>(value1, value2, value3, value4, value5, value6, transformer));
 }
Exemple #23
0
 public static IValueAccessor <GraphQLInt> NullableInt <T1, T2, T3, T4, T5, T6, T7>(
     this JsonQueryBuilder builder,
     IDbFragment <T1> value1,
     IDbFragment <T2> value2,
     IDbFragment <T3> value3,
     IDbFragment <T4> value4,
     IDbFragment <T5> value5,
     IDbFragment <T6> value6,
     IDbFragment <T7> value7,
     Func <T1, T2, T3, T4, T5, T6, T7, int?> transformer)
 {
     return(builder.SelectNullable <GraphQLInt, T1, T2, T3, T4, T5, T6, T7, int?>(value1, value2, value3, value4, value5, value6, value7, transformer));
 }
Exemple #24
0
        // ----

        // todo
        public IValueAccessor <GraphQLNotNull <GraphQLList <GraphQLNotNull <TScalar> > > > SelectScalarList <TScalar, T>(
            IWrapper <SqlServerQueryCommand> childQuery,
            IDbFragment <T> expression)
            where TScalar : IGraphQLType <T>, new()
        {
            var name     = GetNextName();
            var itemName = GetNextName();

            adapter.Select(name, itemName, childQuery, expression);

            return(new ValueAccessor <GraphQLNotNull <GraphQLList <GraphQLNotNull <TScalar> > > >(
                       new GraphQLNotNull <GraphQLList <GraphQLNotNull <TScalar> > >(new GraphQLList <GraphQLNotNull <TScalar> >(new GraphQLNotNull <TScalar>(new TScalar()))),
                       new[] { (name, (Type)null) },
Exemple #25
0
        public IValueAccessor <GraphQLList <GraphQLNotNull <TScalar> > > SelectNullableScalarList <TScalar, T>(
            IWrapper <PostgresQueryCommand> childQuery,
            IDbFragment <T> expression)
            where TScalar : IGraphQLType <T>, new()
        {
            var name = GetNextName();

            adapter.Select(name, childQuery, expression);

            return(new ValueAccessor <GraphQLList <GraphQLNotNull <TScalar> > >(
                       new GraphQLList <GraphQLNotNull <TScalar> >(new GraphQLNotNull <TScalar>(new TScalar())),
                       name,
                       typeof(TScalar),
                       commandResultAccessor));
        }
Exemple #26
0
        public IValueAccessor <GraphQLNotNull <TScalar> > Select <TScalar, T1, T>(
            IDbFragment <T1> value1,
            Func <T1, T> resultTransformer)
            where TScalar : IGraphQLType <T>, new()
        {
            var names = new[]
            {
                SelectName(value1),
            };

            return(new ValueAccessor <GraphQLNotNull <TScalar> >(
                       new GraphQLNotNull <TScalar>(new TScalar()),
                       names,
                       x => resultTransformer((T1)x[0]),
                       commandResultAccessor));
        }
Exemple #27
0
        public static void Build(IDbFragment lhs, string op, IDbFragment rhs, DbCommandBuilder builder, IServiceProvider serviceProvider)
        {
            builder.SqlBuilder.Write("(");

            if (op == "=")
            {
                if (lhs is ConstantValue lhsConstant && lhsConstant.Value == null)
                {
                    rhs.Build(builder, serviceProvider);
                    builder.SqlBuilder.Write(" is null");
                }
                else if (rhs is ConstantValue rhsConstant && rhsConstant.Value == null)
                {
                    lhs.Build(builder, serviceProvider);
                    builder.SqlBuilder.Write(" is null");
                }
            }
Exemple #28
0
        public IValueAccessor <TScalar> SelectNullable <TScalar, T1, T2, T>(
            IDbFragment <T1> value1,
            IDbFragment <T2> value2,
            Func <T1, T2, T> resultTransformer)
            where TScalar : IGraphQLType <T>, new()
        {
            var names = new[]
            {
                SelectName(value1),
                SelectName(value2),
            };

            return(new ValueAccessor <TScalar>(
                       new TScalar(),
                       names,
                       x => resultTransformer((T1)x[0], (T2)x[1]),
                       commandResultAccessor));
        }
Exemple #29
0
        public static void Build(IDbFragment value, string op, bool prefix, DbCommandBuilder builder, IServiceProvider serviceProvider)
        {
            if (prefix)
            {
                builder.SqlBuilder.Write("(");
                builder.SqlBuilder.Write(op);

                builder.SqlBuilder.Write(" (");
                value.Build(builder, serviceProvider);
                builder.SqlBuilder.Write(" ))");
            }
            else
            {
                builder.SqlBuilder.Write("((");
                value.Build(builder, serviceProvider);
                builder.SqlBuilder.Write(") ");

                builder.SqlBuilder.Write(op);
                builder.SqlBuilder.Write(")");
            }
        }
Exemple #30
0
        // ---

        public IValueAccessor <GraphQLNotNull <GraphQLList <GraphQLNotNull <T> > > > ExpandList <T, T1>(
            IDbFragment <T1> expression1,
            Func <T1, object> valueTransformer,
            Func <T> factory)
            where T : GraphQLObject
        {
            Check.IsNotNull(expression1, nameof(expression1));
            Check.IsNotNull(valueTransformer, nameof(valueTransformer));
            Check.IsNotNull(factory, nameof(factory));

            var names = new[]
            {
                SelectName(expression1, false),
            };

            return(ValueAccessor.Create(
                       new GraphQLNotNull <GraphQLList <GraphQLNotNull <T> > >(new GraphQLList <GraphQLNotNull <T> >(new GraphQLNotNull <T>(factory()))),
                       names,
                       x => valueTransformer((T1)x[0]),
                       commandResultAccessor));
        }