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));
            }
        }
示例#2
0
 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);
     }
 }