Exemple #1
0
        protected void SubscribeToastDialog(IBaseViewModel viewModel)
        {
            viewModel.ToastRequestLiveData.Observe(LifecycleManager, OnToast,
                                                   e => Log.Error("BaseActivity", "error observing ToastRequestLiveData", e));

            viewModel.AlertRequestLiveData.Observe(LifecycleManager, OnDialog,
                                                   e => Log.Error("BaseActivity", "error observing AlertRequestLiveData", e));
        }
Exemple #2
0
        /// <summary>
        /// Makes PostLogin call to Services - get session token
        /// </summary>
        public void Login(string username, string password, bool saveToken)
        {
            LoginRequestStatusSubject.OnNext(LoginRequestStatus.Pending);

            _restServices.PostLogin(username, password)
            .SubscribeOn(_rxSchedulersFacade.IO())
            .ObserveOn(_rxSchedulersFacade.IO())
            .Subscribe(
                data => {
                if (data == null)
                {
                    _log.Info("AuthRepository", "LoginPost returned null");
                    LoginRequestStatusSubject.OnNext(LoginRequestStatus.Error);
                    return;
                }

                if (data.Status == LoginResultStatusEnum.Logged)
                {
                    _log.Info("AuthRepository", "received session token");
                    if (saveToken)
                    {
                        _authService.SaveToken(username, data.Token, data.RefreshToken);
                    }
                    else
                    {
                        _authService.SetSingleSessionToken(username, data.Token, data.RefreshToken);
                    }

                    AuthStatus.OnNext(AuthStatusEnum.Logged);
                    LoginRequestStatusSubject.OnNext(LoginRequestStatus.Authorized);
                }
                else if (data.Status == LoginResultStatusEnum.NotAuthorized)
                {
                    _log.Info("AuthRepository", "user not authorized");
                    LoginRequestStatusSubject.OnNext(LoginRequestStatus.Unauthorized);
                }
                else
                {
                    _log.Info("AuthRepository", "bad cardinals");
                    LoginRequestStatusSubject.OnNext(LoginRequestStatus.BadLogin);
                }
            },
                e => {
                if (e.InnerException != null &&
                    e.InnerException.Message.Contains("ConnectFailure (Network is unreachable)"))
                {
                    _log.Error("AuthRepository", "no network", e);
                    LoginRequestStatusSubject.OnNext(LoginRequestStatus.NoNetwork);
                }
                else
                {
                    _log.Error("AuthRepository", "Login failed", e);
                    LoginRequestStatusSubject.OnNext(LoginRequestStatus.Error);
                }
            });

            _log.Info("AuthRepository", "PostLogin");
        }
Exemple #3
0
        public bool CheckNetworkStatus()
        {
            if (_connectivityManager == null)
            {
                _log.Error("ConnectionStatusRepository", "Internet status: failed to get status!");
                return(false);
            }

            var networkInfo = _connectivityManager.ActiveNetworkInfo;

            if (networkInfo == null)
            {
                _log.Error("ConnectionStatusRepository", "Internet status: no service!");
                return(false);
            }

            return(true);
        }
        /// <summary>
        /// Makes PostForgotPassword call
        /// </summary>
        public void RequestPasswordReset(string login, string email)
        {
            ForgotPasswordRequestStatusSubject.OnNext(ForgotPasswordRequestStatus.Pending);

            _disposable.Add(_restServices.PostForgotPassword(login, email)
                            .ObserveOn(_rxSchedulersFacade.IO())
                            .SubscribeOn(_rxSchedulersFacade.IO())
                            .Subscribe(result =>
            {
                if (result.Status == ForgotPasswordStatusEnum.Ok)
                {
                    _log.Info("ForgotPasswordRepository", "successful reset password request");
                    ForgotPasswordRequestStatusSubject.OnNext(ForgotPasswordRequestStatus.Success);
                }
                else
                {
                    _log.Info("ForgotPasswordRepository", "bad reset password request");
                    ForgotPasswordRequestStatusSubject.OnNext(ForgotPasswordRequestStatus.BadData);
                }
            },
                                       e =>
            {
                if (e.InnerException != null &&
                    e.InnerException.Message.Contains("ConnectFailure (Network is unreachable)"))
                {
                    _log.Error("ForgotPasswordRepository", "no network", e);
                    ForgotPasswordRequestStatusSubject.OnNext(ForgotPasswordRequestStatus.NoNetwork);
                }
                else
                {
                    _log.Error("ForgotPasswordRepository", "error occured during PostForgotPassword call", e);
                    ForgotPasswordRequestStatusSubject.OnNext(ForgotPasswordRequestStatus.Error);
                }
            }));

            _log.Info("ForgotPasswordRepository", "call to PostForgotPassword");
        }