예제 #1
0
        /// <summary>
        /// Metodo que encola un mensaje en una queue
        /// </summary>
        /// <param name="consumo"></param>
        /// <returns></returns>
        public Consumo EncolarMessage(Consumo consumo)
        {
            var factory = new ConnectionFactory()
            {
                HostName = "localhost"
            };

            using (var connection = factory.CreateConnection())
                using (var channel = connection.CreateModel())
                {
                    channel.QueueDeclare(queue: "consumos",
                                         durable: true,
                                         exclusive: false,
                                         autoDelete: false,
                                         arguments: null);


                    string message = JsonConvert.SerializeObject(consumo).ToString();
                    var    body    = Encoding.UTF8.GetBytes(message);

                    channel.BasicPublish(exchange: "",
                                         routingKey: "consumos",
                                         basicProperties: null,
                                         body: body);
                    Console.WriteLine(" [x] Sent {0}", message);
                }
            return(consumo);
        }
예제 #2
0
        public ConsumoOutDTO EncolarConsumo(ClienteRabbit.Consumo consumo)
        {
            Consumo cons = rabbitMqClient.EncolarMessage(consumo);

            ConsumoOutDTO consumoDto = new ConsumoOutDTO();

            consumoDto.Code   = "201";
            consumoDto.Object = consumo;

            return(consumoDto);
        }