public async Task Create()

in Storage/DynamoDb/SampleApplication/Controllers/Document/ProductsController.cs [48:85]


        public async Task<IActionResult> Create([FromBody] Amazon.DynamoDBv2.DocumentModel.Document product)
        {
            var table = await _dbTableBuilder.Build();
            try
            {
                Console.WriteLine(product["DocumentProductId"]);
                Console.WriteLine(product["PublishOn"]);

                await table.PutItemAsync(product);
                var productId = product["DocumentProductId"].AsString();
                return new JsonResult(
                    new
                    {
                        message = $"Created new product: {productId}",
                        product = product.ToJson()
                    })
                { StatusCode = 201 };
            }
            catch (AmazonDynamoDBException addbe)
            {
                if (addbe.ErrorCode == "ConditionalCheckFailedException") return new JsonResult(
                     new
                     {
                         message = $"Product {product["DocumentProductId"]} already exists"
                     })
                { StatusCode = 409 };
                return AmazonExceptionHandlers.HandleAmazonDynamoDBException(addbe);
            }
            catch (AmazonServiceException ase)
            {
                AmazonExceptionHandlers.HandleAmazonServiceExceptionException(ase);
            }
            catch (AmazonClientException ace)
            {
                AmazonExceptionHandlers.HandleAmazonClientExceptionException(ace);
            }
            return StatusCode(500);
        }