public static RMQContext Create(this RMQContext ctx, string fileName)
        {
            ctx = new RMQContext();

            var    filePath     = Path.Combine(@"Configuration", fileName);
            string fullFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, filePath);
            string json         = File.ReadAllText(fullFilePath);

            ctx = JsonConvert.DeserializeObject <RMQContext>(json);

            return(ctx);
        }
        public void Create(string connectionName, string exchangeName, string queueName, string routingKey)
        {
            Context = new RMQContext().Create(ConfigFileName);

            RabbitContext = new RabbitContext();

            RabbitContext.Connection = Context.Connections.Where(r => r.Name == connectionName).FirstOrDefault();
            RabbitContext.Exchange   = Context.Exchanges.Where(r => r.Name == exchangeName).FirstOrDefault();
            RabbitContext.Queue      = Context.Queues.Where(r => r.Name == queueName).FirstOrDefault();
            RabbitContext.Binder     = new RabbitBinder()
            {
                ExchangeName = RabbitContext.Exchange.Name,
                QueueName    = RabbitContext.Queue.Name,
                RoutingKey   = routingKey
            };

            Sender = new RmqSender(RabbitContext);
            Sender.SetRoutingKey(RabbitContext.Queue.Name, RabbitContext.Binder.RoutingKey);

            // Receiver = new RMQReceiver(_ctx);
        }
 public RMQSession(string configFileName)
 {
     ConfigFileName = configFileName;
     Context        = new RMQContext();
 }