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)); }
public ActionResult Delete(string entidade, int idPessoa) { var agenteEstado = _pessoaTrabalhaEstadoService.GetByIdPessoa(idPessoa); var agenteMunicipio = _pessoaTrabalhaMunicipioService.GetByIdPessoa(idPessoa); if (agenteEstado != null) { _pessoaTrabalhaEstadoService.Delete(idPessoa); } if (agenteMunicipio != null) { _pessoaTrabalhaMunicipioService.Delete(idPessoa); } var exames = _exameService.GetByIdPaciente(idPessoa); if (exames.Count() == 0) { var examesRealizados = _exameService.GetByIdAgente(idPessoa, DateTime.MinValue, DateTime.MaxValue); var usuario = _usuarioService.GetByIdPessoa(idPessoa); if (usuario != null && examesRealizados.Count() == 0) { _recuperarSenhaService.DeleteByUser(usuario.IdUsuario); _usuarioService.Delete(usuario.IdUsuario); } _pessoaService.Delete(idPessoa); } else { var usuario = _usuarioService.GetByIdPessoa(idPessoa); usuario.TipoUsuario = 0; _usuarioService.Update(usuario); } int responsavel; if (entidade.Equals("Agente")) { responsavel = 0; } else { responsavel = 1; } TempData["responseOp"] = entidade + " excluído com sucesso!"; return(RedirectToAction(nameof(IndexApproveAgent), new { ehResponsavel = responsavel })); }