Exemple #1
0
 //--- 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);
 }
Exemple #2
0
        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));
        }
Exemple #3
0
 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));
        }
Exemple #5
0
        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));
        }
Exemple #6
0
        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));
        }