示例#1
0
        private async void BtnLogin_Click()
        {
            // Call Business Api
            ILoginActivity loginActivity = Activity as ILoginActivity;

            if (loginActivity == null)
            {
                return;
            }

            var dialogTag = DialogGenerator.ShowWaitDialog(FragmentManager);

            LoginStatusEnum result = LoginStatusEnum.LoginFailure;

            try
            {
                result = await LoginUtil.Instance.ValidateUserLogin(
                    etEmail.Text, etPassword.Text,
                    ConfigurationService.GetAllCountryMap()[selectCountryIndex].CountryCode);
            }
            catch (Exception ee)
            {
                // force app exit
                // The common api should not throw any exception!
                throw ee;
            }

            AsyncUIOperationRepeater.INSTATNCE.SubmitAsyncUIOperation(
                (IAsyncTaskActivity)Activity,
                a =>
            {
                SimpleDialogFragment.DismissDialog(((FragmentActivity)a), dialogTag);
                ProcessLoginResult(result);
            });
        }
        private void GetPublicationListOnline(bool showWaitDialog)
        {
            var runningTask = AsyncTaskManager.INSTATNCE.FindTaskByType(typeof(Task <OnlinePublicationResult>));

            if (runningTask == null)
            {
                var task = PublicationUtil.Instance.GetPublicationOnline();
                AsyncTaskManager.INSTATNCE.RegisterTask(task);

                string dialogTag = null;
                if (showWaitDialog)
                {
                    dialogTag = DialogGenerator.ShowWaitDialog(Activity.SupportFragmentManager);
                }

                Application.SynchronizationContext.Post(async delegate
                {
                    var result = await task;
                    if (!AsyncTaskManager.INSTATNCE.UnregisterTask(task))
                    {
                        // User has logged off
                        return;
                    }

                    if (result.RequestStatus == RequestStatusEnum.Success)
                    {
                        DataCache.INSTATNCE.PublicationManager.SetPublicationList(result.Publications);
                    }

                    AsyncUIOperationRepeater.INSTATNCE.SubmitAsyncUIOperation(
                        (IAsyncTaskActivity)Activity,
                        a =>
                    {
                        if (dialogTag != null)
                        {
                            SimpleDialogFragment.DismissDialog(((FragmentActivity)a), dialogTag);
                        }

                        if (DataCache.INSTATNCE.PublicationManager.PublicationList == null || DataCache.INSTATNCE.PublicationManager.PublicationList.Count == 0)
                        {
                            tvNoTitleMessage.Visibility = ViewStates.Visible;
                        }
                        else
                        {
                            tvNoTitleMessage.Visibility = ViewStates.Gone;
                        }

                        if (result.RequestStatus == RequestStatusEnum.Success)
                        {
                            SetFilter();
                        }
                    });
                }, null);
            }
        }
示例#3
0
        public void ShowPleaseWaitDialog()
        {
            LogHelper.Debug("dbg", "RotateWait::Try to find wait");
            var dialogTag = SimpleDialogFragment.FindFragmentTagByExtraTag(
                this,
                (extTagKey, extTag) =>
                extTagKey == WebViewManager.PleaseWaitPageLoadDialogExtTagKey);

            if (dialogTag == null)
            {
                LogHelper.Debug("dbg", "RotateWait::Not found Wait");
                DialogGenerator.ShowWaitDialog(
                    SupportFragmentManager,
                    0,
                    WebViewManager.PleaseWaitPageLoadDialogExtTagKey);
            }
            LogHelper.Debug("dbg", "RotateWait::The Wait is shown here.");
        }
示例#4
0
        private async void ProcessSend()
        {
            ILoginActivity loginActivity = Activity as ILoginActivity;

            if (loginActivity == null)
            {
                return;
            }

            var dialogTag = DialogGenerator.ShowWaitDialog(FragmentManager);

            var result = await LoginUtil.Instance.ChangePassword(etNewPassword.Text, etRetypeNewPassword.Text);

            AsyncUIOperationRepeater.INSTATNCE.SubmitAsyncUIOperation(
                (IAsyncTaskActivity)Activity,
                a =>
            {
                SimpleDialogFragment.DismissDialog(((FragmentActivity)a), dialogTag);
                ProcessResetPasswordResult(result);
            });
        }
示例#5
0
        private async void processReminderPassword()
        {
            ILoginActivity loginActivity = Activity as ILoginActivity;

            if (loginActivity == null)
            {
                return;
            }

            var dialogTag = DialogGenerator.ShowWaitDialog(FragmentManager);

            var result = await LoginUtil.Instance.ResetPassword(
                etEmail.Text,
                ConfigurationService.GetAllCountryMap()[selectCountryIndex].CountryCode);

            AsyncUIOperationRepeater.INSTATNCE.SubmitAsyncUIOperation(
                (IAsyncTaskActivity)Activity,
                a =>
            {
                SimpleDialogFragment.DismissDialog(((FragmentActivity)a), dialogTag);
                ProcessResetPasswordResult(result);
            });
        }