using Microsoft.Extensions.Configuration; using RabbitMQ.Client; namespace BMA.EHR.Infrastructure.MessageQueue { public class RabbitMQConnection { private readonly IConnection _connection; private readonly IModel _channel; private readonly IConfiguration _configuration; /// /// /// /// public RabbitMQConnection(IConfiguration configuration) { _configuration = configuration; var hostName = _configuration["RabbitMQ:URL"]; var userName = _configuration["RabbitMQ:UserName"]; var password = _configuration["RabbitMQ:Password"]; var factory = new ConnectionFactory() { HostName = hostName, UserName = userName, Password = password }; _connection = factory.CreateConnection(); _channel = _connection.CreateModel(); } /// /// /// /// public IModel GetChannel() => _channel; /// /// /// public void Dispose() { _channel?.Close(); _connection?.Close(); } } }