示例#1
0
        public void Update([FromBody] Emergency emergency)
        {
            var factory = new ConnectionFactory()
            {
                HostName = "rabbitmq",
                Port     = 5672,
                UserName = "******",
                Password = "******"
            };
            var connection = factory.CreateConnection();
            var channel    = connection.CreateModel();

            channel.QueueDeclare(queue: "statistics",
                                 durable: false,
                                 exclusive: false,
                                 autoDelete: false,
                                 arguments: null);
            var body = Encoding.UTF8.GetBytes(JsonSerializer.Serialize(new
            {
                EmergencyId     = emergency.Id,
                EmergencyTypeId = emergency.EmergencyTypeId,
                Status          = emergency.Status,
                Description     = emergency.Description,
                Location        = emergency.Location,
                ModDate         = DateTime.Now
            }));

            channel.BasicPublish(exchange: "",
                                 routingKey: "statistics",
                                 basicProperties: null,
                                 body: body);
            _emergencyService.UpdateEmergency(emergency);
        }