in Storage/DynamoDb/SampleApplication/Controllers/ObjectPersistence/ProductsController.cs [50:85]
public async Task<IActionResult> Create([FromBody] Product product)
{
var db = await _dbContextBuilder.Build();
try
{
Console.WriteLine(product.ProductId);
Console.WriteLine(product.PublishOn);
await db.SaveAsync<Product>(product);
return new JsonResult(
new
{
message = $"Created new product: {product.ProductId}",
product = product
})
{ StatusCode = 201 };
}
catch (AmazonDynamoDBException addbe)
{
if (addbe.ErrorCode == "ConditionalCheckFailedException") return new JsonResult(
new
{
message = $"Product {product.ProductId} already exists"
})
{ StatusCode = 409 };
return AmazonExceptionHandlers.HandleAmazonDynamoDBException(addbe);
}
catch (AmazonServiceException ase)
{
AmazonExceptionHandlers.HandleAmazonServiceExceptionException(ase);
}
catch (AmazonClientException ace)
{
AmazonExceptionHandlers.HandleAmazonClientExceptionException(ace);
}
return StatusCode(500);
}