public IDictionary<string, object> InsertRow(IDictionary<string, object> row) { ThrowIfMissing(row, "PartitionKey", "RowKey"); var entry = DataServicesHelper.CreateDataElement(row); var request = _azureHelper.CreateTableRequest(_tableName, POST, entry.ToString()); string text = string.Empty; if (_autoCreate) { try { text = new RequestRunner().Request(request); } catch (TableServiceException ex) { if (ex.Code == "TableNotFound") { Trace.WriteLine("Auto-creating table"); new TableService(_azureHelper).CreateTable(_tableName); request = _azureHelper.CreateTableRequest(_tableName, POST, entry.ToString()); text = new RequestRunner().Request(request); } } } else { text = new RequestRunner().Request(request); } return DataServicesHelper.GetData(text).First(); }
private IEnumerable<IDictionary<string, object>> Get(string url) { IEnumerable<IDictionary<string, object>> result; var request = _azureHelper.CreateTableRequest(url, GET); using (var response = new RequestRunner().TryRequest(request)) { Trace.WriteLine(response.StatusCode, "HttpResponse"); if (response.StatusCode != HttpStatusCode.OK) { result = Enumerable.Empty<IDictionary<string, object>>(); } else { result = DataServicesHelper.GetData(response.GetResponseStream()); } } return result; }