public ResponseDetailsBase UpdateVehicleStatus(PingVehicleModel pingVehicle) { try { if (pingVehicle == null || string.IsNullOrEmpty(pingVehicle.VehicleId)) { return(new ResponseDetailsBase(ResponseStatusCode.InvalidInputs)); } var vehicle = _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.UtcNow; _customerVehicleRepository.Update(vehicle); _customerVehicleRepository.Save(); return(new ResponseDetailsList <CustomerVehicleAggregate>(ResponseStatusCode.Success)); } catch (Exception ex) { _logger.LogError(ex, ex.Message, null); return(new ResponseDetailsBase(ex)); } }
public ResponseDetailsBase PushMessageToQueue(VehicleDto vehicle) { using (var channel = _messaginQueueHandler.CreateConnection()) { _logger.LogInformation("Push Message To Service Bus is starting"); if (vehicle == null || string.IsNullOrEmpty(vehicle.VehicleId)) { _logger.LogInformation("Cannot Retrieve Random Vehicle"); return(new ResponseDetailsBase(ResponseStatusCode.InvalidInputs)); } var pingComm = new PingVehicleModel() { Id = Guid.NewGuid(), CreatedAt = DateTime.UtcNow, VehicleId = vehicle.VehicleId }; var pushMessageResponse = _messaginQueueHandler.PushMessage(pingComm, channel); if (pushMessageResponse.StatusCode != ResponseStatusCode.Success) { _logger.LogInformation("Failed To Update Vehicle Status"); } _logger.LogInformation("Vehicle Status Updated Successfully"); return(pushMessageResponse); } }