Example #1
0
        public MainPageViewModel(AuthorizeHealthCommand authorizer, ExportSpreadsheetCommand exporter, ISettingsStore settings, INavigationService nav, IAnalytics analytics) : base(analytics)
        {
            _settings = settings;

            Exporter = exporter;
            AuthorizeHealthCommand = authorizer.GetCommand(() =>
            {
                OnPropertyChanged(nameof(NeedsHealthAuthorization));
                Exporter.Command.ChangeCanExecute();
            });

            GoToSettings = new Command(async() => await nav.Modal <SettingsViewModel>());
        }
Example #2
0
        static MainPageViewModel GetSut(
            IClock clock                     = null,
            IShare share                     = null,
            IAuthorizer authorizer           = null,
            INavigationService navService    = null,
            IActionPresenter actionPresenter = null,
            ISettingsStore settings          = null,
            IFileManager fileManager         = null,
            IHealthStore healthStore         = null)
        {
            clock ??= SystemClock.Instance;
            var logger = new LoggerConfiguration().CreateLogger();

            var mockAuthorizer      = new Mock <IAuthorizer>();
            var mockSettings        = new Mock <ISettingsStore>();
            var mockAnalytics       = new Mock <IAnalytics>();
            var mockActionPresenter = new Mock <IActionPresenter>();
            var mockNavService      = new Mock <INavigationService>();
            var mockFileManager     = new Mock <IFileManager>();

            mockFileManager
            .Setup(x => x.GetNewFileName())
            .Returns(new FileInfo("arbitrary-filename-for-testing.xlsx"));

            var authCommand = new AuthorizeHealthCommand(
                authorizer ?? mockAuthorizer.Object,
                clock,
                actionPresenter ?? mockActionPresenter.Object,
                mockAnalytics.Object,
                logger,
                settings ?? mockSettings.Object);

            var exporter = new ExportSpreadsheetCommand(
                fileManager ?? mockFileManager.Object,
                actionPresenter ?? mockActionPresenter.Object,
                settings ?? mockSettings.Object,
                clock,
                mockAnalytics.Object,
                healthStore ?? new Mock <IHealthStore>().Object,
                share ?? new Mock <IShare>().Object,
                new Configuration(),
                logger);

            return(new MainPageViewModel(
                       authCommand,
                       exporter,
                       settings ?? mockSettings.Object,
                       navService ?? mockNavService.Object,
                       mockAnalytics.Object));
        }
Example #3
0
        public SettingsViewModel(AuthorizeHealthCommand commander, ISettingsStore settings, INavigationService nav, IAnalytics analytics) : base(analytics)
        {
            _settings  = settings;
            _analytics = analytics;

            AuthorizeHealthCommand = commander.GetCommand(() =>
                                                          OnPropertyChanged(nameof(HealthAuthorizationStatusText)));

            Dismiss            = new Command(() => nav.DismissModal());
            GoToExportSettings = new Command(() => nav.Modal <ExportSettingsViewModel>());
            GoToOnboarding     = new Command(() => nav.PresentAsMainPage <OnboardingPageViewModel>());
            GoToSEP            = new Command(async() => await Browser.OpenAsync("https://www.sep.com", BrowserLaunchMode.SystemPreferred));
            GoToJmDesignz      = new Command(async() => await Browser.OpenAsync("https://twitter.com/jm_designz", BrowserLaunchMode.SystemPreferred));
        }
 public OnboardingAuthViewModel(INavigationService nav, AuthorizeHealthCommand authorizer, IAnalytics analytics) : base(nav, analytics)
 {
     AuthorizeHealthCommand = authorizer.GetCommand();
 }