Exemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CommandExpression{TFilter}" /> class.
        /// </summary>
        /// <param name="propertyMetadataExtractor">A property metadata extractor.</param>
        /// <param name="noResultSetCommandProcessorFactory">A no result set command processor factory.</param>
        /// <param name="commandMultipleResultExpressionFactory">The command multiple result expression factory.</param>
        /// <param name="commandSingleResultExpressionFactory">The command single result expression factory.</param>
        /// <param name="commandText">The CommandBuilder text.</param>
        /// <param name="commandType">Type of the CommandBuilder.</param>
        /// <exception cref="System.ArgumentNullException">databaseManager
        /// or
        /// commandText</exception>
        /// <exception cref="System.ArgumentException">No CommandBuilder text provided.;commandText
        /// or
        /// TableDirect is not supported.;commandType</exception>
        public CommandExpression(IPropertyMetadataExtractor propertyMetadataExtractor,
                                 INoResultSetCommandProcessorFactory noResultSetCommandProcessorFactory,
                                 ICommandMultipleResultExpressionFactory commandMultipleResultExpressionFactory,
                                 ICommandSingleResultExpressionFactory commandSingleResultExpressionFactory,
                                 string commandText, CommandType commandType)
        {
            if (propertyMetadataExtractor == null)
            {
                throw new ArgumentNullException(nameof(propertyMetadataExtractor));
            }
            if (noResultSetCommandProcessorFactory == null)
            {
                throw new ArgumentNullException(nameof(noResultSetCommandProcessorFactory));
            }
            if (commandText == null)
            {
                throw new ArgumentNullException(nameof(commandText));
            }
            if (string.IsNullOrWhiteSpace(commandText))
            {
                throw new ArgumentException("No CommandBuilder text provided.", nameof(commandText));
            }
            if (commandType == CommandType.TableDirect)
            {
                throw new ArgumentException("TableDirect is not supported.", nameof(commandType));
            }

            _propertyMetadataExtractor              = propertyMetadataExtractor;
            _noResultSetCommandProcessorFactory     = noResultSetCommandProcessorFactory;
            _commandMultipleResultExpressionFactory = commandMultipleResultExpressionFactory;
            _commandSingleResultExpressionFactory   = commandSingleResultExpressionFactory;

            CommandText   = commandText;
            DbCommandType = commandType;
        }
Exemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CommandExpressionFactory" /> class.
 /// </summary>
 /// <param name="propertyMetadataExtractor">The property metadata extractor.</param>
 /// <param name="noResultSetCommandProcessorFactory">The no result set command processor factory.</param>
 /// <param name="commandMultipleResultExpressionFactory">The command multiple result expression factory.</param>
 /// <param name="commandSingleResultExpressionFactory">The command single result expression factory.</param>
 /// <exception cref="System.ArgumentNullException">
 /// </exception>
 public CommandExpressionFactory(
     IPropertyMetadataExtractor propertyMetadataExtractor,
     INoResultSetCommandProcessorFactory noResultSetCommandProcessorFactory,
     ICommandMultipleResultExpressionFactory commandMultipleResultExpressionFactory,
     ICommandSingleResultExpressionFactory commandSingleResultExpressionFactory)
 {
     if (propertyMetadataExtractor == null)
     {
         throw new ArgumentNullException(nameof(propertyMetadataExtractor));
     }
     if (noResultSetCommandProcessorFactory == null)
     {
         throw new ArgumentNullException(nameof(noResultSetCommandProcessorFactory));
     }
     if (commandMultipleResultExpressionFactory == null)
     {
         throw new ArgumentNullException(nameof(commandMultipleResultExpressionFactory));
     }
     if (commandSingleResultExpressionFactory == null)
     {
         throw new ArgumentNullException(nameof(commandSingleResultExpressionFactory));
     }
     _propertyMetadataExtractor              = propertyMetadataExtractor;
     _noResultSetCommandProcessorFactory     = noResultSetCommandProcessorFactory;
     _commandMultipleResultExpressionFactory = commandMultipleResultExpressionFactory;
     _commandSingleResultExpressionFactory   = commandSingleResultExpressionFactory;
 }