From 38da0318ba39a3dc3a62f967a844ca5a08193263 Mon Sep 17 00:00:00 2001 From: Lukasz Swiderski Date: Mon, 9 May 2022 21:32:02 +0200 Subject: [PATCH] changes in mechanism: one click - scan & upload --- src/MiScaleExporter/ViewModels/FormViewModel.cs | 7 +++---- src/MiScaleExporter/ViewModels/IFormViewModel.cs | 2 +- src/MiScaleExporter/ViewModels/ScaleViewModel.cs | 2 +- src/MiScaleExporter/Views/FormPage.xaml.cs | 14 ++++++++++++-- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/MiScaleExporter/ViewModels/FormViewModel.cs b/src/MiScaleExporter/ViewModels/FormViewModel.cs index f8919c7..3cc6a32 100644 --- a/src/MiScaleExporter/ViewModels/FormViewModel.cs +++ b/src/MiScaleExporter/ViewModels/FormViewModel.cs @@ -68,10 +68,9 @@ private bool ValidateSave() && !String.IsNullOrWhiteSpace(_password); } - public void CheckPreferences() + public void AutoUpload() { - if ( Preferences.Get(PreferencesKeys.OneClickScanAndUpload, false) - && !string.IsNullOrWhiteSpace(Email) + if (!string.IsNullOrWhiteSpace(Email) && !string.IsNullOrWhiteSpace(Password)) { OnUpload(); @@ -87,7 +86,7 @@ private async void OnUpload() await Application.Current.MainPage.DisplayAlert ("Response", message, "OK"); this.IsBusy = false; // This will pop the current page off the navigation stack - await Shell.Current.GoToAsync(".."); + await Shell.Current.GoToAsync("..?autoUpload=false"); } private BodyComposition PrepareRequest() diff --git a/src/MiScaleExporter/ViewModels/IFormViewModel.cs b/src/MiScaleExporter/ViewModels/IFormViewModel.cs index 16a3c0e..9b545df 100644 --- a/src/MiScaleExporter/ViewModels/IFormViewModel.cs +++ b/src/MiScaleExporter/ViewModels/IFormViewModel.cs @@ -4,6 +4,6 @@ public interface IFormViewModel { void LoadBodyComposition(); - void CheckPreferences(); + void AutoUpload(); } } \ No newline at end of file diff --git a/src/MiScaleExporter/ViewModels/ScaleViewModel.cs b/src/MiScaleExporter/ViewModels/ScaleViewModel.cs index d37e1f7..6b90d4a 100644 --- a/src/MiScaleExporter/ViewModels/ScaleViewModel.cs +++ b/src/MiScaleExporter/ViewModels/ScaleViewModel.cs @@ -104,7 +104,7 @@ await Application.Current.MainPage.DisplayAlert("Problem", msg, else { App.BodyComposition = bc; - await Shell.Current.GoToAsync("///FormPage"); + await Shell.Current.GoToAsync($"///FormPage?autoUpload={Preferences.Get(PreferencesKeys.OneClickScanAndUpload, false)}"); } } diff --git a/src/MiScaleExporter/Views/FormPage.xaml.cs b/src/MiScaleExporter/Views/FormPage.xaml.cs index b43ec75..73e83ad 100644 --- a/src/MiScaleExporter/Views/FormPage.xaml.cs +++ b/src/MiScaleExporter/Views/FormPage.xaml.cs @@ -11,6 +11,7 @@ namespace MiScaleExporter.Views { + [QueryProperty(nameof(AutoUpload), "autoUpload")] [XamlCompilation(XamlCompilationOptions.Compile)] public partial class FormPage : ContentPage { @@ -27,9 +28,18 @@ public FormPage() protected override async void OnAppearing() { base.OnAppearing(); - vm.LoadBodyComposition(); - vm.CheckPreferences(); + } + + public bool AutoUpload + { + set + { + if (value) + { + vm.AutoUpload(); + } + } } }