private void MyVehicle_Tapped(object sender, EventArgs e) { CustomVehicleFrame button = (CustomVehicleFrame)sender; Vehicle buttonModel = viewModel.vehiclesData.First(m => m.VehicleId.Equals(button.VehicleId)); if (!buttonModel.Selected) { Vehicle previousButtonModel = viewModel.vehiclesData.FirstOrDefault(m => m.Selected.Equals(true)); if (previousButtonModel != null) { previousButtonModel.Selected = false; } viewModel.bCreateNewClaim = true; viewModel.selectVehicleId = buttonModel.VehicleId; buttonModel.Selected = true; } }
protected override async void OnAppearing() { base.OnAppearing(); if (viewModel.vehiclesData.Count == 0) { using (var scope = new ActivityIndicatorScope(activityIndicator, activityIndicatorPanel, true)) { try { var vehicles = await viewModel.GetVehiclesAsync(); foreach (var ve in vehicles) { var result = await viewModel.GetVehicleFileAsync(ve); ve.File = result.FirstOrDefault(); if (ve.File != null) { string filePath = await FileHelper.GetLocalFilePathAsync(ve.Id, ve.File.Name, MobileServiceHelper.msInstance.DataFilesPath); ve.ImageLoaded = await FileSystem.Current.LocalStorage.CheckExistsAsync(filePath) == ExistenceCheckResult.FileExists; } viewModel.vehiclesData.Add(ve); ve.Selected = false; CustomVehicleFrame frame = new CustomVehicleFrame(ve); var tgr = new TapGestureRecognizer(); tgr.Tapped += MyVehicle_Tapped; frame.GestureRecognizers.Add(tgr); vehicleListCtrl.Children.Add(frame); } vehicleListCtrl.Padding = new Thickness(0, 0, 0, 20); } catch (Exception ex) { Debug.WriteLine("Failed to get vehicles - " + ex.Message); Trace.WriteLine("Failure to get vehicles - " + ex); await DisplayAlert("Error", "Failed to get vehicles - " + ex.Message, "Close"); await Navigation.PopToRootAsync(); } } } }