Exemplo n.º 1
0
        public async Task<CyanEntity> Merge(CyanEntity cyanEntity, bool unconditionalUpdate = false)
        {
            var partition = cyanEntity.PartitionKey;
            var row = cyanEntity.RowKey;
            var eTag = cyanEntity.ETag;

            var document = cyanEntity.Serialize();
            var resource = FormatResource(partition, row);

            var response =
                await RestClient.MergeRequest(resource, document.ToString(), unconditionalUpdate ? "*" : eTag).ConfigureAwait(false);

            string newETag;
            if (response.Headers.TryGetValue("ETag", out newETag))
                cyanEntity.ETag = HttpUtility.UrlDecode(newETag);

            response.ThrowIfFailed();

            return cyanEntity;
        }
Exemplo n.º 2
0
 public async Task<CyanEntity> Insert(CyanEntity cyanEntity)
 {
     var document = cyanEntity.Serialize();
     var response = await RestClient.PostRequest(TableName, document.ToString()).ConfigureAwait(false);
     response.ThrowIfFailed();
     return CyanSerializer.DeserializeEntity(response.ResponseBody.Root);
 }