public override async void OnAppear(params object[] args)
        {
            if (string.IsNullOrWhiteSpace(_settingServicce.Token))
            {
                _nav.Init <LoginViewModel>();
            }
            else
            {
                _httpFactory.LoggedIn(_settingServicce.Token);
                var res = await _memberHandler.TouchLogin();

                if (res == null)
                {
                    _settingServicce.Token = string.Empty;
                    _httpFactory.Logout();
                    _nav.NavigateTo <LoginViewModel>();
                }
                else
                {
                    AppService.CurrentUser = res;
                    AppService.HasCRRole   = res.ClassRepresentative;
                    _nav.Init <HomeViewModel>();
                    if (AppService.CurrentUser.Batch != null)
                    {
                        _platformService.SubsubcribeTopics(AppService.CurrentUser.Batch.Name);
                    }
                }
            }
        }
示例#2
0
        public async Task Login()
        {
            var res = await member.Login("181909", "12345678");

            Assert.IsTrue(res.Success);

            var response = await member.TouchLogin();

            Assert.NotNull(response);

            member.Logout();
            await Task.Delay(250);

            response = await member.TouchLogin();

            Assert.Null(response);
        }
示例#3
0
        internal async Task <DBUser> GetUser()
        {
            try
            {
                if (string.IsNullOrWhiteSpace(_currentToken))
                {
                    if (await _localData.ContainKeyAsync(tokenKey))
                    {
                        _currentToken = await _localData.GetItemAsync <string>(tokenKey);
                    }
                }
            }
            catch { }
            if (!string.IsNullOrWhiteSpace(_currentToken))
            {
                _httpWorker.LoggedIn(_currentToken);
                if (CurrentUser != null)
                {
                    return(CurrentUser);
                }

                try
                {
                    var user = await _sessionData.GetItemAsync <DBUser>(tokenUser);

                    if (user != null)
                    {
                        CurrentUser = user;
                        return(user);
                    }
                }
                catch { }

                var res = await _memberHandler.TouchLogin();

                if (res == null)
                {
                    await Logout();

                    return(null);
                }
                else
                {
                    CurrentUser = res;
                    await _sessionData.SetItemAsync(tokenUser, CurrentUser);

                    return(res);
                }
            }



            Console.WriteLine("Asking For Info: " + _currentToken);


            return(null);
        }
        private async void LoginAction()
        {
            if (string.IsNullOrWhiteSpace(UserName))
            {
                _dialog.ShowMessage("Error", "Invalid Username. Username can not be empty");
            }
            else if (string.IsNullOrWhiteSpace(Password))
            {
                _dialog.ShowMessage("Error", "Invalid Password. Password can not be empty");
            }
            else
            {
                IsBusy = true;
                var res = await _memberHandler.Login(UserName, Password);

                if (res != null)
                {
                    if (res.Success)
                    {
                        var user = await _memberHandler.TouchLogin();

                        if (user != null)
                        {
                            AppService.CurrentUser = user;
                            _settingService.Token  = res.Token;
                            _nav.Init <HomeViewModel>();
                            if (AppService.CurrentUser.Batch != null)
                            {
                                try
                                {
                                    _platformService.SubsubcribeTopics(AppService.CurrentUser.Batch.Name);
                                    _settingService.Subscription = AppService.CurrentUser.Batch.Name;
                                }
                                catch (Exception ex)
                                {
                                    _dialog.ShowToastMessage(ex.Message);
                                }
                            }
                        }
                    }
                    else
                    {
                        _dialog.ShowMessage("Error", res.Message);
                    }
                }
                IsBusy = false;
            }
        }