public MainPageViewModel(INavigationService navigationService, IPageDialogService pageDialogService, IAuthService authService) : base(navigationService) { _pageDialogService = pageDialogService; _authService = authService; Title = "Main Page"; _registration = CrossFirebaseAuth.Current.Instance.AddAuthStateChangedListener((auth) => { _isSignedIn.Value = auth.CurrentUser != null; }); ShowUserCommand = _isSignedIn.ToAsyncReactiveCommand(); SignUpCommand.Subscribe(SignUp); SignInWithEmailAndPasswordCommand.Subscribe(SignInWithEmailAndPassword); SignInWithGoogleCommand.Subscribe(SignInWithGoogle); SignInWithTwitterCommand.Subscribe(SignInWithTwitter); SignInWithFacebookCommand.Subscribe(SignInWithFacebook); SignInWithGitHubCommand.Subscribe(SignInWithGitHub); SignInWithPhoneNumberCommand.Subscribe(SignInWithPhoneNumber); SignInAnonymouslyCommand.Subscribe(SignInSignInAnonymously); ShowUserCommand.Subscribe(async() => await NavigationService.NavigateAsync <UserPageViewModel>()); }
public MainPageViewModel(INavigationService navigationService, IPageDialogService pageDialogService, IGoogleService googleService, IFacebookService facebookService, IAppleService appleService) : base(navigationService) { _pageDialogService = pageDialogService; _googleService = googleService; _facebookService = facebookService; _appleService = appleService; _multiFactorService = new MultiFactorService(this); Title = "Main Page"; _registration = CrossFirebaseAuth.Current.Instance.AddAuthStateChangedListener((auth) => { _isSignedIn.Value = auth.CurrentUser != null; }); ShowUserCommand = _isSignedIn.ToAsyncReactiveCommand(); SignUpCommand.Subscribe(SignUp); SignInWithEmailAndPasswordCommand.Subscribe(SignInWithEmailAndPassword); SignInWithGoogleCommand.Subscribe(SignInWithGoogle); SignInWithTwitterCommand.Subscribe(() => SignInWithProvider("twitter.com")); SignInWithFacebookCommand.Subscribe(SignInWithFacebook); SignInWithGitHubCommand.Subscribe(() => SignInWithProvider("github.com")); SignInWithYahooCommand.Subscribe(() => SignInWithProvider("yahoo.com")); SignInWithMicrosoftCommand.Subscribe(() => SignInWithProvider("microsoft.com")); SignInWithAppleCommand.Subscribe(SignInWithApple); SignInWithPhoneNumberCommand.Subscribe(SignInWithPhoneNumber); SignInAnonymouslyCommand.Subscribe(SignInSignInAnonymously); ShowUserCommand.Subscribe(async() => await NavigationService.NavigateAsync <UserPageViewModel>()); }