private IRabbitMqSenderService GetSenderService(IBrokerConfigSender config = null)
        {
            var service = new RabbitMqSenderService(config ?? _brokerConfig)
            {
                ServiceDescription = "Test service - sender"
            };

            return(service);
        }
        protected string GetExchange(string exchangeName, IBrokerConfigSender config)
        {
            var exchange = string.IsNullOrWhiteSpace(exchangeName) ? config.Exchange : exchangeName;

            if (string.IsNullOrWhiteSpace(exchange))
            {
                exchange = "";
            }
            return(exchange);
        }
        protected string GetRoutingKey(string routingKeyOrQueueName, IBrokerConfigSender config)
        {
            var routingKey = (string.IsNullOrWhiteSpace(routingKeyOrQueueName)
                ? config.RoutingKeyOrQueueName
                : routingKeyOrQueueName);

            if (string.IsNullOrWhiteSpace(routingKey))
            {
                routingKey = "";
            }

            return(routingKey);
        }
        protected void _Send(string exchangeName, string routingKeyOrQueueName, bool createQueue, IModel channel,
                             string encodingName, IBrokerConfigSender config, byte[] body)
        {
            var properties = channel.CreateBasicProperties();

            RabbitMqUtilities.SetPropertiesSender(properties, encodingName);

            var exchange = GetExchange(exchangeName, config);

            CreateQueue(routingKeyOrQueueName, createQueue, exchange, channel);

            var routingKey = GetRoutingKey(routingKeyOrQueueName, config);

            if (channel.IsClosed)
            {
                throw new Exception("Channel is closed");
            }

            channel.BasicPublish(
                exchange,
                routingKey,
                properties,
                body);
        }
 public RabbitMqSenderService(IBrokerConfigSender config)
 {
     _config = config;
 }
 public RabbitMqSenderService2(IBrokerConfigSender config) : base(config)
 {
 }