//--- Methods --- public IDynamoTableBatchWriteItems PutItem <TRecord>(TRecord record, DynamoPrimaryKey <TRecord> primaryKey) where TRecord : class { _request.RequestItems.First().Value.Add(new WriteRequest { PutRequest = new PutRequest { Item = _table.SerializeItem(record, primaryKey) } }); return(this); }
public IDynamoTableBatchWriteItemsPutItem <TRecord> BeginPutItem <TRecord>(DynamoPrimaryKey <TRecord> primaryKey, TRecord record) where TRecord : class { var putRequest = new PutRequest { Item = _table.SerializeItem(record, primaryKey) }; _request.RequestItems.First().Value.Add(new WriteRequest { PutRequest = putRequest }); return(new DynamoTableBatchWriteItemsPutItem <TRecord>(this, putRequest)); }
public IDynamoTableBatchWriteItems DeleteItem <TRecord>(DynamoPrimaryKey <TRecord> primaryKey) where TRecord : class { _request.RequestItems.First().Value.Add(new WriteRequest { DeleteRequest = new DeleteRequest { Key = new Dictionary <string, AttributeValue> { [primaryKey.PKName] = new AttributeValue(primaryKey.PKValue), [primaryKey.SKName] = new AttributeValue(primaryKey.SKValue) } } }); return(this); }
//--- Methods --- public IDynamoTableTransactGetItemsBegin <TRecord> BeginGetItem <TRecord>(DynamoPrimaryKey <TRecord> primaryKey, bool consistentRead = false) where TRecord : class { // transaction GetItem var transactGetItem = new TransactGetItem { Get = new Get { TableName = _table.TableName, Key = new Dictionary <string, AttributeValue> { [primaryKey.PKName] = new AttributeValue(primaryKey.PKValue), [primaryKey.SKName] = new AttributeValue(primaryKey.SKValue) } } }; _request.TransactItems.Add(transactGetItem); // add expressions converter var converter = new DynamoRequestConverter(transactGetItem.Get.ExpressionAttributeNames, _table.SerializerOptions); _converters.Add(converter); // register expected type converter.AddExpectedType(typeof(TRecord)); return(new DynamoTableTransactGetItemsEntry <TRecord>(this, converter)); }
public IDynamoTableTransactWriteItemsUpdateItem <TRecord> BeginUpdateItem <TRecord>(DynamoPrimaryKey <TRecord> primaryKey) where TRecord : class { var transactWriteItem = new TransactWriteItem { Update = new Update { TableName = _table.TableName, Key = new Dictionary <string, AttributeValue> { [primaryKey.PKName] = new AttributeValue(primaryKey.PKValue), [primaryKey.SKName] = new AttributeValue(primaryKey.SKValue) } } }; _request.TransactItems.Add(transactWriteItem); var converter = new DynamoRequestConverter(transactWriteItem.Update.ExpressionAttributeNames, transactWriteItem.Update.ExpressionAttributeValues, _table.SerializerOptions); return(new DynamoTableTransactWriteItemsUpdateItem <TRecord>(this, transactWriteItem.Update, converter)); }
public IDynamoTableTransactWriteItemsPutItem <TRecord> BeginPutItem <TRecord>(DynamoPrimaryKey <TRecord> primaryKey, TRecord record) where TRecord : class { var transactWriteItem = new TransactWriteItem { Put = new Put { TableName = _table.TableName, Item = _table.SerializeItem(record, primaryKey), } }; _request.TransactItems.Add(transactWriteItem); var converter = new DynamoRequestConverter(transactWriteItem.Put.ExpressionAttributeNames, transactWriteItem.Put.ExpressionAttributeValues, _table.SerializerOptions); return(new DynamoTableTransactWriteItemsPutItem <TRecord>(this, transactWriteItem.Put, converter)); }