Пример #1
0
 /// <summary>
 /// Constructs the parameter value with the details
 /// </summary>
 /// <param name="definition">The parameter definition</param>
 /// <param name="value">The value</param>
 /// <param name="lookupParameterValues">The lookup parameter values</param>
 public ReportFilterParameterValue
 (
     ReportParameterDefinition definition,
     object value,
     params ParameterValue[] lookupParameterValues
 )
     : base(definition.Parameter, value, lookupParameterValues)
 {
     this.Definition = definition;
 }
Пример #2
0
        /// <summary>
        /// Adds a parameter to the report definition
        /// </summary>
        /// <param name="parameter">The parameter information</param>
        /// <param name="targetType">The target type</param>
        /// <param name="targetName">The target name</param>
        /// <param name="targetValue">The target value (optional)</param>
        public void AddParameter
        (
            ParameterInfo parameter,
            ReportParameterTargetType targetType,
            string targetName,
            object targetValue = null
        )
        {
            Validate.IsNotNull(parameter);
            Validate.IsNotEmpty(targetName);

            var parameterName = parameter.Name;

            var nameUsed = this.Parameters.Any
                           (
                p => p.Parameter.Name.Equals(parameterName, StringComparison.OrdinalIgnoreCase)
                           );

            if (nameUsed)
            {
                throw new InvalidOperationException
                      (
                          $"The parameter name '{parameterName}' has already been used."
                      );
            }

            var reportParameter = new ReportParameterDefinition
                                  (
                parameter,
                targetType,
                targetName,
                targetValue
                                  );

            this.Parameters.Add(reportParameter);
        }