in Storage/DynamoDb/SampleApplication/Controllers/ObjectPersistence/ProductsController.cs [87:114]
public async Task<IActionResult> Update([FromBody] Product product, string productId, string publishedOn)
{
var db = await _dbContextBuilder.Build();
try
{
var checkForProduct = await db.LoadAsync<Product>(productId, publishedOn);
if (checkForProduct == null) return NotFound();
product.ProductId = productId;
product.PublishOn = publishedOn;
await db.SaveAsync<Product>(product,
new DynamoDBOperationConfig { SkipVersionCheck = true, IgnoreNullValues = true });
var updatedProduct = await db.LoadAsync<Product>(productId, publishedOn);
return Ok(updatedProduct);
}
catch (AmazonDynamoDBException addbe)
{
return AmazonExceptionHandlers.HandleAmazonDynamoDBException(addbe);
}
catch (AmazonServiceException ase)
{
AmazonExceptionHandlers.HandleAmazonServiceExceptionException(ase);
}
catch (AmazonClientException ace)
{
AmazonExceptionHandlers.HandleAmazonClientExceptionException(ace);
}
return StatusCode(500);
}