Exemple #1
0
        public IActionResult Cadastrar(TriagemLaboratorial triagemLaboratorial)
        {
            ModelState.Remove("Doacao.Doador.Cpf");
            ModelState.Remove("Doacao.Doador.NomeCompleto");
            ModelState.Remove("Doacao.Doador.Genero");
            ModelState.Remove("Doacao.Doador.EstadoCivil");

            if (ModelState.IsValid)
            {
                Doacao doacao = _doacaoDAO.BuscarDoacaoPorId(triagemLaboratorial.Doacao.IdDoacao);
                Doador doador = _doadorDAO.BuscarDoadorPorId(doacao.Doador.IdDoador);

                doacao.TriagemLaboratorial     = AtualizarTriagemLaboratorial(doacao, triagemLaboratorial);
                doacao.ImpedimentosDefinitivos = AtualizarImpedimentosDefinitivos(doacao, triagemLaboratorial);
                doador = AtualizarDadosDoSangue(doacao.Doador, triagemLaboratorial.Doacao.Doador);
                doacao.StatusDoacao = GetStatusDoacao(doacao);

                _doacaoDAO.AlterarDoacao(doacao);

                FileStreamResult stream = contruirPdf(doacao);
                return(stream);
                // TODO: [FEEDBACK] - Mostrar mensagem de sucesso.
                //return RedirectToAction("perfil", "doacao", new RouteValueDictionary { { "id", doacao.IdDoacao } });
            }
            ViewBag.idDoacao = triagemLaboratorial.Doacao.Doador.IdDoador;
            return(View());
        }
Exemple #2
0
 private StatusTriagem GetStatusExameLaboratorial(TriagemLaboratorial triagemLaboratorial, ImpedimentosDefinitivos impedimentosDefinitivos)
 {
     if (impedimentosDefinitivos.AntecedenteAvc == true ||
         triagemLaboratorial.HepatiteB == true ||
         triagemLaboratorial.HepatiteC == true ||
         triagemLaboratorial.Hiv == true)
     {
         return(StatusTriagem.Reprovado);
     }
     return(StatusTriagem.Aprovado);
 }
Exemple #3
0
        private TriagemLaboratorial AtualizarTriagemLaboratorial(Doacao doacao, TriagemLaboratorial triagemLaboratorial)
        {
            TriagemLaboratorial retornoTriagemLaboratorial = doacao.TriagemLaboratorial;

            retornoTriagemLaboratorial.HepatiteB     = triagemLaboratorial.HepatiteB;
            retornoTriagemLaboratorial.HepatiteC     = triagemLaboratorial.HepatiteC;
            retornoTriagemLaboratorial.Hiv           = triagemLaboratorial.Hiv;
            retornoTriagemLaboratorial.StatusTriagem = GetStatusExameLaboratorial(triagemLaboratorial, doacao.ImpedimentosDefinitivos);

            return(retornoTriagemLaboratorial);
        }
Exemple #4
0
        public IActionResult Cadastrar(Doacao doacao)
        {
            ModelState.Remove("Doador.Cpf");
            ModelState.Remove("Doador.NomeCompleto");
            ModelState.Remove("Doador.Genero");
            ModelState.Remove("Doador.EstadoCivil");
            ModelState.Remove("Doador.TipoSanguineo");
            ModelState.Remove("Doador.FatorRh");

            if (ModelState.IsValid)
            {
                DateTime dataHoje = DateTime.Now;
                Doador   doador   = _doadorDAO.BuscarDoadorPorId(doacao.Doador.IdDoador);
                doador.UltimaDoacao = dataHoje;

                // Informações do formulário.
                ImpedimentosDefinitivos impedimentosDefinitivos = CriarImpedimentosDefinitivos(doacao);
                ImpedimentosTemporarios impedimentosTemporarios = CriarImpedimentosTemporarios(doacao);
                TriagemClinica          triagemClinica          = CriarTriagemClinica(doacao);

                // Informações que serão preenchidas após recebimento do exame laboratorial.
                TriagemLaboratorial triagemLaboratorial = new TriagemLaboratorial {
                };

                doacao = CriarDoacao(impedimentosTemporarios, triagemClinica, impedimentosDefinitivos, triagemLaboratorial, doador, triador, dataHoje);

                int idDoacao = _doacaoDAO.CadastrarDoacao(doacao);

                // TODO: [FEEDBACK] - Mostrar mensagem de sucesso.
                return(RedirectToAction("perfil", new RouteValueDictionary {
                    { "id", idDoacao }
                }));
            }

            ViewBag.idDoador = doacao.Doador.IdDoador;
            return(View(doacao));
        }
Exemple #5
0
 public bool VerificarDoacoesPorStatusTriagemLaboratorial(TriagemLaboratorial t)
 {
     return(_context.Doacoes.Any(x => x.TriagemLaboratorial.StatusTriagem == t.StatusTriagem));
 }
Exemple #6
0
 private Doacao CriarDoacao(ImpedimentosTemporarios impedimentosTemporarios, TriagemClinica triagemClinica, ImpedimentosDefinitivos impedimentosDefinitivos, TriagemLaboratorial triagemLaboratorial, Doador doador, Triador triador, DateTime dataHoje)
 {
     return(new Doacao
     {
         DataDoacao = dataHoje,
         Doador = doador,
         Triador = triador,
         TriagemClinica = triagemClinica,
         TriagemLaboratorial = triagemLaboratorial,
         StatusDoacao = GetStatusDoacao(triagemClinica, impedimentosDefinitivos),
         ImpedimentosTemporarios = impedimentosTemporarios,
         ImpedimentosDefinitivos = impedimentosDefinitivos
     });
 }
Exemple #7
0
        private ImpedimentosDefinitivos AtualizarImpedimentosDefinitivos(Doacao doacao, TriagemLaboratorial triagemLaboratorial)
        {
            ImpedimentosDefinitivos impedimentosDefinitivos = doacao.ImpedimentosDefinitivos;

            impedimentosDefinitivos.AntecedenteAvc = doacao.ImpedimentosDefinitivos.AntecedenteAvc;
            impedimentosDefinitivos.HepatiteB      = triagemLaboratorial.HepatiteB;
            impedimentosDefinitivos.HepatiteC      = triagemLaboratorial.HepatiteC;
            impedimentosDefinitivos.Hiv            = triagemLaboratorial.Hiv;

            return(impedimentosDefinitivos);
        }