public async Task CompleteVehicleOption(VehicleOptionViewModel selectedOption)
        {
            await SetVehicleOptionAndGetMileage(selectedOption.Id, selectedOption.Text);

            LoadVehicleDetailsComplete?.Invoke(new LoadVehicleDetailsCompleteResponse {
                Success = true, DetailsAreFromStorage = false
            });
        }
        public async Task LoadVehicleDetailsFromDevice()
        {
            if (!_diagnosticService.IsConnected)
            {
                LoadVehicleDetailsComplete?.Invoke(new LoadVehicleDetailsCompleteResponse {
                    Success = false, Message = "Please connect your phone to the ELM327."
                });
            }

            var vin = await _diagnosticService.GetVin();

            await LoadVehicleDetailsFromVin(vin);
        }
        private async Task ProcessVehicleOptions(VehicleInformationResponse vehicleDetails)
        {
            if (vehicleDetails.SelectedVehicleOption == null)
            {
                var options = vehicleDetails.VehicleOptions.Select(s => new VehicleOptionViewModel {
                    Id = s.Id, Text = s.Text
                }).ToList();

                LoadVehicleDetailsOptionsRequired?.Invoke(new LoadVehicleDetailsOptionRequiredResponse {
                    Success = true, Message = "Please select the vehicle's drivetrain.", VehicleOptions = options
                });
                return;
            }

            await SetVehicleOptionAndGetMileage(vehicleDetails.SelectedVehicleOption.Id, vehicleDetails.SelectedVehicleOption.Text);

            LoadVehicleDetailsComplete?.Invoke(new LoadVehicleDetailsCompleteResponse {
                Success = true, DetailsAreFromStorage = false
            });
            return;
        }