예제 #1
0
        public override async Task OnPushCompleteAsync(MobileServicePushCompletionResult result)
        {
            if (result.Status == MobileServicePushStatus.Complete)
            {
                Helpers.PmdAppSetting.LastSuccessfulSync = DateTimeOffset.Now.DateTime;
            }

            if (result.Status == MobileServicePushStatus.CancelledByNetworkError)
            {
                System.Diagnostics.Debug.WriteLine(result.Status);
                await _userNotificationService.DisplayMessage(Strings.Label_Error_SyncError_Title, Strings.Message_Error_SynErrorDueToBadNetwork);
            }

            if (result.Status == MobileServicePushStatus.CancelledByAuthenticationError)
            {
                Helpers.PmdAppSetting.IsProviderAuthenticated = false;
                await _userNotificationService.DisplayMessage(Strings.Label_Error_SyncError_Title, Strings.Message_Error_SyncErrorDueToAuthentication);
            }

            if (result != null && result.Errors.Any())
            {
                await ExecuteConflictPolicyHandlerAsync(result.Errors);
            }
        }