Beispiel #1
0
        //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);
            }
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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));
                }
            });
        }