public IHttpActionResult PostProduct(Product product)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            //Não deverá permitir a inclusão de um produto  com  o
            //código  e/ou  o  modelo  com  um  valor  que  já  exista  na tabela
            var productsCode = db.Products.Where(p => (p.codigo == product.codigo || p.modelo == product.modelo));
            List<Product> productsRes = productsCode.ToList();
            if (productsRes.Count > 0)
            {
                foreach (Product prod in productsRes)
                {
                    if (prod.codigo == product.codigo)
                        return BadRequest("Erro: O codigo informado já existe: " + product.codigo);
                    else if (prod.modelo == product.modelo)
                        return BadRequest("Erro: O modelo informado já existe: " + product.modelo);

                }

            }

            db.Products.Add(product);
            db.SaveChanges();

            return CreatedAtRoute("DefaultApi", new { id = product.Id }, product);
        }
        public IHttpActionResult PutProduct(int id, Product product)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != product.Id)
            {
                return BadRequest("O id informado não corresponde ao id do modelo.");
            }

            //Não deverá permitir a alteração do código e/ou do modelo
            //para um valor que já exista na tabela
            var productsCode = db.Products.Where(p => (p.codigo == product.codigo || p.modelo == product.modelo) && p.Id != id);
            List<Product> productsRes = productsCode.ToList();
            if (productsRes.Count > 0)
            {
                foreach (Product prod in productsRes)
                {
                    if (prod.codigo == product.codigo)
                        return BadRequest("Erro: O codigo informado já existe: " + product.codigo);
                    else if (prod.modelo == product.modelo)
                        return BadRequest("Erro: O modelo informado já existe: " + product.modelo);

                }

            }

            db.Entry(product).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProductExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            Product productUpdated = db.Products.Find(id);

            return Ok(productUpdated);
        }