コード例 #1
0
        private async Task NavigateToDetail(PushMessage pushMessage)
        {
            RootContentViewModel contentViewModel = this;

            contentViewModel.ChangeProfile(pushMessage);
            if (pushMessage.NotificationType != NotificationMessageType.Message)
            {
                return;
            }
            if (await contentViewModel._pushNotificationService.DownloadPostaladaElem(contentViewModel.ActiveProfile, pushMessage))
            {
                try
                {
                    if (pushMessage.ItemId == contentViewModel.lastMessageId)
                    {
                        return;
                    }
                    contentViewModel.lastMessageId = pushMessage.ItemId;
                    PostaladaElem postaladaElem = contentViewModel._uzenetDataService.GetPostaladaElem(pushMessage.ItemId);
                    contentViewModel._tryNavigateToDetailCounter = 0;
                    if (postaladaElem == null)
                    {
                        return;
                    }
                    int num = await contentViewModel._navigationService.Navigate <MessageDetailViewModel, PostaladaElem>((M1)postaladaElem, (IMvxBundle)null, new CancellationToken()) ? 1 : 0;
                }
                catch (Exception ex)
                {
                    Dialogs.ShowToast("RootContentPage_PushMessage_ItemNotFound");
                }
            }
            else
            {
                ++contentViewModel._tryNavigateToDetailCounter;
                if (contentViewModel._tryNavigateToDetailCounter <= 3)
                {
                    await Task.Delay(400);

                    await contentViewModel.NavigateToDetail(pushMessage);
                }
                else
                {
                    contentViewModel._tryNavigateToDetailCounter = 0;
                    await contentViewModel._modalDialog.DisplayAlertByResourceKeysAsync("PushNotification_CannotOpen_Text", "Common_Alert_Title");
                }
            }
        }
コード例 #2
0
        private async Task OpenPushMessage(PushMessage pushMessage)
        {
            RootContentViewModel contentViewModel = this;

            if (!contentViewModel.ChangeProfile(pushMessage))
            {
                return;
            }
            contentViewModel.HideSideBar();
            await contentViewModel.NavigateToRootPage();

            if (!await contentViewModel.RefreshDashboard(true))
            {
                return;
            }
            await contentViewModel.NavigateToDetail(pushMessage);
        }
コード例 #3
0
        private async Task DelayedOpenPushMessage(PushMessage pushMessage)
        {
            RootContentViewModel contentViewModel = this;

            try
            {
                TaskAwaiter taskAwaiter1;
                int         num;
                if (contentViewModel.IsViewAppeared)
                {
                    contentViewModel.HideSideBar();
                    contentViewModel.ChangeProfile(pushMessage);
                    if (contentViewModel.IsLoading)
                    {
                        RootContentViewModel.delayedPushMessageToken = contentViewModel._messenger.Subscribe <ProfileSyncMessage>((Action <M0>)(async x => await this.NavigateToDetailPageByPush(pushMessage, x)), (MvxReference)0, (string)null);
                    }
                    else
                    {
                        TaskAwaiter awaiter1 = contentViewModel.NavigateToRootPage().GetAwaiter();
                        if (!awaiter1.IsCompleted)
                        {
                            // ISSUE: explicit reference operation
                            // ISSUE: reference to a compiler-generated field
                            (^ this).\u003C\u003E1__state = num = 0;
                            taskAwaiter1 = awaiter1;
                            // ISSUE: explicit reference operation
                            // ISSUE: reference to a compiler-generated field
                            (^ this).\u003C\u003Et__builder.AwaitUnsafeOnCompleted <TaskAwaiter, RootContentViewModel.\u003CDelayedOpenPushMessage\u003Ed__65>(ref awaiter1, this);
                            return;
                        }
                        awaiter1.GetResult();
                        TaskAwaiter <bool> awaiter2 = contentViewModel.RefreshDashboard(true).GetAwaiter();
                        if (!awaiter2.IsCompleted)
                        {
                            // ISSUE: explicit reference operation
                            // ISSUE: reference to a compiler-generated field
                            (^ this).\u003C\u003E1__state = num = 1;
                            TaskAwaiter <bool> taskAwaiter2 = awaiter2;
                            // ISSUE: explicit reference operation
                            // ISSUE: reference to a compiler-generated field
                            (^ this).\u003C\u003Et__builder.AwaitUnsafeOnCompleted <TaskAwaiter <bool>, RootContentViewModel.\u003CDelayedOpenPushMessage\u003Ed__65>(ref awaiter2, this);
                            return;
                        }
                        if (awaiter2.GetResult())
                        {
                            TaskAwaiter awaiter3 = contentViewModel.NavigateToDetail(pushMessage).GetAwaiter();
                            if (!awaiter3.IsCompleted)
                            {
                                // ISSUE: explicit reference operation
                                // ISSUE: reference to a compiler-generated field
                                (^ this).\u003C\u003E1__state = num = 2;
                                taskAwaiter1 = awaiter3;
                                // ISSUE: explicit reference operation
                                // ISSUE: reference to a compiler-generated field
                                (^ this).\u003C\u003Et__builder.AwaitUnsafeOnCompleted <TaskAwaiter, RootContentViewModel.\u003CDelayedOpenPushMessage\u003Ed__65>(ref awaiter3, this);
                                return;
                            }
                            awaiter3.GetResult();
                        }
                    }
                    contentViewModel.PushMessage = (PushMessage)null;
                }
                else
                {
                    contentViewModel.PushMessage = pushMessage;
                    TaskAwaiter awaiter = contentViewModel.NavigateToRootPage().GetAwaiter();
                    if (!awaiter.IsCompleted)
                    {
                        // ISSUE: explicit reference operation
                        // ISSUE: reference to a compiler-generated field
                        (^ this).\u003C\u003E1__state = num = 3;
                        taskAwaiter1 = awaiter;
                        // ISSUE: explicit reference operation
                        // ISSUE: reference to a compiler-generated field
                        (^ this).\u003C\u003Et__builder.AwaitUnsafeOnCompleted <TaskAwaiter, RootContentViewModel.\u003CDelayedOpenPushMessage\u003Ed__65>(ref awaiter, this);
                        return;
                    }
                    awaiter.GetResult();
                }
            }
            catch (Exception ex)
            {
                // ISSUE: explicit reference operation
                // ISSUE: reference to a compiler-generated field
                (^ this).\u003C\u003E1__state = -2;
                // ISSUE: explicit reference operation
                // ISSUE: reference to a compiler-generated field
                (^ this).\u003C\u003Et__builder.SetException(ex);
                return;
            }
            // ISSUE: explicit reference operation
            // ISSUE: reference to a compiler-generated field
            (^ this).\u003C\u003E1__state = -2;
            // ISSUE: explicit reference operation
            // ISSUE: reference to a compiler-generated field
            (^ this).\u003C\u003Et__builder.SetResult();
        }