/// <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); }
/// <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); }