Exemplo n.º 1
0
        public void UpdateResource(string token, DSResource resource)
        {
            if (resource == null)
            {
                throw new ArgumentException("resource must be specified");
            }
            if (!resource.ContainsKey("ObjectID"))
            {
                throw new ArgumentException("resource object id must be specified");
            }

            ResourceManagementClient client = Utiles.GetClient(repoCache, token);

            //ResourceObject ro =
            //    client.CreateResourceTemplateForUpdate(resource.ObjectType, new UniqueIdentifier(resource.ObjectID));

            ResourceObject ro = client.GetResource(resource.ObjectID, resource.Keys);

            Utiles.BuildResourceObject(resource, ref ro);

            try
            {
                ro.Save();
            }
            catch (AuthorizationRequiredException e)
            {
                throw new AuthZRequiredException(e.Message);
            }
        }