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>()); }
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)); }
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(); }