Exemple #1
0
        public ActionResult <bool> CreateEmergency(EmergencyReport emergency)
        {
            if (emergency != null)
            {
                emergency.Status = Common.Enums.EmergencyStatus.New;
                var factory = new ConnectionFactory()
                {
                    HostName = "rabbitmq",
                    Port     = 5672,
                    UserName = "******",
                    Password = "******"
                };
                var connection = factory.CreateConnection();
                var channel    = connection.CreateModel();
                channel.QueueDeclare(queue: "emergency",
                                     durable: false,
                                     exclusive: false,
                                     autoDelete: false,
                                     arguments: null);

                var body = Encoding.UTF8.GetBytes(JsonSerializer.Serialize(emergency));
                channel.BasicPublish(exchange: "",
                                     routingKey: "emergency",
                                     basicProperties: null,
                                     body: body);
                return(true);
            }
            return(false);
        }
Exemple #2
0
        public int AddEmergency(EmergencyReport emergencyReport)
        {
            var entity = new Emergency
            {
                EmergencyTypeId = emergencyReport.EmergencyTypeId,
                Location        = emergencyReport.Location,
                Description     = emergencyReport.Description,
                ReportTime      = emergencyReport.ReportTime,
                Status          = Common.Enums.EmergencyStatus.New,
                Identifier      = emergencyReport.Identifier
            };

            return(_emergencyRepository.Insert(entity));
            //await _emergencyRepository.SaveChanges();
        }
Exemple #3
0
        private void HandleMessage(EmergencyReport emergencyReport)
        {
            var res = _emergencyService.AddEmergency(emergencyReport);

            emergencyReport.Id = res;
            var factory = new ConnectionFactory()
            {
                HostName = "rabbitmq",
                Port     = 5672,
                UserName = "******",
                Password = "******"
            };
            var connection = factory.CreateConnection();
            var channel    = connection.CreateModel();

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

            channel.BasicPublish(exchange: "",
                                 routingKey: "statistics",
                                 basicProperties: null,
                                 body: body);
            channel.Close();
            connection.Close();
        }