//Download page logic private object DownloadPage(int pageSize, int offset) { IBackendlessQuery tempQuery = Query.NewInstance(); tempQuery.Offset = offset; tempQuery.PageSize = pageSize; if (typeof(T) == typeof(GeoPoint)) { return(Backendless.Geo.GetPoints((BackendlessGeoQuery)tempQuery)); } else { return(Backendless.Persistence.Find <T>((BackendlessDataQuery)tempQuery)); } }
public static void CheckPageSizeAndOffset(IBackendlessQuery dataQuery) { if (dataQuery == null) { return; } if (dataQuery.Offset < 0) { throw new ArgumentException(ExceptionMessage.WRONG_OFFSET); } if (dataQuery.PageSize < 0) { throw new ArgumentException(ExceptionMessage.WRONG_PAGE_SIZE); } }
public void Setup() { _pushService = Substitute.For <IPushService>(); _pullService = Substitute.For <IPullService>(); _persistenceContextFactory = Substitute.For <IPersistenceContextFactory>(); _queryProvider = Substitute.For <IBackendlessQueryProvider>(); _query = Substitute.For <IBackendlessQuery>(); _queryProvider.Where().Returns(_query); _pullService.Pull <Assessment>().ReturnsForAnyArgs(Task.FromResult(new UpdateResult <Assessment>())); _pullService.Pull <AssessmentAttribute>().ReturnsForAnyArgs(Task.FromResult(new UpdateResult <AssessmentAttribute>())); _user = new User { Token = "blah", ObjectId = "xyz" }; _query.OwnedBy(_user.ObjectId).IsActive().Returns(_query); _syncService = new AttributedItemSyncService <Assessment, AssessmentAttribute>(_pushService, _pullService, _queryProvider, _persistenceContextFactory); }
private void DownloadPage(int pageSize, int offset, AsyncCallback <BackendlessCollection <T> > responder) { IBackendlessQuery tempQuery = Query.NewInstance(); tempQuery.Offset = offset; tempQuery.PageSize = pageSize; ThreadPool.QueueUserWorkItem(state => { try { responder.ResponseHandler.Invoke((BackendlessCollection <T>)DownloadPage(pageSize, offset)); } catch (BackendlessException e) { responder.ErrorHandler.Invoke(e.BackendlessFault); } catch (System.Exception e) { responder.ErrorHandler.Invoke(new BackendlessFault(e.Message)); } }); }