Пример #1
0
        private StatusDoacao GetStatusDoacao(TriagemClinica triagemClinica, ImpedimentosDefinitivos impedimentosDefinitivos)
        {
            if (triagemClinica.StatusTriagem == StatusTriagem.Aprovado &&
                impedimentosDefinitivos.AntecedenteAvc == false)
            {
                return(StatusDoacao.AguardandoAtendimento);
            }

            return(StatusDoacao.NaoDisponivel);
        }
Пример #2
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
     });
 }
Пример #3
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));
        }