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); }
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(); }
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(); }