Beispiel #1
0
        /// <summary>
        /// Saves a new object serverside. Includes write protection (AVL).
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="entity"></param>
        /// <param name="acl">protection group</param>
        /// <param name="param">User name</param>
        /// <returns></returns>
        public UnityTask Create <T>(T entity, StorageACL acl, string param) where T : class
        {
            var task = new UnityTask(TaskStrategy.Custom);

            Create(entity, acl, param, task.FromResponse());
            return(task);
        }
Beispiel #2
0
        /// <summary>
        /// Saves a new object server side. Includes write protection (AVL).
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="entity"></param>
        /// <param name="acl">protection group</param>
        /// <param name="param">User name</param>
        /// <param name="callback"></param>
        /// <returns></returns>
        public void Create <T>(T entity, StorageACL acl, string param, 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),
                AclParam    = param,
                AclType     = (StorageACLType)acl,
                ModifiedOn  = meta.GetModified(entity),
            };

            HttpPostAsync("Create", model, callback);
        }