private async void StartAnalyzing(string imageFilePath) { if (BindingContext is AnalyzePicturePageViewModel viewModel) { var response = await viewModel.MakeOCRRequest(imageFilePath); if (response == null || response.Status != "Succeeded" || viewModel.ExtractedExpense == null) { Device.BeginInvokeOnMainThread(async() => { magnifyImage.IsVisible = false; await DisplayAlert("Oops", "Something went wrong while analyzing your image. Please, give it another try", "Ok"); await Navigation.PopAsync(); }); } else { var page = new ExpenseDetail.ExpenseDetailPage(); using (var scope = App.Container.BeginLifetimeScope()) { if (scope.Resolve <ExpenseDetailPageViewModel>() is ExpenseDetailPageViewModel vm) { vm.SelectedUserExpense = viewModel.ExtractedExpense; page.BindingContext = vm; await Navigation.PushModalAsync(new AppNavigationPage(page)); await Navigation.PopToRootAsync(); } } } } }
private async Task OpenInsertManuallyPage() { var page = new ExpenseDetail.ExpenseDetailPage(); await Navigation.PushModalAsyncUnique(new AppNavigationPage(page)); }