public async Task <IActionResult> Edit(int id, Funcionario funcionario) { if (!ModelState.IsValid) { var departamentos = await _funcionarioService.FindAllDep(); var viewModel = new FuncionarioFormViewModel { Funcionario = funcionario, Departamentos = departamentos }; return(View(viewModel)); } if (id != funcionario.Id) { return(RedirectToAction(nameof(Error), new { message = "Id não correspondem" })); } try { await _funcionarioService.AtualizarFunc(funcionario); return(RedirectToAction(nameof(Index))); } catch (NotFoundException e) { return(RedirectToAction(nameof(Error), new { message = e.Message })); } catch (DbConcurrencyException e) { return(RedirectToAction(nameof(Error), new { message = e.Message })); } }