public async Task <ActionResult <ProductItemResult> > PostProduct(ProductItem product) { ProductItemResult result = new ProductItemResult(); try { var item = await _products.CreateAsync(product); result.IsSuccessful = true; result.ResultData.Add(item); } catch (ItemAlreadyExistsException e) { result.IsSuccessful = false; result.ErrorMessages.Add(e.Message); _logger?.LogError(e, "Error"); return(Conflict(result)); } catch (Exception e) { _logger?.LogDebug($"Unknown error", e); throw e; } return(Created("", result)); }