Example #1
0
        public ParameterCollectionUIOptions(string useCase, ICollectSqlParameters collector, ParameterLevel currentLevel, ParameterManager parameterManager, CreateNewSqlParameterHandler createNewParameterDelegate = null)
        {
            UseCase                     = useCase;
            Collector                   = collector;
            CurrentLevel                = currentLevel;
            ParameterManager            = parameterManager;
            _createNewParameterDelegate = createNewParameterDelegate;

            if (_createNewParameterDelegate == null)
            {
                if (AnyTableSqlParameter.IsSupportedType(collector.GetType()))
                {
                    _createNewParameterDelegate = CreateNewParameterDefaultImplementation;
                }
            }
        }
Example #2
0
        public void FindOverridenParameters_OneOnlyTest(ParameterLevel addAt, ParameterLevel overridingLevel)
        {
            var myParameter         = new ConstantParameter("DECLARE @fish as int", "1", "fishes be here", new MicrosoftQuerySyntaxHelper());
            var overridingParameter = new ConstantParameter("DECLARE @fish as int", "999", "overriding value", new MicrosoftQuerySyntaxHelper());

            var pm = new ParameterManager();

            pm.ParametersFoundSoFarInQueryGeneration[ParameterLevel.TableInfo].Add(myParameter);
            pm.ParametersFoundSoFarInQueryGeneration[overridingLevel].Add(overridingParameter);

            var overrides = pm.GetOverridenParameters().ToArray();

            Assert.IsNull(pm.GetOverrideIfAnyFor(overridingParameter));
            Assert.AreEqual(pm.GetOverrideIfAnyFor(myParameter), overridingParameter);

            Assert.AreEqual(1, overrides.Length);
            Assert.AreEqual(myParameter, overrides[0]);
            var final = pm.GetFinalResolvedParametersList().ToArray();

            Assert.AreEqual(1, final.Length);
            Assert.AreEqual(overridingParameter, final[0]);
        }
Example #3
0
 /// <summary>
 /// Defines that a given parameter was found at a given level during query building.
 /// </summary>
 /// <param name="parameter"></param>
 /// <param name="level"></param>
 public ParameterFoundAtLevel(ISqlParameter parameter, ParameterLevel level)
 {
     Parameter = parameter;
     Level     = level;
 }
Example #4
0
 /// <summary>
 /// Records parameters from the <see cref="ICollectSqlParameters"/> at the specified <see cref="ParameterLevel"/>
 /// </summary>
 public void AddParametersFor(ICollectSqlParameters collector, ParameterLevel parameterLevel)
 {
     AddParametersFor(collector, ParametersFoundSoFarInQueryGeneration[parameterLevel]);
 }