Example #1
0
        private async Task <bool> NeedsToSyncAsync()
        {
            DateTime?lastSync = _settings.GetValueOrDefault <DateTime?>(Constants.LastSync, null);

            if (!lastSync.HasValue)
            {
                return(true);
            }

            var accountRevisionDate = await _accountsApiRepository.GetAccountRevisionDateAsync();

            if (accountRevisionDate.Succeeded && accountRevisionDate.Result.HasValue &&
                accountRevisionDate.Result.Value > lastSync)
            {
                return(true);
            }

            if (Application.Current != null && (accountRevisionDate.StatusCode == System.Net.HttpStatusCode.Forbidden ||
                                                accountRevisionDate.StatusCode == System.Net.HttpStatusCode.Unauthorized))
            {
                MessagingCenter.Send(Application.Current, "Logout", (string)null);
            }

            return(false);
        }
Example #2
0
        private async Task <bool> NeedsToSyncAsync()
        {
            if (!_settings.Contains(Constants.LastSync))
            {
                return(true);
            }
            var lastSync = _settings.GetValueOrDefault(Constants.LastSync, DateTime.MinValue);

            var accountRevisionDate = await _accountsApiRepository.GetAccountRevisionDateAsync();

            if (accountRevisionDate.Succeeded && accountRevisionDate.Result.HasValue &&
                accountRevisionDate.Result.Value > lastSync)
            {
                return(true);
            }

            if (Application.Current != null && (accountRevisionDate.StatusCode == System.Net.HttpStatusCode.Forbidden ||
                                                accountRevisionDate.StatusCode == System.Net.HttpStatusCode.Unauthorized))
            {
                _authService.LogOut();
            }

            return(false);
        }