Пример #1
0
        private IList <T> LoadRelationsImpl <T>(string parentType, string objectId, LoadRelationsQueryBuilder <T> queryBuilder, AsyncCallback <IList <T> > responder)
        {
            if (string.IsNullOrEmpty(objectId))
            {
                if (responder != null)
                {
                    responder.ErrorHandler(new BackendlessFault(ExceptionMessage.NULL_ID));
                }
                else
                {
                    throw new ArgumentNullException(ExceptionMessage.NULL_ID);
                }
            }

            if (queryBuilder == null)
            {
                String error = "Cannot execute load relations request. The queryBuilder argument must not be null";

                if (responder != null)
                {
                    responder.ErrorHandler(new BackendlessFault(error));
                }
                else
                {
                    throw new ArgumentNullException(error);
                }
            }

            BackendlessDataQuery dataQuery = queryBuilder.Build();
            String relationName            = dataQuery.QueryOptions.Related[0];
            int    pageSize = dataQuery.PageSize;
            int    offset   = dataQuery.Offset;

            AddWeborbPropertyMapping <T>();
            Object[] args = new Object[] { parentType, objectId, relationName, pageSize, offset };

            if (responder == null)
            {
                return((IList <T>)Invoker.InvokeSync <IList <T> >(PERSISTENCE_MANAGER_SERVER_ALIAS, "loadRelations", args, true));
            }
            else
            {
                Invoker.InvokeAsync <IList <T> >(PERSISTENCE_MANAGER_SERVER_ALIAS, "loadRelations", args, true, responder);
                return(null);
            }
        }
Пример #2
0
 public void LoadRelations <M>(String objectId, LoadRelationsQueryBuilder <M> queryBuilder,
                               AsyncCallback <IList <M> > responder)
 {
     Backendless.Persistence.LoadRelations <M>(tableName, objectId, queryBuilder, responder);
 }
Пример #3
0
 public async Task <IList <M> > LoadRelationsAsync <M>(String objectId, LoadRelationsQueryBuilder <M> queryBuilder)
 {
     return(await Task.Run(() => LoadRelations( objectId, queryBuilder )).ConfigureAwait(false));
 }
Пример #4
0
 public IList <M> LoadRelations <M>(String objectId, LoadRelationsQueryBuilder <M> queryBuilder)
 {
     return(Backendless.Persistence.LoadRelations <M>(tableName, objectId, queryBuilder));
 }
Пример #5
0
 public void LoadRelations <M>(String objectId, LoadRelationsQueryBuilder <M> queryBuilder,
                               AsyncCallback <IList <M> > responder)
 {
     Backendless.Persistence.LoadRelations(PersistenceService.GetTypeName(typeof(T)), objectId, queryBuilder,
                                           responder);
 }
Пример #6
0
 public IList <M> LoadRelations <M>(String objectId, LoadRelationsQueryBuilder <M> queryBuilder)
 {
     return(Backendless.Persistence.LoadRelations(PersistenceService.GetTypeName(typeof(T)), objectId,
                                                  queryBuilder));
 }
Пример #7
0
 internal void LoadRelations <T>(string parentType, string objectId, LoadRelationsQueryBuilder <T> queryBuilder, AsyncCallback <IList <T> > responder)
 {
     LoadRelationsImpl(parentType, objectId, queryBuilder, responder);
 }
Пример #8
0
 internal IList <T> LoadRelations <T>(string parentType, string objectId, LoadRelationsQueryBuilder <T> queryBuilder)
 {
     return(LoadRelationsImpl(parentType, objectId, queryBuilder, null));
 }
Пример #9
0
        public void FooTest()
        {
            var address = new Address()
            {
                Street = "myStreet"
            };
            var person = new Person()
            {
                Address = address, Name = "Bob"
            };

            var savedPerson = Backendless.Persistence.Save(person);
            var foundPerson = Backendless.Persistence.Of <Person>().FindById(person.ObjectId);

            Backendless.Persistence.Of <Person>().LoadRelations(foundPerson.ObjectId, LoadRelationsQueryBuilder <Person> .Create().SetRelationName("Address"));
            var foundPerson1 = Backendless.Persistence.Of <Person>().FindById(person.ObjectId, new List <string>()
            {
                "Address"
            });
        }