public void Join(IJoinBuilder join)
 {
     if (!_joins.Contains(join))
     {
         _joins.Add(join);
     }
 }
Esempio n. 2
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="DelegatedJoinBuilder{T,TSource,TQuery}" /> class.
        /// </summary>
        /// <param name="joinBuilder">
        ///     The wrapped join builder instance.
        /// </param>
        /// <param name="query">
        ///     The query instance.
        /// </param>
        /// <param name="alias">
        ///     The alias.
        /// </param>
        /// <exception cref="ArgumentNullException">
        ///     The wrapped join builder instance is a null-reference.
        /// </exception>
        public DelegatedJoinBuilder
        (
            IJoinBuilder <TSource, TQuery> joinBuilder,
            IFilterableQuery <T> query,
            string alias
        )
        {
            if (joinBuilder == null)
            {
                throw new ArgumentNullException("joinBuilder");
            }

            if (query == null)
            {
                throw new ArgumentNullException("query");
            }

            _alias = alias;

            _joinBuilder = joinBuilder;

            _query = query;

            _rebaser = new ExpressionRebaser(typeof(T), _alias);
        }
        public void Join(SelectJoinType joinType, string tableName, string tableField, string joinField)
        {
            IJoinBuilder builder = Database.QueryFactory.CreateJoin();

            builder.Join(joinType, tableName, tableField, joinField);
            _joins.Add(builder);
        }
 private static WrappedJoinBuilder <T, IImmediateFlowQuery <T> > CreateWrappedJoinBuilder <T>
 (
     IJoinBuilder <T, IImmediateFlowQuery <T> > innerJoinBuilder,
     IImmediateFlowQuery <T> innerQuery
 )
 {
     return(CreateWrappedJoinBuilder(innerJoinBuilder, CreateWrappedQuery(innerQuery)));
 }
 private static WrappedJoinBuilder <T, IImmediateFlowQuery <T> > CreateWrappedJoinBuilder <T>
 (
     IJoinBuilder <T, IImmediateFlowQuery <T> > innerJoinBuilder,
     IFilterableQuery <T> query
 )
 {
     return(new WrappedJoinBuilder <T, IImmediateFlowQuery <T> >(innerJoinBuilder, query));
 }
Esempio n. 6
0
 private static DelegatedJoinBuilder <T, TSource, IImmediateFlowQuery <TSource> > CreateDelegatedJoinBuilder <T, TSource>
 (
     IJoinBuilder <TSource, IImmediateFlowQuery <TSource> > innerJoinBuilder,
     IImmediateFlowQuery <TSource> innerQuery,
     string alias
 )
 {
     return(CreateDelegatedJoinBuilder(innerJoinBuilder, CreateDelegatedQuery <T, TSource>(innerQuery, alias), alias));
 }
Esempio n. 7
0
 private static DelegatedJoinBuilder <T, TSource, IImmediateFlowQuery <TSource> > CreateDelegatedJoinBuilder <T, TSource>
 (
     IJoinBuilder <TSource, IImmediateFlowQuery <TSource> > innerJoinBuilder,
     IFilterableQuery <T> query,
     string alias
 )
 {
     return(new DelegatedJoinBuilder <T, TSource, IImmediateFlowQuery <TSource> >(innerJoinBuilder, query, alias));
 }
Esempio n. 8
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="WrappedJoinBuilder{TSource,TQuery}" /> class.
        /// </summary>
        /// <param name="joinBuilder">
        ///     The wrapped join builder instance.
        /// </param>
        /// <param name="query">
        ///     The query instance.
        /// </param>
        /// <exception cref="ArgumentNullException">
        ///     The wrapped join builder instance is a null-reference.
        /// </exception>
        public WrappedJoinBuilder
        (
            IJoinBuilder <TSource, TQuery> joinBuilder,
            IFilterableQuery <TSource> query
        )
        {
            if (joinBuilder == null)
            {
                throw new ArgumentNullException("joinBuilder");
            }

            if (query == null)
            {
                throw new ArgumentNullException("query");
            }

            _joinBuilder = joinBuilder;

            _query = query;
        }
Esempio n. 9
0
        protected static JoinType GetJoinTypeFrom <T>(IJoinBuilder <T, IFilterableQuery <T> > builder)
        {
            var type = builder.GetType();

            var field = type.GetField("_joinBuilder", BindingFlags.NonPublic | BindingFlags.Instance);

            Assert.That(field != null);

            var innerBuilder = field.GetValue(builder);

            Assert.That(innerBuilder != null);

            var innerType = innerBuilder.GetType();

            var innerField = innerType.GetField("_joinType", BindingFlags.NonPublic | BindingFlags.Instance);

            Assert.That(innerField != null);

            var joinType = innerField.GetValue(innerBuilder);

            Assert.That(joinType != null);

            return((JoinType)joinType);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="DsOperatorsToJoinsModifier"/> class.
 /// </summary>
 /// <param name="exprFactory">The expression factory.</param>
 /// <param name="joinExprResolver">The "join" expression resolver.</param>
 /// <param name="builder">The join builder.</param>
 public DsOperatorsToJoinsModifier(IExpressionFactory exprFactory, JoinExpressionResolver joinExprResolver, IJoinBuilder builder)
 {
     this._exprFactory      = exprFactory;
     this._joinExprResolver = joinExprResolver;
     this._builder          = builder;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="JoinUsingFillingModifier"/> class.
 /// </summary>
 /// <param name="builder">The builder for modifier.</param>
 public JoinUsingFillingModifier(IJoinBuilder builder)
 {
     this._builder = builder;
 }
Esempio n. 12
0
 public JoinBuilder_WithoutArgs(IJoinBuilder <object, TResult, TJoin> worker)
 {
     Worker = worker ?? throw new ArgumentNullException(nameof(worker));
 }