コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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();
                    }
                }
            }
        }