internal void InsertEntity(string tableName, AzureEntity entity) { Validate .Begin() .IsNotNull(entity) .Check(); var entry = entity.AsATOMEntry(); var request = GenerateRequest("POST", tableName, null, entry); using (var response = (HttpWebResponse)request.GetResponse(false)) { switch (response.StatusCode) { case HttpStatusCode.Created: // SUCCESS return; case HttpStatusCode.Conflict: // already exists throw new EntityAlreadyExistsException(); default: var dataStream = response.GetResponseStream(); using (var reader = new StreamReader(dataStream)) { var doc = XDocument.Load(reader); throw new StorageException(response.StatusCode, doc); } } } }
public void InsertOrReplaceEntity(string tableName, AzureEntity entity, bool setIfMatchHeader) { Validate .Begin() .ParameterIsNotNull(tableName, "tableName") .ParameterIsNotNull(entity, "entity") .Check(); var entry = entity.AsATOMEntry(); var request = GenerateRequest( "PUT", string.Format("{0}(PartitionKey='{1}',RowKey='{2}')", tableName, entity.PartitionKey, entity.RowKey), null, entry); if (setIfMatchHeader) { request.Headers.Add("If-Match", "*"); } using (var response = (HttpWebResponse)request.GetResponse()) { switch (response.StatusCode) { case HttpStatusCode.NoContent: // SUCCESS return; default: var dataStream = response.GetResponseStream(); using (var reader = new StreamReader(dataStream)) { var doc = XDocument.Load(reader); throw new StorageException(response.StatusCode, doc); } } } }