public ResponseDetailsBase PingVehicle(PingVehicleCommand pingVehicle) { var vehicle = this._customerVehicleRepository.DbSet.FirstOrDefault(v => v.VehicleId.ToLowerInvariant() == pingVehicle.VehicleId.ToLowerInvariant()); if (vehicle == null) { return(new ResponseDetailsBase(ResponseStatusCode.NotFound)); } vehicle.LastPingTime = pingVehicle.CreatedAt; vehicle.UpdatedOn = DateTime.Now; this._customerVehicleRepository.Update(vehicle); this._customerVehicleRepository.Save(); return(new ResponseDetailsList <CustomerVehicleAggregate>(ResponseStatusCode.Success)); }
private void Ping(object state) { try { _logger.LogInformation("Push Message To Service Bus is starting"); var getRandomVehicle = _vehicleService.GetRandomVehicle(); if (getRandomVehicle.StatusCode != Helpers.Models.CommonEnums.ResponseStatusCode.Success) { _logger.LogInformation("Cannot Retrieve Random Vehicle"); return; } var pingComm = new PingVehicleCommand() { Id = Guid.NewGuid(), CreatedAt = DateTime.Now, VehicleId = getRandomVehicle.DetailsObject.VehicleId }; string url = "amqp://*****:*****@shark.rmq.cloudamqp.com/eicyyvpq"; ConnectionFactory factory = new ConnectionFactory { Uri = new Uri(url.Replace("amqp://", "amqps://")) }; using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.QueueDeclare(queue: "VehiclePing", durable: false, exclusive: false, autoDelete: false, arguments: null); string message = Newtonsoft.Json.JsonConvert.SerializeObject(pingComm); var body = Encoding.UTF8.GetBytes(message); channel.BasicPublish(exchange: "", routingKey: "VehiclePing", basicProperties: null, body: body); _logger.LogInformation("Push Message To Service Bus Comleted"); } } catch (Exception ex) { _logger.LogError(ex.Message); } }