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