private async Task <Negotiator> AddProductAsync(dynamic args) { try { Product product = ProductBuilder(args); var result = await _repository.AddProductAsync(product); if (result) { return(Negotiate.WithModel(product).WithStatusCode(HttpStatusCode.OK)); } var errorMessage = new ErrorMessage { Message = "Error adding item" }; return(Negotiate.WithModel(errorMessage).WithStatusCode(HttpStatusCode.BadRequest)); } catch (Exception ex) { _logger.Debug(ex.Message); var errorMessage = new ErrorMessage { Message = "InternalServerError" }; return(Negotiate.WithModel(errorMessage).WithStatusCode(HttpStatusCode.InternalServerError)); } }