Exemplo n.º 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());
        }
Exemplo n.º 2
0
        public IActionResult Perfil(int?id)
        {
            Doador resultadoDaBusca = _doadorDAO.BuscarDoadorPorId(id);

            ViewBag.diasDesdeAUltimaDoacao = null;

            if (resultadoDaBusca.Doacoes == null)
            {
                resultadoDaBusca.Doacoes = new List <Doacao>();
            }

            if (resultadoDaBusca.UltimaDoacao != default(DateTime))
            {
                ViewBag.diasDesdeAUltimaDoacao = (int)DateTime.Now.Subtract(resultadoDaBusca.UltimaDoacao).TotalDays;
            }

            ViewBag.doacoes = resultadoDaBusca.Doacoes;
            return(View(resultadoDaBusca));
        }
Exemplo n.º 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));
        }