public IActionResult Exclusao(int id,                                                   //parametro passado na URL (querystring)
                                      [FromServices] DependenteRepository dependenteRepository) //injeção de dependência
        {
            try
            {
                //buscar o dependente no banco de dados atraves do id
                var dependente = dependenteRepository.ObterPorId(id);

                //verificando o dependente foi encontrado
                if (dependente != null)
                {
                    //excluindo o dependente
                    dependenteRepository.Excluir(dependente);
                    TempData["MensagemSucesso"] = "Dependente excluído com sucesso.";
                }
                else
                {
                    TempData["MensagemErro"] = "Dependente não encontrado.";
                }
            }
            catch (Exception e)
            {
                TempData["MensagemErro"] = "Erro: " + e.Message;
            }

            //redirecionamento
            return(RedirectToAction("Consulta"));
        }
        public IActionResult Edicao(int id,                                                   //parametro passado pela URL (querystring)
                                    [FromServices] FuncionarioRepository funcionarioRepository,
                                    [FromServices] DependenteRepository dependenteRepository) //injeção de dependência
        {
            var model = new DependenteEdicaoModel();

            try
            {
                //buscar o dependente no banco de dados atraves do id
                var dependente = dependenteRepository.ObterPorId(id);

                //verificar se o funcionário foi encontrado
                if (dependente != null)
                {
                    model.IdDependente        = dependente.IdDependente;
                    model.Nome                = dependente.Nome;
                    model.DataNascimento      = dependente.DataNascimento.ToString("dd/MM/yyyy");
                    model.IdFuncionario       = dependente.IdFuncionario.ToString();
                    model.ListaDeFuncionarios = ObterListaDeFuncionarios(funcionarioRepository);
                }
                else
                {
                    TempData["MensagemErro"] = "Dependente não foi encontrado.";
                }
            }
            catch (Exception e)
            {
                TempData["Mensagem"] = "Erro: " + e.Message;
            }

            //enviando o objeto para a página
            return(View(model));
        }
        public HttpResponseMessage Delete(int id)
        {
            try
            {
                DependenteRepository repository = new DependenteRepository();
                Dependente           dependente = repository.ObterPorId(id);

                //excluindo
                repository.Excluir(dependente);

                return(Request.CreateResponse(HttpStatusCode.OK, "Dependente excluído com sucesso."));
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message));
            }
        }