public Task<HttpResponseMessage> Post([FromBody]dynamic body)
        {
            try
            {
                var category = _categoryRepository.Get((int)body.category);
                var product = new Product((string)body.name, (decimal)body.price, (int)body.quantity, category);

                _productRepository.Save(product);
                _uow.Commit();
                return CreateResponse(HttpStatusCode.OK, product);
            }
            catch(InvalidOperationException ex)
            {
                return CreateErrorResponse(HttpStatusCode.InternalServerError,
                    "Ops, algo deu errado",
                    ex.Message);
            }
            catch
            {
                return CreateErrorResponse(HttpStatusCode.InternalServerError,
                    "Ops, algo deu errado",
                    "Falha ao cadastrar produtos");
            }
        }
 public void Save(Product product)
 {
     _context.Products.Add(product);
 }
 public void Update(Product product)
 {
     _context.Entry<Product>(product).State = 
         EntityState.Modified;
 }
Пример #4
0
 public void DeveRetornarErroQuandoCompraForMaiorQueEstoque()
 {
     var product = new Product("Produto 1", 19.90M, 5, new Category("Categoria 1"));
     product.UpdateInventory(35);
 }