public async Task<IHttpActionResult> PostFuncionario(Funcionario Funcionario) { //if (!ModelState.IsValid) //{ // return BadRequest(ModelState); //} if (FuncionarioExists(Funcionario.Id)) { var funcionario = _db.Funcionarios.Find(Funcionario.Id); var departamento = _db.Projetos.Find(Funcionario.Projeto.Id); if(departamento != null) { funcionario.Projeto = departamento; } funcionario.Cargo = Funcionario.Cargo; funcionario.Email = Funcionario.Email; funcionario.Idade = Funcionario.Idade; funcionario.Nome = Funcionario.Nome; //_db.Funcionarios.Attach(Funcionario); _db.Entry(funcionario).State = EntityState.Modified; } else { _db.Funcionarios.Add(Funcionario); } await _db.SaveChangesAsync(); return CreatedAtRoute("DefaultApi", new { id = Funcionario.Id }, Funcionario); }
private bool Exists(Funcionario entity) { return _db.Funcionarios.Contains(entity); }
public async Task<IHttpActionResult> PutFuncionario(int id, Funcionario Funcionario) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != Funcionario.Id) { return BadRequest(); } _db.Entry(Funcionario).State = EntityState.Modified; try { await _db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FuncionarioExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }