/// <summary> /// Initializes a new instance of the <see cref="SendMessageCommandHandler" /> class. /// </summary> /// <param name="tableNameHelper">The table name helper.</param> /// <param name="serializer">The serializer.</param> /// <param name="optionsFactory">The options factory.</param> /// <param name="headers">The headers.</param> /// <param name="commandCache">The command cache.</param> /// <param name="configurationSend">The configuration send.</param> /// <param name="sendJobStatus">The send job status.</param> /// <param name="jobExistsHandler">The job exists handler.</param> /// <param name="jobSchedulerMetaData">The job scheduler meta data.</param> /// <param name="getTimeFactory">The get time factory.</param> public SendMessageCommandHandlerAsync(TableNameHelper tableNameHelper, ICompositeSerialization serializer, IPostgreSqlMessageQueueTransportOptionsFactory optionsFactory, IHeaders headers, PostgreSqlCommandStringCache commandCache, TransportConfigurationSend configurationSend, ICommandHandler <SetJobLastKnownEventCommand <NpgsqlConnection, NpgsqlTransaction> > sendJobStatus, RelationalDatabase.IQueryHandler <DoesJobExistQuery <NpgsqlConnection, NpgsqlTransaction>, QueueStatuses> jobExistsHandler, IJobSchedulerMetaData jobSchedulerMetaData, IGetTimeFactory getTimeFactory) { Guard.NotNull(() => tableNameHelper, tableNameHelper); Guard.NotNull(() => serializer, serializer); Guard.NotNull(() => optionsFactory, optionsFactory); Guard.NotNull(() => headers, headers); Guard.NotNull(() => commandCache, commandCache); Guard.NotNull(() => configurationSend, configurationSend); Guard.NotNull(() => sendJobStatus, sendJobStatus); Guard.NotNull(() => jobExistsHandler, jobExistsHandler); Guard.NotNull(() => jobSchedulerMetaData, jobSchedulerMetaData); Guard.NotNull(() => getTimeFactory, getTimeFactory); _tableNameHelper = tableNameHelper; _serializer = serializer; _options = new Lazy <PostgreSqlMessageQueueTransportOptions>(optionsFactory.Create); _headers = headers; _commandCache = commandCache; _configurationSend = configurationSend; _sendJobStatus = sendJobStatus; _jobExistsHandler = jobExistsHandler; _jobSchedulerMetaData = jobSchedulerMetaData; _getTime = getTimeFactory.Create(); }
/// <summary> /// Initializes a new instance of the <see cref="ReceiveMessage" /> class. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="receiveMessage">The receive message.</param> /// <param name="setStatusCommandHandler">The set status command handler.</param> /// <param name="cancelToken">The cancel token.</param> /// <param name="receiveMessageAsync">The receive message asynchronous.</param> public ReceiveMessage(QueueConsumerConfiguration configuration, RelationalDatabase.IQueryHandler <ReceiveMessageQuery <SqlConnection, SqlTransaction>, IReceivedMessageInternal> receiveMessage, ICommandHandler <SetStatusTableStatusCommand> setStatusCommandHandler, IQueueCancelWork cancelToken, RelationalDatabase.IQueryHandler <ReceiveMessageQueryAsync <SqlConnection, SqlTransaction>, Task <IReceivedMessageInternal> > receiveMessageAsync) { Guard.NotNull(() => configuration, configuration); Guard.NotNull(() => receiveMessage, receiveMessage); Guard.NotNull(() => setStatusCommandHandler, setStatusCommandHandler); Guard.NotNull(() => cancelToken, cancelToken); Guard.NotNull(() => receiveMessageAsync, receiveMessageAsync); _configuration = configuration; _receiveMessage = receiveMessage; _setStatusCommandHandler = setStatusCommandHandler; _cancelToken = cancelToken; _receiveMessageAsync = receiveMessageAsync; }
/// <summary> /// Initializes a new instance of the <see cref="SqlServerMessageQueueCreation" /> class. /// </summary> /// <param name="connectionInfo">The connection information.</param> /// <param name="queryTableExists">The query table exists.</param> /// <param name="options">The options.</param> /// <param name="createSchema">The create schema.</param> /// <param name="createCommand">The create command.</param> /// <param name="deleteCommand">The delete command.</param> /// <param name="creationScope">The creation scope.</param> public SqlServerMessageQueueCreation(IConnectionInformation connectionInfo, RelationalDatabase.IQueryHandler <GetTableExistsQuery, bool> queryTableExists, ISqlServerMessageQueueTransportOptionsFactory options, SqlServerMessageQueueSchema createSchema, ICommandHandlerWithOutput <CreateQueueTablesAndSaveConfigurationCommand <ITable>, QueueCreationResult> createCommand, ICommandHandlerWithOutput <DeleteQueueTablesCommand, QueueRemoveResult> deleteCommand, ICreationScope creationScope ) { Guard.NotNull(() => options, options); Guard.NotNull(() => createSchema, createSchema); Guard.NotNull(() => queryTableExists, queryTableExists); Guard.NotNull(() => createCommand, createCommand); Guard.NotNull(() => deleteCommand, deleteCommand); Guard.NotNull(() => creationScope, creationScope); _options = new Lazy <SqlServerMessageQueueTransportOptions>(options.Create); _createSchema = createSchema; _queryTableExists = queryTableExists; _createCommand = createCommand; _deleteCommand = deleteCommand; ConnectionInfo = connectionInfo; Scope = creationScope; }