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); }
/// <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); }
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); }