Example #1
0
        /// <summary>
        /// Deletes the entity serverside
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="entity"></param>
        /// <param name="callback"></param>
        /// <returns></returns>
        public void Delete <T>(T entity, Action <Response> callback) where T : class
        {
            if (!IsAuthenticated)
            {
                callback(new Response(new Exception("Not authenticated")));
                return;
            }

            var meta = StorageMetadata.GetMetadata <T>();

            HttpPostAsync("Delete", meta.GetId(entity), callback);
        }
Example #2
0
        /// <summary>
        /// Saves an existing object set server side
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="entities"></param>
        /// <param name="callback"></param>
        /// <returns></returns>
        public void UpdateSet <T>(T[] entities, Action <Response> callback) where T : class
        {
            if (!IsAuthenticated)
            {
                callback(new Response(new Exception("Not authenticated")));
                return;
            }

            var meta = StorageMetadata.GetMetadata <T>();

            var model = entities.Select(o => new StorageRequest
            {
                ObjectId    = meta.GetId(o),
                ObjectScore = float.Parse(meta.GetScore(o)),
                ObjectType  = meta.TableName,
                ObjectData  = JsonSerializer.Serialize(o),
            }).ToArray();

            HttpPostAsync("UpdateSet", model, callback);
        }
Example #3
0
        /// <summary>
        /// Saves an existing object server side
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="entity"></param>
        /// <param name="callback"></param>
        /// <returns></returns>
        public void Update <T>(T entity, Action <Response> callback) where T : class
        {
            if (!IsAuthenticated)
            {
                callback(new Response(new Exception("Not authenticated")));
                return;
            }

            var meta = StorageMetadata.GetMetadata <T>();

            var model = new StorageRequest
            {
                ObjectId    = meta.GetId(entity),
                ObjectScore = float.Parse(meta.GetScore(entity)),
                ObjectType  = meta.TableName,
                ObjectData  = JsonSerializer.Serialize(entity),
                ModifiedOn  = meta.GetModified(entity),
            };

            HttpPostAsync("Update", model, callback);
        }
Example #4
0
        /// <summary>
        /// Reads a collection of objects which match a cloud query.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="query"></param>
        /// <param name="callback"></param>
        /// <returns></returns>
        public void Query <T>(ODataQuery <T> query, Action <Response <T[]> > callback) where T : class
        {
            var meta = StorageMetadata.GetMetadata <T>();

            HttpPostAsync(meta.TableName, query, callback);
        }