public IActionResult Delete(int id, PesquisaExameViewModel pesquisaExame, IFormCollection collection)
        {
            var exame = _exameContext.GetById(id);

            try
            {
                _exameContext.Delete(id);

                var situacoes               = _situacaoPessoaContext.GetByIdPaciente(exame.Paciente.Idpessoa);
                var exames                  = _exameContext.GetByIdPaciente(exame.Paciente.Idpessoa);
                var pessoaTrabalhaEstado    = _pessoaTrabalhaEstadoContext.GetByIdPessoa(exame.Paciente.Idpessoa);
                var pessoaTrabalhaMunicipio = _pessoaTrabalhaMunicipioContext.GetByIdPessoa(exame.Paciente.Idpessoa);
                var examesPaciente          = _exameContext.GetByIdPaciente(exame.Paciente.Idpessoa);
                var examesNotificados       = _exameContext.GetByIdAgente(exame.Paciente.Idpessoa, DateTime.MinValue, DateTime.MaxValue);
                if (situacoes.Count == 1 && pessoaTrabalhaEstado == null && pessoaTrabalhaMunicipio == null &&
                    examesPaciente.Count == 0 && examesNotificados.Count == 0)
                {
                    var situacao = situacoes.First();
                    _situacaoPessoaContext.Delete(situacao.Idpessoa, situacao.IdVirusBacteria);
                    _pessoaContext.Delete(exame.Paciente.Idpessoa);
                }
            }
            catch
            {
                TempData["mensagemErro"] = "Houve problemas na exclusão do exame. Tente novamente em alguns minutos." +
                                           " Se o erro persistir, entre em contato com a Fábrica de Software da UFS pelo email [email protected]";
                return(RedirectToAction("Index", "Exame", pesquisaExame));
            }

            TempData["mensagemSucesso"] = "O Exame foi removido com sucesso!";
            return(RedirectToAction("Index", "Exame", pesquisaExame));
        }