コード例 #1
0
        internal async Task <User> GetCurrentUserFromSoql(SyncManager syncManager)
        {
            User   currentUser = new NullUser();
            JArray results;

            try
            {
                var target = new SoqlSyncDownTarget(SoqlQuery);
                if (target.hasTokenExpired())
                {
                    //logout
                    await ObjectSyncDispatcher.Instance.RefreshToken();

                    return(currentUser);
                }
                results = await target.StartFetch(syncManager, -1);
            }
            catch
            {
                UseAlternativeFields = true;
                var target = new SoqlSyncDownTarget(SoqlQuery);
                results = await target.StartFetch(syncManager, -1);
            }

            var curUser = results?.Select(x => CustomPrefixJsonConvert.DeserializeObject <User>(x.ToString())).SingleOrDefault();

            return(curUser ?? currentUser);
        }
コード例 #2
0
        /// <summary>
        /// Get content documents from sfdc
        /// </summary>
        internal async Task <IList <Model.Models.ContentDocument> > GetFromSoql(SyncManager syncManager)
        {
            var results = new List <Model.Models.ContentDocument>();
            var target  = new SoqlSyncDownTarget(SoqlQuery);

            var page = await target.StartFetch(syncManager, -1);

            while (page != null && page.Count > 0)
            {
                results.AddRange(page.Select(x => x.ToObject <Model.Models.ContentDocument>()).ToList());
                page = await target.ContinueFetch(syncManager);
            }
            return(results);
        }
コード例 #3
0
ファイル: MobileAppConfig.cs プロジェクト: hunsakerjeff/mcdsa
        internal async Task <IList <Model.Models.MobileAppConfig> > GetFromSoql(SyncManager syncManager)
        {
            List <Model.Models.MobileAppConfig> results = new List <Model.Models.MobileAppConfig>();
            var target = new SoqlSyncDownTarget(SoqlQuery);

            // Sync to JSON
            var _results = await target.StartFetch(syncManager, -1);

            while (_results != null && _results.Count > 0)
            {
                results.AddRange(_results.Select(x => x.ToObject <Model.Models.MobileAppConfig>()).ToList());
                _results = await target.ContinueFetch(syncManager);
            }
            return(results);
        }