Beispiel #1
0
        private bool ContainsClass(ISqlTokenGenerator sqlTokenGenerator)
        {
            foreach (var item in _sqlTokenGenerators)
            {
                if (item.GetType() == sqlTokenGenerator.GetType())
                {
                    return(true);
                }
            }

            return(false);
        }
Beispiel #2
0
        private void SetUpSqlTokenGenerator(ISqlTokenGenerator sqlTokenGenerator, ParameterContext parameterContext, SchemaMetaData schemaMetaData, ICollection <SqlToken> previousSqlTokens)
        {
            if (sqlTokenGenerator is IParametersAware parametersAware)
            {
                parametersAware.SetParameterContext(parameterContext);
            }

            if (sqlTokenGenerator is ISchemaMetaDataAware schemaMetaDataAware)
            {
                schemaMetaDataAware.SetSchemaMetaData(schemaMetaData);
            }

            if (sqlTokenGenerator is IPreviousSqlTokensAware previousSqlTokensAware)
            {
                previousSqlTokensAware.SetPreviousSqlTokens(previousSqlTokens);
            }
        }
Beispiel #3
0
        private void AddSqlTokenGenerator(ICollection <ISqlTokenGenerator> sqlTokenGenerators, ISqlTokenGenerator toBeAddedSqlTokenGenerator)
        {
            if (toBeAddedSqlTokenGenerator is IIgnoreForSingleRoute ignoreForSingleRoute && _routeContext.GetRouteResult().IsSingleRouting())
            {
                return;
            }

            if (toBeAddedSqlTokenGenerator is IShardingRuleAware shardingRuleAware)
            {
                shardingRuleAware.SetShardingRule(_shardingRule);
            }
            if (toBeAddedSqlTokenGenerator is IRouteContextAware routeContextAware)
            {
                routeContextAware.SetRouteContext(_routeContext);
            }
            sqlTokenGenerators.Add(toBeAddedSqlTokenGenerator);
        }